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我添加了一个可能的修正谢谢这正是我要找的。