在 MDX 表达式中按名称而不是 ID 引用成员
Reference a Member by Name instead of ID, in MDX expression
在谷歌搜索失败后,我决定提出并回答这个问题。对于像我这样的一些 SQL DBA 来说,处理 MDX 不是日常工作,而是更多 "once in a while" 的事情。所以当一个看似简单的问题出现时,有一个简单的答案是很好的。
"How do I reference a Member by its Name (instead of its ID or identifier), in an MDX query?"在 STRTOMEMBER 或 STRTOSET 函数中,或在 WHERE 子句行(切片器)中((不要与 SQL WHERE 子句混淆!))
示例--
维度层次结构:[Family Hierarchy]
所述层次结构中的维度,从上到下:Parent
、Child
每个维度的成员包括(ID,"Name"):
Parent
成员:
- 1, "Mom"
- 2,"Pop"
Child
成员:
- 3, "Bro"
- 4,"Sis"
要切入 Child
成员 "Bro",我会在我的 WHERE 子句中使用以下表达式:
[Family Hierarchy].[Child].&[3]
但我不希望我的报告层 know/care 关于该 ID 是什么。我想使用 name"Bro"。我该怎么做?
只需从表达式的最后一个元素中删除与号并使用名称:
[Family Hierarchy].[Child].[Bro]
或者在STRTOMEMBER
用法中,STRTOMEMBER('[Family Hierarchy].[Child].[Bro]')
在谷歌搜索失败后,我决定提出并回答这个问题。对于像我这样的一些 SQL DBA 来说,处理 MDX 不是日常工作,而是更多 "once in a while" 的事情。所以当一个看似简单的问题出现时,有一个简单的答案是很好的。
"How do I reference a Member by its Name (instead of its ID or identifier), in an MDX query?"在 STRTOMEMBER 或 STRTOSET 函数中,或在 WHERE 子句行(切片器)中((不要与 SQL WHERE 子句混淆!))
示例--
维度层次结构:[Family Hierarchy]
所述层次结构中的维度,从上到下:Parent
、Child
每个维度的成员包括(ID,"Name"):
Parent
成员:- 1, "Mom"
- 2,"Pop"
Child
成员:- 3, "Bro"
- 4,"Sis"
要切入 Child
成员 "Bro",我会在我的 WHERE 子句中使用以下表达式:
[Family Hierarchy].[Child].&[3]
但我不希望我的报告层 know/care 关于该 ID 是什么。我想使用 name"Bro"。我该怎么做?
只需从表达式的最后一个元素中删除与号并使用名称:
[Family Hierarchy].[Child].[Bro]
或者在STRTOMEMBER
用法中,STRTOMEMBER('[Family Hierarchy].[Child].[Bro]')