使用 COUNTAX 和 FILTER 在 Power BI 中计算 TRUE() 和 False()

Counting TRUE() and False() in Power BI Using COUNTAX and FILTER

我在 table (Table_Name) 中有一列 (Column_Name),其中包含布尔值 (0 | 1)。我正在尝试对每个值进行计数。例如,我总共有 1500 行,我希望有 2 个度量显示 700 行是 True,而 800 行是 False。

我尝试了以下方法,但每次都只给出了总行数 (1500):

False_Measure = COUNTAX(FILTER('Table_Name','Table_Name'[Column_Name]=FALSE()),FALSE())

True_Measure = COUNTAX(FILTER('Table_Name','Table_Name'[Column_Name]=FALSE()),TRUE())

我完全糊涂了...

我什至不确定此时是否使用了正确的 DAX 函数。

以下是一些可能性:

True_Measure = SUMX(Table_Name, 1*Table_Name[Column_Name])
True_Measure = SUMX(Table_Name, 1*(Table_Name[Column_Name] = TRUE()))

False_Measure = SUMX(Table_Name, 1*(Table_Name[Column_Name] = FALSE()))
False_Measure = COUNTROWS(Table_Name) - [True_Measure]

在大多数情况下,我使用 1*True/False 布尔值强制转换为数字 01


您也可以在过滤后的 table 上使用 COUNTROWS

True_Measure  = COUNTROWS(FILTER(Table_Name, Table_Name[Column_Name] = TRUE()))
False_Measure = COUNTROWS(FILTER(Table_Name, Table_Name[Column_Name] = FALSE()))

如果你真的想使用COUNTAX,那么它看起来像这样:

True_Measure  = COUNTAX(FILTER(Table_Name, Table_Name[Column_Name] = TRUE()), 1)
False_Measure = COUNTAX(FILTER(Table_Name, Table_Name[Column_Name] = FALSE()), 1)

问题出在 COUNTAX() 的第二个参数 function.It 应该是您要计算的 column/item 而不是列出的相同筛选项。

所以这些函数应该会给你想要的结果:

False_Measure = COUNTAX(FILTER('Table_Name', 'Table_Name'[Column_Name]=FALSE()), [Column_Name])

True_Measure = COUNTAX(FILTER('Table_Name', 'Table_Name'[Column_Name]=TRUE()), [Column_Name])

列出了此函数的文档 here