1

AS 2008 には、次のように機能する 2 つのキューブ ソリューションがあります。すべてのクライアントのウィジェット データを含む業界キューブと、ウィジェット データを含み、業界といくつかの (すべてではない) ディメンションを共有するクライアント キューブです。Industry キューブには、呼び出し元のクライアントを含むすべての人が含まれているため、クライアントが Industry メジャーをプルしている場合、結果に他のすべての人が含まれるようにする必要があります。クライアントは、キーとクライアント名の 2 つのメンバーだけを持つ「クライアント」ディメンションを使用して、業界キューブで表されます。業界キューブのカウント メジャーは [I Widget Count] と呼ばれ、クライアント キューブの同じメジャーは [Widget Count] です。

このような MDX 式は、クエリ エディターからうまく機能します。

WITH SET [Industry] AS Except( [Cube Clients].[Client].[All].Children
        , [Cube Clients].[Client].[Client 05] )
    MEMBER [Measures].[Industry Widget Count] AS sum( [Industry], [I Widget Count] )
SELECT ({ [Widget Count]
    , [Industry Widget Count]
    , [I Widget Count] }) on 0
FROM [Client 05 Cube]

クライアントと業界のカウントは完璧です。共有ディメンションまたは非共有ディメンションを軸 1 に追加することもできます。すべてがうまくいきます。

セットをキューブ自体に追加するとすぐに、合計関数は正しい答えを返さなくなります。だから、私が追加した計算されたメジャー画面で:

CREATE DYNAMIC SET CURRENTCUBE.[Industry] 
  AS Except( [Cube Clients].[Client].[All].Children
    , [Cube Clients].[Client].[Client 05] ) ;

CREATE MEMBER CURRENTCUBE.[Measures].[Industry Widget Count] 
  AS sum( [Industry], [I Widget Count] ), 
VISIBLE = 1 ;

キューブでこのメジャーを参照すると、カウントが完全に間違っています。正しい数値 (ディメンションの制約なし) は約 10,000,000 で、ブラウザーには 30 が表示されます。トレース ウィンドウを調べて、キューブが動的合計を生成するために使用しているコードを読み取れるかどうかを確認しましたが、そうではありません。見える。

なぜこれが起こっているのか誰にも手がかりがありますか?

4

0 に答える 0