gpt4 book ai didi

SSAS - 在行上显示度量

转载 作者:行者123 更新时间:2023-12-04 02:44:21 24 4
gpt4 key购买 nike

总的来说,我对 MDX 和 SSAS 非常陌生。我正在尝试以漂亮的表格形式获取所有度量和日期。所以像这样:

╔═════════╦══════╦═══════╗
║ Measure ║ Date ║ Value ║
╠═════════╬══════╬═══════╣
║ Meas1 ║ D1 ║ 3 ║
║ Meas1 ║ D2 ║ 8 ║
║ Meas1 ║ D3 ║ 9 ║
║ Meas2 ║ D1 ║ 7 ║
║ Meas2 ║ D2 ║ 4 ║
╚══...════╩═══..═╩═══...═╝

我想在行轴上做一个交叉连接,但不确定在列轴上放什么。

有什么建议吗?

最佳答案

您可以将您不使用的任何层次结构的默认成员放在列轴上。如果你的立方体中有 e。 G。层次结构 [Geography].[City],它具有默认成员 [Geography].[City].&[All],您的查询可能如下所示:

SELECT [Geography].[City].&[All]
ON COLUMNS,
{ [Measures].[Meas1], [Measures].[Meas2] }
*
{ [Date].[Month].[D1], [Date].[Month].[D2], [Date].[Month].[D3] }
ON ROWS
FROM [YourCube]

实际上,问题在于 MDX 中的轴必须按正确的顺序排列,如果没有包含之前的所有轴,则可能没有轴在查询中。由于列轴是第二个(编号为 1,因为列轴的编号从 0 开始),列轴必须在那里。所以问题是您必须将一个非空集放入列轴中。由于总是有一个隐式切片器轴包含查询中未提及的所有层次结构的默认成员(通常是 All 成员),因此该解决方案的想法是将其中的任意移动到列轴使其成为一个非空集而不改变结果——如果你使用 e 就会发生这种情况。 G。 [Geography].[City].Members,因为那时值会按城市分割显示。

如果您想将度量和日期放入列轴,这会容易得多,因为这是第一个轴。那么查询可能只是:

SELECT { [Measures].[Meas1], [Measures].[Meas2] }
*
{ [Date].[Month].[D1], [Date].[Month].[D2], [Date].[Month].[D3] }
ON COLUMNS
FROM [YourCube]

如果您不需要这些值,您可以像这样在列上使用空集:

SELECT {}
ON COLUMNS,
{ [Measures].[Meas1], [Measures].[Meas2] }
*
{ [Date].[Month].[D1], [Date].[Month].[D2], [Date].[Month].[D3] }
ON ROWS
FROM [YourCube]

但是这样一来,您将只有行标题,而列中也没有值列。

请注意,根据 MDX 的概念,查询可以有零个、一个、两个、三个或更多个轴。只是包括 SSMS 在内的大多数客户端工具都难以显示具有两个以上轴的结果集。但这是客户端工具的限制,不是MDX的限制。

关于SSAS - 在行上显示度量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19161390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com