[英]Cumulative distinct count filtered by last value - DAX
我有一個數據集:
month name flag
1 abc TRUE
2 xyz TRUE
3 abc TRUE
4 xyz TRUE
5 abc FALSE
6 abc FALSE
我想計算按“標志”值(真)過濾的“名稱”的月份累計唯一計數。 即我想要一個結果:
month count
1 1
2 2
3 2
4 2
5 1
6 1
在第5個月和第6個月,不應將'abc'排除在外,因為在第5個月標志已切換為'FALSE'。我正在嘗試使用此處給出的示例來實現以下目標:
http://www.daxpatterns.com/cumulative-total/
。
但是我在努力掙扎。 我在想,也許可以使用功能TOPN來過濾可以在其上使用DISTINCTCOUNT的表,但是我沒有得到期望的結果。
MyFilteredCumulativeMeasure =
COUNTROWS(
FILTER(
GENERATE(
ALL( 'MyTable'[name] )
,CALCULATETABLE(
SAMPLE(
1
,SUMMARIZE(
'MyTable'
,'MyTable'[month]
,'MyTable'[flag]
)
,'MyTable'[month]
,DESC
)
,FILTER(
ALL( 'MyTable'[month] )
,'MyTable'[month] <= MAX( 'MyTable'[month] )
)
)
)
,'MyTable'[flag]
)
)
這適用於您的示例。 可能需要對實際數據進行一些調整。 隨着數據大小的增加,也有可能顯着降低速度。 我將繼續說明這一點,因為這感覺不太正確,但這是一個很好的幼稚實現。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.