2016-11-15 62 views
0

我有一個比較穀物類型問題。 我有2項措施的事實表 - 量和Share_amountDAX - 不同的粒度

EG

Name Location Amount Share_amount 
John Ireland  100  50 
John UK   100  50 
fred USA   200  200 
Bob  france  300  150 
Bob  spain  300  150 

我想用Share_amount

顯示金額小計,但/總在支點,我想看:

John  100 
John Total 100 
fred  200 
Fred total 200 
Bob   300 
Bob Total 300 

我知道我可以空白()的金額,如果ISFILTERED()的位置 但我想顯示的金額(非共享),但保持個Ë總計正確

有沒有辦法做到這一點在DAX

感謝

+1

爲什麼你不使用SUM(事實[Share_Amount])?即使該地點未被過濾,您也將得到每個名稱的share_amount總和,該總和等於該金額。你能否更好地解釋你的過濾請求以幫助你? –

+0

這是一個非常好的點 - 我應該澄清 - 我實際上想要顯示金額,即使該位置被選中,但總和基於share_amount。您指出我的DAX不正確。 –

回答

0

我認爲你需要的是這樣的:

DEFINE MEASURE 'Fact'[RealAmount] = 
    IF (
     COUNTROWS (VALUES (Fact[Location])) = 1, 
     SUM (Fact[Amount]), 
     SUM (Fact[Share_amount]) 
    ) 

它沒有測試,但應該工作,樂我知道它是否適合你。

+0

謝謝 - 這就是我以後的。 –

0

這裏我在想什麼 - 任何人都可以評論這是否會工作或沒有:

DEFINE MEASURE 'Fact'[RealAmount] = 
IF (
    NOT (
     ISFILTERED ('Fact'[Location]) 
     ) 
    , 
    SUM (Fact[Amount]) 
    , 
    SUM (Fact[Share_Amount]) 
)