簡體   English   中英

Power BI DAX 度量:考慮視覺對象的篩選上下文,計算列中值的出現次數

[英]Power BI DAX measure: Count occurences of a value in a column considering the filter context of the visual

我想計算列中值的出現次數。 在我的情況下,我想要計算的值是 TRUE()。 假設我的表稱為 Table 並且有兩列:

boolean value
TRUE()  A
FALSE() B
TRUE()  A
TRUE()  B

到目前為止我找到的所有解決方案都是這樣的:

count_true = COUNTROWS(FILTER(Table, Table[boolean] = TRUE()))

問題是我仍然希望顯示度量的視覺(卡片)考慮過濾器(來自切片器)以減少表格。 因此,如果我有一個設置為 value = A 的切片器,則具有 count_true 度量的卡片應該顯示 2 而不是 3。

據我了解,過濾器 function 總是覆蓋視覺過濾器上下文。

為了進一步解釋我的意圖:在較早的時候,TRUE/FALSE 列的值是 1/0,我可以通過使用 SUM function 來實現我的目標,它沒有指定過濾器上下文,只是在視覺過濾器上下文中起作用。

我不確定這是否會解決您的問題,但在我看來它是更有效的 dax:

count_true = 計算(COUNTROWS(表),表[布爾])

如果在更改度量以使用此格式后仍然存在問題,則可能是 model 存在潛在問題。 還有可能適用於此處的 function KEEPFILTERS,但我認為使用 KEEPFILTERS 會使您的情況過於復雜。

我認為你給出的 DAX 應該可以工作,只要它是一個度量,而不是一個計算列。 (計算列無法從報告中讀取過濾器上下文。)

在評估措施時,

count_true = COUNTROWS ( FILTER ( Table, Table[boolean] = TRUE() ) )

FILTER 中的第一個參數不一定是完整表,但該表已經被本地過濾器上下文過濾(包括報告/頁面/視覺過濾器以及切片器選擇和本地上下文,例如行/列矩陣視覺)。

因此,如果您通過切片器 select Value = "A" ,則 FILTER 中的表已被過濾為僅包含"A"值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM