在MDX表达式

时间:2018-02-10 00:48:58

标签: ssas mdx

在一些不成功的谷歌搜索后,我决定询问&回答这个问题。对于像我这样的SQL DBA来说,处理MDX不是日常工作,而是更多的“偶尔”事情。因此,当一个看似简单的问题出现时,有一个简单的答案是很好的。

“如何在MDX查询中通过其名称(而不是ID或标识符)引用成员?”例如。在STRTOMEMBER或STRTOSET函数中,或在WHERE子句行(切片器)中((不要与SQL WHERE子句混淆!)

实施例 -

维度层次结构:[Family Hierarchy]

所述层次结构中的维度,从上到下:ParentChild

每个维度的成员包括(ID,“姓名”):

  1. Parent成员:

    • 1,“妈妈”
    • 2,“Pop”
  2. Child成员:

    • 3,“Bro”
    • 4,“Sis”
  3. 要对Child成员“Bro”进行切片,我会在WHERE子句中使用以下表达式:

    [Family Hierarchy].[Child].&[3]

    但我不希望我的报告层知道/关心该ID是什么。我想使用名称“Bro”。我该怎么做?

1 个答案:

答案 0 :(得分:2)

只需从表达式的最后一个元素中删除&符号,然后使用名称:

[Family Hierarchy].[Child].[Bro]

STRTOMEMBER使用,STRTOMEMBER('[Family Hierarchy].[Child].[Bro]')