在日常的分析中,经常会碰到计算结果为空值的情况,比如计算上年同期数据,度量值如下:
上年销售金额 = CALCULATE([销售金额], SAMEPERIODLASTYEAR('日期表'[日期]))
在业务的第一年,上年同期数据是不存在的,就会返回空值。
空值在矩阵和表格中什么都不显示,像这样:
而在卡片图中,直接显示大大的两个字:空白,非常扎眼,
那怎么能不这样显示呢?
常用的做法是将空值以0来显示,下面介绍几种将空值显示为0的方法。
1、利用IF函数判断
这个的方法大家应该都能想到,使用IF函数简单判断是否为空值:
IF法 =
IF([上年销售金额]=BLANK(),0,[上年销售金额])
2、利用COALESCE函数
这是2020年3月新增的DAX函数,它的作用是返回不为空的第一个表达式。
使用起来很简单,参数至少为2个表达式,也可以为多个表达式,每个参数返回的数据类型可以不同,它只判断是否为空值。
用在本文的场景非常适合,用COALESCE的写法如下:
COALESCE法 = COALESCE([上年销售金额],0)
是不是非常简洁。
它会自动判断[上年销售金额]是否为空值,如果不为空,就正常返回该值,如果为空,返回第二个参数,也就是0。
注意这两个参数的顺序不能写反了。
3,度量值+0
这是个非常巧妙的方法,直接为这个度量值加上一个0,会自动将空值转化为零值。
加0法 = [上年销售金额]+0
这三种方法的效果一样,用矩阵显示如下,
卡片图的效果,
利用这几个小技巧,轻松避免返回空值,是不是很简单呢?