在一些不成功的谷歌搜索后,我决定询问&回答这个问题。对于像我这样的SQL DBA来说,处理MDX不是日常工作,而是更多的“偶尔”事情。因此,当一个看似简单的问题出现时,有一个简单的答案是很好的。
“如何在MDX查询中通过其名称(而不是ID或标识符)引用成员?”例如。在STRTOMEMBER或STRTOSET函数中,或在WHERE子句行(切片器)中((不要与SQL WHERE子句混淆!)
实施例 -
维度层次结构:[Family Hierarchy]
所述层次结构中的维度,从上到下:Parent
,Child
每个维度的成员包括(ID,“姓名”):
Parent
成员:
Child
成员:
要对Child
成员“Bro”进行切片,我会在WHERE子句中使用以下表达式:
[Family Hierarchy].[Child].&[3]
但我不希望我的报告层知道/关心该ID是什么。我想使用名称“Bro”。我该怎么做?
答案 0 :(得分:2)
只需从表达式的最后一个元素中删除&符号,然后使用名称:
[Family Hierarchy].[Child].[Bro]
或STRTOMEMBER
使用,STRTOMEMBER('[Family Hierarchy].[Child].[Bro]')