我有两个不同的XML / A提供程序,Mondrian和icCube。时间维度的元组包含成员的唯一名称,但成员名称的格式不同:
蒙德里安:
<UName>[Time].[2004].[QTR2].[Apr]</UName>
<Caption>Apr</Caption>
icCube:
<UName>[Time].[Calendar].[Month].&[Jun 2010]</UName>
<Caption>Jun 2010</Caption>
(我不知道为什么&符号在那里)
我的问题是,是否有任何推荐的,最好是标准的方法来弄清楚成员名称的格式化方式?
我想知道这一点的原因是当我在数据透视表中呈现结果时,成员的标题通常最终会作为数据透视表标题的标签。但由于字幕可能不是唯一的,因此还希望产生“祖先”成员的标签,因为它们一起确实唯一地识别该成员。
在我的例子中,我可以使用成员唯一名称的部分来执行此操作,但是在ic cube中没有,因为成员u名称的结构不同。
我有两个问题:
1)我如何预先告知XML / A提供商将使用哪种格式来识别成员?
2)ic cube中为祖先成员制作标签的推荐方法是什么?
更新:
Luc Boudreau告诉我,&符号表示“关键符号” - 它指定成员键而不是其名称。谢谢吕克!答案 0 :(得分:4)
MDX中唯一名称的含义是一个字符串,可以保证在解析时定义唯一的MDX实体。没有可能与另一个MDX实体发生冲突。编写它的方式取决于XMLA提供程序。即使它是独一无二的&#39;创建它的方法有多种,每个服务器选择它的方式。
没关系,在一台服务器上编写的查询将在另一台服务器中运行,因为这两种服务器都是唯一的&#39;名称被正确解析。
&安培;放大器;代表&amp;
我们建议,客户端代码不应该依赖于唯一名称的格式。
话虽如此,如果您需要父母&#34;名称&#34;,您应该使用&#34; Parent&#34;明确地检索它们。函数和/或作为检索名称/标题属性的计算度量。
希望有所帮助。