Mdx 通过从现有度量值中筛选出集来创建度量值
我正在尝试实现以下内容:Mdx 通过从现有度量值中筛选出集来创建度量值,mdx,measure,Mdx,Measure,我正在尝试实现以下内容: WITH MEMBER Measures.Test2 AS Sum ( { [Date].[Calendar].[Calendar Year].&[2006] ,[Date].[Calendar].[Calendar Year].&[2007] } ,[Measures].[Internet Sales Amount] ) SELECT Measures.Test2 ON COLUMNS FROM [Adventure Wo
WITH MEMBER Measures.Test2 AS
Sum
(
{
[Date].[Calendar].[Calendar Year].&[2006]
,[Date].[Calendar].[Calendar Year].&[2007]
}
,[Measures].[Internet Sales Amount]
)
SELECT Measures.Test2 ON COLUMNS
FROM [Adventure Works];
但是我希望新的度量Test2能够根据日历年维度进行切片。所以我想要像这样的东西
SELECT {Measures.Test2} ON 0,
{[Date].[Calendar].[Calendar Year].[Calendar Year].MEMBERS} ON 1
FROM [Adventure Works];
这使得2006年和2007年的价值相同
本质上,我想通过获取现有度量值的子集,然后将其用于进一步计算来创建成员此脚本无效
mdx
:
SELECT (Measures.Test2,[Date].[Calendar].[Calendar Year].[Calendar Year] ON COLUMNS
FROM [Adventure Works];
测量前有一个(
。此外,看起来您将要在列上添加一个不允许的
元组。在行和列上只允许使用集合:
SELECT
{Measures.Test2} ON 0,
{[Date].[Calendar].[Calendar Year].[Calendar Year].MEMBERS} ON 1
FROM [Adventure Works];
请尝试以下操作:
WITH
MEMBER Measures.Test2 AS
Sum
(
Intersect
(
{[Date].[Calendar].CurrentMember}
,{
[Date].[Calendar].[Calendar Year].&[2006]
,[Date].[Calendar].[Calendar Year].&[2007]
}
)
,[Measures].[Internet Sales Amount]
)
SELECT
[Measures].test2 ON COLUMNS
,{[Date].[Calendar].[Calendar Year].MEMBERS} ON ROWS
FROM [Adventure Works];
上面返回的是:
或者,您可能只需要一个子选择
:
SELECT
[Measures].[Internet Sales Amount] ON COLUMNS
,{[Date].[Calendar].[Calendar Year].MEMBERS} ON ROWS
FROM
(
SELECT
{
[Date].[Calendar].[Calendar Year].&[2006]
,[Date].[Calendar].[Calendar Year].&[2007]
} ON 0
FROM [Adventure Works]
);
您好,谢谢您的回复。我已经编辑了查询。我运行了u提供的查询,我得到的所有年份的值都相同。我希望这样我也可以单独查看这些年份的数据。因此,我希望除2006年和2007年外的所有年份的数据都为0,并且2006年和2007年也应该有其唯一的值。@Shashank我添加了一个可能的修正谢谢这正是我要找的。