我要求在多列中显示来自相同维度的数据。例如。我想明智地显示数据年份和月份。在我的维度结构中,Year和Month属于同一层次结构。当我在查询下运行时,我得到错误。 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)在Crossjoin函数中多次使用层次结构层次结构。我是MDX查询的新手。请帮忙。提前谢谢。
答案 0 :(得分:1)
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]
而不是CROSSJOIN
如上所述。在集合中,您可以放置来自相同层次结构的成员
答案 1 :(得分:0)
我喜欢Sourav的答案 - 但它会将结果放在一列,与问题略有不同。
在AdvWorks
中,这是一栏:
SELECT
[State-Province].MEMBERS ON COLUMNS
,{
[Date].[Calendar].[Calendar Year].MEMBERS
,[Date].[Calendar].[Month].MEMBERS
} ON ROWS
FROM [Adventure Works];
可以切换到两列并使用交叉连接,但您需要找出日期维度Attribute
层次结构的详细信息(而不是User
层次结构):
SELECT
[State-Province].MEMBERS ON COLUMNS
,
[Calendar Year].[All Periods].Children
* [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];