1

MDX クエリを使用して、上位レベル (リーフ レベルではない) でデータセットを取得しようとしました。しかし、結果は正しくありません。たとえば、Microsoft Adventure Works DW 2008R2 データベースに基づいています。これらの2つの次元からデータを取得したい:

[Customer].[Education].[All Customers]
[Geography].[Country].[All Geographies]

Internet Sales Amount メジャーを使用します。私が使用する MDX クエリは次のとおりです。

select {[Measures].[Internet Sales Amount]} on axis(0), ({[Customer].[Education].[All Customers]}) on axis(1) ,({[Geography].[Country].[All Geographies]}) on axis(2) from [Adventure Works]

結果は 29358677 です。

しかし、2 つのディメンションの両方の子ノードを合計すると、結果は次のようになります。 ここに画像の説明を入力

結果は 176152062 です。MDX クエリの問題は何ですか?

4

1 に答える 1

2

私はあなたとは異なる数値を取得します: あなたのクエリは 3 次元の結果を返しますが、ほとんどのクライアント ツールは 2 次元までしか処理できません。列にはメンバー (メジャー) が 1 つしかないInternet Sales Amountため、それをスライダー軸に、行軸を列に、ページ軸を行にシフトして、変更されたクエリを実行できるようにしました。

select ({[Customer].[Education].[All Customers]}) on axis(0) ,
       ({[Geography].[Country].[All Geographies]}) on axis(1)
 from [Adventure Works]
where [Measures].[Internet Sales Amount]

SSMS で、結果は $29,358,677.22 です。これは、2 番目のテーブルの各列の合計です。これらの各列の結果は同じです。GeographyディメンションはInternet Salesメジャー グループに関連付けられていないため、これは当然のことです。したがって、Internet Sales Amountこのディメンションの各メンバーに対して同じ値が繰り返されます。Internet SalesAdventureWorks で地理的内訳を使用する場合は、Customerディメンションの場所フォルダーにある階層を使用する必要があります。

于 2013-08-22T07:06:53.400 に答える