2017-04-05 52 views
0

這可能很簡單,但我需要你的幫助!基於多個標準的DAX計數發生

我需要添加一個列到我的原始數據,其中包含每個唯一ID的唯一子事件的總數,當子事件類型=類型A時,結果應顯示在第一個類型A上找到列表並顯示這些ID的剩餘行上的零。

希望模擬表的例子可以說明我的原始數據是如何構成的,什麼我需要爲結果(j列)

Table Example

回答

0

下面的計算列應該做的伎倆:

Type A Events by ID = 
VAR FirstRow = 
CALCULATE(
    MIN('Log'[Index]), 
    FILTER('Log', 'Log'[ID] = EARLIER('Log'[ID]) && 'Log'[Sub Event Type] = "Type A") 
) 
RETURN 
IF(
    'Log'[Index] = FirstRow, 
    CALCULATE(
     DISTINCTCOUNT('Log'[Sub Event]), 
     FILTER('Log', 'Log'[ID] = EARLIER('Log'[ID]) && 'Log'[Sub Event Type] = "Type A") 
    ), 
    0 
) 

不知道如何確定找到的第一個Type A行,因此我添加了一個索引列並檢索到具有最小索引的限定行。 (這就是FirstRow正在做)

然後,它會以相同的IDSub Event Type返回Sub Event重複計數是A型,如果是第一行,否則返回0

隨意澄清或修改它適合你的情況。

結果:

result

+0

嗨@Marcelo阿吉拉爾這是否解決您的問題,畢竟? –

+0

嗨,建議的解決方案適用於我用於測試的小數據集,不幸的是,當擴展它時,它太慢了...到目前爲止,我在我的數據的一些分區上使用它來完成工作。謝謝! –