使用 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
布尔值强制转换为数字 0
或 1
。
您也可以在过滤后的 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。
我在 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
布尔值强制转换为数字 0
或 1
。
您也可以在过滤后的 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。