数据透视表中使用的 SSAS 中的新命名集 - MDX
Posted
技术标签:
【中文标题】数据透视表中使用的 SSAS 中的新命名集 - MDX【英文标题】:New Named Set in SSAS used in Pivot Table - MDX 【发布时间】:2015-09-10 15:12:43 【问题描述】:我创建了一个名为DB III o. PE
的New Named Set
,定义为DB III
、Umlage HL
、Umlage NV
、Umlage UL
。
当我在数据透视表或 MDX 中使用这个新集合时,我看到的是这个集合的内容,而不是他的名字DB III o. PE
。
有没有可能看到给定的名字而不是他的内容?
附上例子:
集合是这样创建的:
更新:
我还创建了一个名为 [Amount Standard Set] 的度量,因为在 Set 之前,我首先需要将 Umlage HL
、Umlage NV
、Umlage UL
的数量乘以 -1。
度量定义为:
case
when [Kostenart Hierarchy].[Kostenart Hierarchy].currentmember= [Kostenart Hierarchy].[Kostenart Hierarchy].&[148]
then -1* [Measures].Amount
when [Kostenart Hierarchy].[Kostenart Hierarchy].currentmember= [Kostenart Hierarchy].[Kostenart Hierarchy].&[147]
then -1* [Measures].Amount
when [Kostenart Hierarchy].[Kostenart Hierarchy].currentmember= [Kostenart Hierarchy].[Kostenart Hierarchy].&[150]
then -1* [Measures].Amount
else Amount
end
【问题讨论】:
您的多维数据集脚本中是否定义了这个新度量?换句话说 - 如果你没有使用 xl-2013,你在哪里写了这个度量? @whytheq 我在 SSAS 中直接在 Cube 中创建了一个计算成员 好的 - 好吧,我绝对不会使用运算符=
而是将其更改为 IS
【参考方案1】:
我认为它的行为应该如此。一个集合是几个不同的成员。
您需要一个自定义成员,该成员是您的集合的合并。
创建一个名为DB III o. PE Agg
的自定义成员并将其定义为类似于以下mdx
:
`Aggregate([DB III o. PE])`
这是使用Aggregate
函数:https://msdn.microsoft.com/en-us/library/ms145524.aspx
在集合 DB III, Umlage HL, Umlage NV, Umlage UL 的元素所在的维度中创建此自定义成员。
如果您使用 Excel 2013,您应该在 OLAP 工具菜单“MDX 计算成员..”中有一个选项。
【讨论】:
非常感谢。有效。我在 MDX 中进行了测试,并且已经在 SSAS 中实现了。 对于集合的成员:Umlage HL、Umlage NV、Umlage UL 我需要先将值乘以 -1,然后再聚合集合。有没有办法在创建的自定义成员中处理这个问题? @PirvuGeorgian 这更像是一种自定义措施。你用的是哪个xl?在最近的版本中,可以选择添加自定义度量。 我正在使用 Excel 2010... 我认为此选项适用于 Excel 2013 我创建了一个基于 case when 语句的新度量,其中我只为那些成员将 Amount 与 -1 相乘,并且我在数据透视表中仅将这个新度量与 Set 一起使用。我想这也是你的主意……以上是关于数据透视表中使用的 SSAS 中的新命名集 - MDX的主要内容,如果未能解决你的问题,请参考以下文章
在 Excel 数据透视表“更多字段”中显示 SSAS 维度属性