1

Mondrian と icCube という 2 つの異なる XML/A プロバイダーがあります。時間ディメンションのタプルには、メンバーの一意の名前が含まれていますが、メンバー名の形式は異なります。

モンドリアン:

<UName>[Time].[2004].[QTR2].[Apr]</UName>
<Caption>Apr</Caption>
  • [時間] は階層の名前です
  • [2004] は年レベルでの祖先の名前です
  • [QTR2] は四半期レベルの先祖の名前です
  • [Apr] は、月レベルでのメンバーのローカル名です

icCube:

<UName>[Time].[Calendar].[Month].&amp;[Jun 2010]</UName>
<Caption>Jun 2010</Caption>
  • [時間] は次元の名前です
  • [Calendar] は階層の名前です
  • [月] はレベルの名前です
  • [2010 年 6 月] は、月のメンバーの名前です。

(なぜアンパサンドがあるのか​​わかりません)

私の質問は、メンバー名がどのようにフォーマットされているかを把握するための推奨される、できれば標準的な方法はありますか?

これを知りたい理由は、結果をピボット テーブルに表示するときです。メンバーのキャプションは通常、ピボット テーブルのヘッダーのラベルになります。ただし、キャプションは一意ではない可能性があるため、「祖先」メンバーのラベルも作成することが望ましいです。これは、一緒にメンバーを一意に識別するためです。

私の例では、メンバーの一意の名前の一部を使用してこれを行うことができますが、メンバー u の名前の構造が異なるため、ic キューブでは使用できません。

2 つの質問があります。

1) XML/A プロバイダーがメンバーの識別に使用する形式を事前に知るにはどうすればよいですか?

2) ic キューブで祖先メンバーのラベルを生成するための推奨される方法は何ですか?

アップデート:

Luc Boudreau は、アンパサンドは「キー表記法」を示していると教えてくれました。これは、名前ではなくメンバー キーを示します。ありがとうリュック!

4

1 に答える 1

4

MDX での一意の名前の意味は、解析時に一意の MDX エンティティを定義することを保証する文字列です。別の MDX エンティティと衝突する可能性はありません。記述方法は XMLA プロバイダに依存します。それは「ユニーク」ですが、それを作成する方法は複数あり、各サーバーがその方法を選択します。

どちらの「一意の」名前も正しく解析されるため、あるサーバーで作成されたクエリは別のサーバーでも機能します。

&アンプ; を意味する &

クライアント コードは一意の名前の形式に依存しないようにすることをお勧めします。

そうは言っても、親の「名前」が必要な場合は、「親」関数を使用して明示的に取得するか、名前/キャプション プロパティを取得する計算されたメジャーとして取得する必要があります。

それが役立つことを願っています。

于 2015-03-15T23:20:17.827 に答える