2016-12-02 8 views
0

クエリの前に派生した合計列に基づいてテーブルの割合の行を計算しようとしています。MDX割合の行が正しく計算されない

2つの列があり、その列の合計を作成します。次の行では、合計の割合が表示されます。出力は次のようなものでなければなりません:


   Life  Non-Life (P&C)  SumTotal 
Premiums 66,104.44  916,792.51  982,896.95 
Percentage  6.73%   93.27%    1 

しかし、その代わりに2行目はゼロを示します。

正しく計算するようにクエリを構造化するにはどうすればよいですか?ここ は、MDXコードです:

with member [LocationSpecificClass].[Hierarchy].[All].&[Insurance Market Statistics].[SumTotal] as SUM([LocationSpecificClass].[Hierarchy].[All].&[Insurance Market Statistics] , [Measures].[Value] ) 

member [LocationSpecificData].[Data Type].[All].[Percentage] as [LocationSpecificData].[Data Type].[All].[Gross Written Premiums Total - Calculated], [Measures].[Value])/([LocationSpecificClass].[Hierarchy].[All].&[Insurance Market Statistics].[SumTotal], [Measures].[Value] ) 

Select { [LocationSpecificClass].[Hierarchy].[All].&[Insurance Market Statistics].&[Life], [LocationSpecificClass].[Hierarchy].[All].&[Insurance Market Statistics].&[Non-Life (P&C)], [LocationSpecificClass].[Hierarchy].[All].&[Insurance Market Statistics].[SumTotal] } On Columns , 
{ [LocationSpecificData].[Data Type].[All].[Gross Written Premiums Total - Calculated] , [LocationSpecificData].[Data Type].[All].[Percentage] } On Rows 
FROM [CubeDatabase] 

答えて

0

私の環境で正常に働いていた次の例を、試してみてください。私は日付属性[Datum]を年属性[Jahr]で使用して、[Line2]を追加して2番目の行を追加しました。最初に示された行は2016年です。計算された指標[M1]と[M2]をニーズに合わせ、それに応じて年の次元を交換します。

WITH 
MEMBER [Measures].[M1] AS [Measures].[name of your measure for col 1] 
MEMBER [Measures].[M2] AS [Measures].[name of your measure for col 2] 
MEMBER [Measures].[Total] AS [Measures].[M1] + [Measures].[M2] 

MEMBER [Datum].[Jahr].[Line2] AS 
    Divide(
     ([Datum].[Jahr].&[2016], [Measures].CurrentMember), 
     ([Datum].[Jahr].&[2016], [Measures].[Total]) 
    ) 

SELECT { 
    [Measures].[M1], 
    [Measures].[M2], 
    [Measures].[Total] 
} ON 0, 

{ 
    [Datum].[Jahr].&[2016], 
    [Datum].[Jahr].[Line2] 
} ON 1 

FROM [name of cube] 

私の環境での結果は次のようになります。 enter image description here

+0

恐ろしいです。ありがとう。 –

+0

あなたは歓迎です:)私は現在、より良い解決策である '[Line2]'計算を少し更新しました。 –

関連する問題