eat*_*ood 3 dax powerbi powerbi-desktop
我的表 (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())
Run Code Online (Sandbox Code Playgroud)
我完全糊涂了...
我什至不确定此时我是否使用了正确的 DAX 函数。
问题出在 COUNTAX() 函数的第二个参数中。它应该是您要计数的列/项目,而不是相同列出的筛选项目。
所以这些函数应该会给你你想要的结果:
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])
Run Code Online (Sandbox Code Playgroud)
此处列出了该函数的文档。
以下是一些可能性:
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]
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,我使用1*将布尔值强制True/False为数字0或1.
COUNTROWS您也可以在过滤表上使用 a 。
True_Measure = COUNTROWS(FILTER(Table_Name, Table_Name[Column_Name] = TRUE()))
False_Measure = COUNTROWS(FILTER(Table_Name, Table_Name[Column_Name] = FALSE()))
Run Code Online (Sandbox Code Playgroud)
如果你真的想使用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)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44406 次 |
| 最近记录: |