MDX查询-从相同维度选择列

MDX查询-从相同维度选择列,mdx,Mdx,我需要在多个列中显示来自同一维度的数据。例如,我想按年份和月份显示数据。在我的维度结构中,年和月属于同一层次结构。当我在下面运行查询时,我得到一个错误。PFB查询 Select NON EMPTY {[Measures].[Target Actual Value]} ON 0, NON EMPTY {[Realization Date].[Hierarchy].[Year Name].Members * [Realization Date].[Hierarchy].[Month Year]} O

我需要在多个列中显示来自同一维度的数据。例如,我想按年份和月份显示数据。在我的维度结构中,年和月属于同一层次结构。当我在下面运行查询时,我得到一个错误。PFB查询

Select NON EMPTY {[Measures].[Target Actual Value]} ON 0,
NON EMPTY {[Realization Date].[Hierarchy].[Year Name].Members *
[Realization Date].[Hierarchy].[Month Year]} ON 1
From [Cube_BCG_OLAP]
我得到的错误是查询(2,12),层次结构在交叉连接函数中被多次使用。我不熟悉MDX查询。请在这方面提供帮助。提前谢谢

Select NON EMPTY {[Measures].[Target Actual Value]} ON 0,
NON EMPTY {[Realization Date].[Hierarchy].[Year Name].Members , 
[Realization Date].[Hierarchy].[Month Year]} ON 1
From [Cube_BCG_OLAP]

使用如上设置,而不是交叉连接。在一个集合中,您可以将来自同一层次结构的成员放入

我喜欢苏拉夫的答案,但它会将结果放在一列中,这与问题略有不同

AdvWorks
中,这是一列:

SELECT 
  [State-Province].MEMBERS ON COLUMNS
 ,{
    [Date].[Calendar].[Calendar Year].MEMBERS
   ,[Date].[Calendar].[Month].MEMBERS
  } ON ROWS
FROM [Adventure Works];
可以切换到两列并使用交叉联接,但您需要了解日期维度
属性
层次结构的详细信息(与
用户
层次结构相反):

在您的多维数据集中,可能是这样的:

SELECT 
  NON EMPTY 
    {[Measures].[Target Actual Value]} ON 0
 ,NON EMPTY 
    [Year Name].MEMBERS 
  * 
    [Month Year].MEMBERS ON 1
FROM [Cube_BCG_OLAP];

…很高兴你回来了-没有你在这里一直很无聊!我受宠若惊!被忽略感觉很好:)在所有实际情况下,我从来没有遇到过这样一种情况,即多个或单个列/行的结果如此重要(我们使用SSR)。此外,这会增加查询的执行时间,这可能不是一件好事。你说呢?@Sourav_Agasti true-尽管我过去很少想要多个列,使用属性层次结构一直是我解决这个问题的方法。这只是另一种方法。有时,如果维度内的家庭关系对我回答的特定问题不重要,我非常喜欢使用属性层次结构。我的答案或苏拉夫的答案有帮助吗?还是你找到了替代方案?
SELECT 
  NON EMPTY 
    {[Measures].[Target Actual Value]} ON 0
 ,NON EMPTY 
    [Year Name].MEMBERS 
  * 
    [Month Year].MEMBERS ON 1
FROM [Cube_BCG_OLAP];