PowerBI柱状图空值移除:DAX排除空值仍现空列原因
DAX度量值排除空值后柱状图仍显示空列的原因及解决方法
核心原因
- 日期表的筛选上下文残留:你用
USERELATIONSHIP切换了日期表Dato[Opprettet dato]和工单表TICKET[closed_at]的关系,但日期表可能包含大量没有匹配到关闭工单的日期。柱状图会基于日期表的所有日期生成轴,那些没有对应关闭记录的日期,度量值返回空,就会显示成空列。 - 筛选顺序问题:
CALCULATE里的NOT(ISBLANK('TICKET'[closed_at]))是在日期筛选之后生效的。也就是说,先按日期表的每个日期筛选工单表,再检查是否有非空的closed_at。如果某个日期下没有符合条件的工单,度量值就返回空,空列自然出现。
解决办法
方法1:筛选日期表,只保留有关闭记录的日期
给日期表Dato添加一个计算列:
有关闭工单 = NOT(ISBLANK(CALCULATE(COUNTROWS(TICKET), USERELATIONSHIP(Dato[Opprettet dato], TICKET[closed_at]))))
然后在柱状图的日期筛选器里,只勾选有关闭工单为True的日期,空列就会被直接移除。
方法2:让空值显示为0(保留日期轴)
如果不想移除日期轴,只是不想显示空列,可以修改度量值,把空结果替换成0:
Avsluttet = VAR 统计结果 = CALCULATE(COUNTROWS(TICKET), NOT(ISBLANK('TICKET'[closed_at])), USERELATIONSHIP(Dato[Opprettet dato], TICKET[closed_at])) RETURN IF(ISBLANK(统计结果), 0, 统计结果)
方法3:重构日期表
直接基于工单表的closed_at字段生成日期表,确保日期表只包含有实际关闭记录的日期,从根源避免空日期出现在轴上。
内容的提问来源于stack exchange,提问作者Neri Kim
相关产品推荐
相关产品推荐

