1

我有两个不同的 XML/A 提供程序,Mondrian 和 icCube。时间维度的元组包含成员的唯一名称,但成员名称的格式不同:

蒙德里安:

<UName>[Time].[2004].[QTR2].[Apr]</UName>
<Caption>Apr</Caption>
  • [Time] 是层次结构的名称
  • [2004] 是年份级别的祖先的名称
  • [QTR2] 是 Quarter 级别的祖先的名称
  • [Apr] 是月级别成员的本地名称

冰立方:

<UName>[Time].[Calendar].[Month].&amp;[Jun 2010]</UName>
<Caption>Jun 2010</Caption>
  • [时间] 是维度的名称
  • [Calendar] 是层次结构的名称
  • [月] 是关卡的名称
  • [Jun 2010] 是月份成员的名称。

(我不知道为什么有符号)

我的问题是,是否有任何推荐的、最好是标准的方法来确定成员名称的格式?

我想知道这一点的原因是当我在数据透视表中呈现结果时,成员的标题通常最终会作为数据透视表标题上的标签。但是由于标题可能不是唯一的,因此还需要生成“祖先”成员的标签,因为它们一起确实唯一地标识了该成员。

在我的示例中,我可以使用成员唯一名称的部分来执行此操作,但在 ic cube 中不是,因为成员 u 名称的结构不同。

我有两个问题:

1) 我如何事先知道 XML/A 提供者将使用什么格式来识别成员?

2)在 ic cube 中为祖先成员生成标签的推荐方式是什么?

更新:

Luc Boudreau 告诉我,& 符号表示“键符号”——它指定成员键而不是其名称。谢谢卢克!

4

1 回答 1

4

MDX 中唯一名称的含义是一个字符串,它保证在解析时定义一个唯一的 MDX 实体。不可能与另一个 MDX 实体发生冲突。编写它的方式取决于 XMLA 提供程序。尽管它是“独特的”,但创建它的方式有多种,但每个服务器都会选择它的方式。

没关系,在一个服务器中编写的查询将在另一个服务器中工作,因为两个“唯一”名称都被正确解析。

& 代表 &

我们的建议是,客户端代码不应依赖于唯一名称的格式。

话虽如此,如果您需要父“名称”,您应该使用“父”函数和/或作为检索名称/标题属性的计算度量来显式检索它们。

希望有帮助。

于 2015-03-15T23:20:17.827 回答