数据透视表中使用的 SSAS 中的新命名集 - MDX

Posted

技术标签:

【中文标题】数据透视表中使用的 SSAS 中的新命名集 - MDX【英文标题】:New Named Set in SSAS used in Pivot Table - MDX 【发布时间】:2015-09-10 15:12:43 【问题描述】:

我创建了一个名为DB III o. PENew Named Set,定义为DB IIIUmlage HLUmlage NVUmlage UL。 当我在数据透视表或 MDX 中使用这个新集合时,我看到的是这个集合的内容,而不是他的名字DB III o. PE。 有没有可能看到给定的名字而不是他的内容?

附上例子:

集合是这样创建的:

更新: 我还创建了一个名为 [Amount Standard Set] 的度量,因为在 Set 之前,我首先需要将 Umlage HLUmlage NVUmlage 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的主要内容,如果未能解决你的问题,请参考以下文章

SSAS Cube excel 数据透视表向下钻取

SSAS 多维数据集 Excel 数据透视表隐藏字段

在 Excel 数据透视表“更多字段”中显示 SSAS 维度属性

SSAS 维度属性在多维数据集浏览器 (BIDS) 中不可见

无日期维度中的 SSAS 日期字段

Excel 中的 SSAS 过滤器测量