Power BI度量值创建:计算分组行占比,解决布尔值计数报错
解决DAX中统计布尔型列对应总行数的问题
你遇到的报错是因为COUNT()函数不支持统计布尔类型的列值,要统计每个名称对应的总行数,换用COUNTROWS()或者COUNTAX()就能解决,下面是两种可行的度量值写法:
写法一:用变量拆分逻辑
Ratio = VAR 符合条件行数 = COUNTROWS(FILTER('Table', 'Table'[HasEntry] = TRUE())) VAR 分组总行数 = COUNTROWS('Table') RETURN DIVIDE(符合条件行数, 分组总行数)
写法二:用CALCULATE简化代码
Ratio = DIVIDE( CALCULATE(COUNTROWS('Table'), 'Table'[HasEntry] = TRUE()), COUNTROWS('Table') )
关键说明:
COUNTROWS('Table')会自动识别当前的筛选上下文(比如折线图中按Name分组的情况),直接返回该分组下的总行数,不受列类型限制。- 如果你的
HasEntry列没有空值,也可以用COUNTAX('Table', 'Table'[HasEntry])替代COUNTROWS('Table'),它能统计非空的布尔值,同样得到总行数。 DIVIDE()函数会自动处理除数为0的情况,避免出现错误值。
这两种写法都能得到你需要的结果:A的占比0.75,B的占比约0.66。
内容的提问来源于stack exchange,提问作者n179911a
相关产品推荐
相关产品推荐

