0

メジャーQといくつかのディメンションD、Fを持つキューブVがあります。ディメンションDIには、いくつかの共通メンバーを共有する2つの階層が必要です(2つの階層はAとTであり、共通メンバーはMと私):

-D
   -A
       +A
       +M
       +I
   -T
       +T
       +M
       +I

AとTのいずれかにアクセスするためのMDXクエリを作成しようとして成功しませんでした。

select {[Measures].[Q]} ON COLUMNS,
  {([F], [D].[A]} ON ROWS
from [V]

しかし、Mondrianを使用しているJPivotから、次のようなエラーが発生します。

モンドリアンエラー:MDXオブジェクト'[D]。[A]'がキューブ'V'に見つかりません。だから私はどちらにもアクセスできません。

これはMDXでの私の最初の試みであるため、キューブの構築または言語の理解から何かを見逃した可能性があることを認識しています。

4

1 に答える 1

2

通常、そのエラーは、参照しているメンバーがディメンションに存在しない場合に返されます。特定の階層(デフォルトを除く)を参照するための正しい構文はです[Dimension.Hierarchy]ので、これを試してください

select {[Measures].[Q]} ON COLUMNS,
  {([F], [D.A])} ON ROWS
from [V]

A階層にAllメンバーがあるとすると、それは機能するはずです。

編集:モンドリアンではこれを行うことができないと思いましたが、試してみると、次のことができることがわかりました。2つの階層のメンバーを相互結合してみてください。

SELECT NON EMPTY {[Measures].[Q]} ON COLUMNS,
  NON EMPTY CROSSJOIN([D.A].[Year].Members, [D.T].[Type].Members) ON ROWS
FROM [V]

NON EMPTY関数は、値を持たないA階層とT階層の組み合わせが出力に表示されないようにします。念のために言っておきますが、これでは、YearからTypeにドリルダウンすることはできず、並べて表示されます。

于 2012-11-28T07:14:35.483 に答える