Ssas 维度成员的条件分组
我正在努力对查询中的一些成员进行条件分组 在我的简化示例中,我有两个维度和一个度量。第一个维度包含一些类别,第二个维度包含一些单位。在除一个类别外的所有类别中,所有类别都有一个单元(示例中的类别a和B)。但是,一个类别有多个单位。如果我把两个维度都放在行上,我会得到类别C的多个结果(如下例所示)。我真正需要的是为每个类别获得一行,适当地聚合数量,但也要使用显示的单位(对于类别C,应将它们替换为单个“无”,或者在不可能的情况下连接在一起(示例中为“km,kg”) 下面的例子应该说明我试图实现的目标 使用以下查询:Ssas 维度成员的条件分组,ssas,mdx,Ssas,Mdx,我正在努力对查询中的一些成员进行条件分组 在我的简化示例中,我有两个维度和一个度量。第一个维度包含一些类别,第二个维度包含一些单位。在除一个类别外的所有类别中,所有类别都有一个单元(示例中的类别a和B)。但是,一个类别有多个单位。如果我把两个维度都放在行上,我会得到类别C的多个结果(如下例所示)。我真正需要的是为每个类别获得一行,适当地聚合数量,但也要使用显示的单位(对于类别C,应将它们替换为单个“无”,或者在不可能的情况下连接在一起(示例中为“km,kg”) 下面的例子应该说明我试图实现的目标
SELECT
NON EMPTY { [Measures].[Amount] } ON COLUMNS,
NON EMPTY { ([Grouping A].[Category].[Category].ALLMEMBERS *
[Grouping B].[Unit].[Unit].ALLMEMBERS ) } ON ROWS
FROM [ExampleCube]
我得到的数据如下:
Category Unit Amount
A km 10
B km 5
C km 5
C kg 2
C km 5
但我真正需要实现的是对维度类别进行分组,并按如下方式适当地处理维度单位和度量数量:
Category Unit Amount
A km 10
B km 5
C none 12
也许这真的很简单,但我一直试图解决这个问题,但没有结果
任何想法都将不胜感激
谢谢。这并不简单。OLAP并不是为这类事情而设计的。 尽管如此,您可以通过以下方式解决此问题:
With
[Measures].[Unit] as
IIF(
NonEmpty(
[Grouping B].[Unit].[Unit].Members,
[Measures].[Amount]
).Count > 1,
"None",
NonEmpty(
[Grouping B].[Unit].[Unit].Members,
[Measures].[Amount]
).Item(0).Name
)
Select
Non Empty { [Measures].[Unit],[Measures].[Amount] } on 0,
Non Empty { [Grouping A].[Category].[Category].Members } on 1
From [ExampleCube]
(已升级)分组B是否需要
现有才能掌握上下文?使用分组B没有意义。如何一次显示“无”?