我是 MDX 查询的新手。我正在编写一个 MDX 查询来选择跨月的度量值,我将日期范围作为过滤器放在这里只是为了限制返回的月数。例如,我想要在 2014 年 1 月 1 日到 2014 年 6 月 30 日的日期范围内每个月的销售收入。理想情况下,它应该给我六个月的销售价值,即一月、二月、三月、四月、五月和六月。但是,当我写下面的查询时,出现错误。PFB 在下面输入代码here`ow 查询。
Select NON EMPTY {[Measures].[Target Plan Value]} ON COLUMNS,
NON EMPTY {[Realization Date].[Hierarchy].[Month Year].Members} ON ROWS
From [Cube_BCG_OLAP]
( { [Realization Date].[Hierarchy].[Date].&[20140101] :
[Realization Date].[Hierarchy].[Date].&[20141231] })
Run Code Online (Sandbox Code Playgroud)
我得到的错误是Hierarchy层次结构已经出现在Axis1轴中。这里 Date 和 Month Year 属于同一个名为 的维度表Realization Date。请帮我。提前致谢。
您错过了该WHERE条款,但我想这是一个错字。正如您的错误消息所说,您不能在两个或多个轴上拥有相同层次结构的成员。在这种情况下,您可以使用如下内容,在 MDX 术语中称为Subselect.
Select NON EMPTY {[Measures].[Target Plan Value]} ON COLUMNS,
NON EMPTY {[Realization Date].[Hierarchy].[Month Year].Members} ON ROWS
From (
SELECT
[Realization Date].[Hierarchy].[Date].&[20140101] :
[Realization Date].[Hierarchy].[Date].&[20141231] ON COLUMNS
FROM [Cube_BCG_OLAP]
)
Run Code Online (Sandbox Code Playgroud)