0

このファクト テーブルを検討してください。

Sender           Receiver         Amount
----------------------------------------
Reseller1        Resseler2        100 
Reseller1        Resseler3        200
Reseller3        Resseler1        150
Reseller3        Resseler2        50
Reseller1        Resseler4        100
Reseller4        Resseler2        350
Reseller4        Resseler1        500
Reseller4        Resseler3        250

この式に基づいてメジャーを計算し、このSum(Receiver)-Sum(Sender)ような結果を作成します。

Reseller             Amount
---------------------------
Reseller1             250    <---- (500 + 150) - (100 + 200 + 100)
Reseller2             500    <---- (100 + 50 + 350) - (0)
Reseller3             250    <---- (200 + 250) - (150 + 50)
Reseller4             -1000  <---- (100) - (350 + 500 + 250)

このための計算メジャーを作成するにはどうすればよいですか?

ありがとう


DimResellerは:

ResellerCode            ResellerName
---------------------------------------
1                        Reseller1
2                        Reseller2
3                        Reseller3
4                        Reseller4

と との 2 つの関係がSenderあります。Receiver


編集1)

マスター @Saeid Yousefi の回答に基づく:

私の構造は次のとおりです。

ここに画像の説明を入力

ここに画像の説明を入力

私はこのMDXクエリを書きました:

WITH 
MEMBER SenderAmount AS
    [Measures].[Amount], FORMAT_STRING = "Standard"

MEMBER ReceiverAmount AS
     (LinkMember   
     ([Sender].[Hierarchy].CurrentMember, [Receiver].[Hierarchy])  
     ,[Measures].[Amount]), FORMAT_STRING = "Standard"

MEMBER DiffAmount AS
  ReceiverAmount - SenderAmount, FORMAT_STRING = "Standard"

SELECT    {SenderAmount, ReceiverAmount, DiffAmount} ON 0,
[Sender].[Hierarchy].MEMBERS ON 1
FROM [Reseller Sales]

しかし、私はnull受信者の金額を得ました:

ここに画像の説明を入力

小さな問題があることはわかっていますが、それを修正することはできません!

4

2 に答える 2