Power BI统计度量值中某值的出现次数,现有写法报错求修复
报错原因
[EUI Yearly (kbtu/ft2)]是你创建的度量值,不属于df表的物理存储列,所以你在VALUES()中以df[EUI Yearly (kbtu/ft2)]的格式调用时,DAX会默认查找df表中的实体列,找不到就会抛出报错。
修复方案
根据你的需求分两种常用实现方式:
方案1:统计度量值等于某固定目标值的行数
直接在CALCULATE的筛选条件中嵌套FILTER迭代函数,逐行计算度量值后做匹配:
EUI Count = CALCULATE ( COUNTROWS ( df ), ALLSELECTED ( df ), FILTER ( df, [EUI Yearly (kbtu/ft2)] = 你需要统计的目标数值 ) )
方案2:统计所有不同度量值结果的出现次数(分组计数)
如果需要同时统计多个EUI数值对应的出现次数,先通过ADDCOLUMNS生成带度量值计算结果的临时表再汇总:
EUI Group Count = VAR GroupTable = ADDCOLUMNS( SUMMARIZE(df, df[业务分组维度列]), // 替换成你需要分组的维度字段,比如区域、建筑类型等 "EUI计算结果", [EUI Yearly (kbtu/ft2)] ) RETURN COUNTROWS( FILTER(GroupTable, [EUI计算结果] = 匹配目标值) )
注意事项
- 所有度量值都是动态计算的,不能直接当做实体列放在
VALUES、SELECTCOLUMNS等函数的列参数中使用,必须搭配迭代函数逐行计算后再做筛选、统计。 - 如果需要在可视化中动态展示不同EUI值的出现次数,可以把上述临时表逻辑导出为计算表,直接作为可视化的数据源使用。
内容的提问来源于stack exchange,提问作者M.L
相关产品推荐
相关产品推荐

