ユーザー定義の階層があります。
A > B
ディメンション キーは、A と B の合成キーです。
キューブを参照して階層をフィルターとして使用すると、機能しません (メジャーに何も表示されません)。
しかし、階層を行フィールドとして使用すると、うまく機能し、階層メンバーがうまく表示されます。
何か案は?
.
SSMS および SSRS クエリ エディターの GUI キューブ ブラウザーは、MDX クエリを作成します。先に進むには、MDX の基礎を学び始める必要があります。
X 軸にディメンションを配置し、いくつかの項目のチェックを外した場合、生成された MDX はそれらの項目を Select 句にリストするだけです。
select
{[Measures].[Measure1]} on 0,
{[A].&[ID1], [A].&[ID2], [A].&[ID3]} on 1
From mycube
グリッドのすぐ上のフィルター領域にディメンションを配置すると、フィルターが WHERE 句に追加されるため、ディメンション メンバーは表示されませんが、メジャーは表示されます。結果を得るには、X 軸または Y 軸に何かを追加する必要があります。
select
From mycube
Where {[A].&[ID1], [A].&[ID2], [A].&[ID3]}
ついに。ウィンドウの上部にあるフィルター フィールドを使用すると、自動生成された MDX によってサブキューブが作成されます。繰り返しますが、何かを測定するために、少なくとも 1 つの軸に表示するものを指定する必要があります。
Select
From
( Select {[A].&[ID1], [A].&[ID2], [A].&[ID3]} on 0 From mycube)
それが何であるかを発見しました。
ディメンションは、メジャーが作成されるテーブルよりも多くのメンバーを持つ別のテーブルから作成されます。(メジャー メンバーよりも約 50% 多いディメンション メンバー)
そのため、ディメンションをフィルターとして使用すると多くの空の行が表示され、設計どおりに機能します。すべてのメジャー キーがディメンション内にあるため、キューブの処理時に失敗することはありません。