我在qlikview中跑完脚本以后,想要统计下针对每个Product的Call数量。但是并非每个sales在录入拜访的时候都勾选了产品,所以如果没有勾选产品,在每条call对应的product字段一栏会是Null值,也会被自动计算进来。
因此在统计的时候,需要剔除掉这些Null值。如何在表达式中实现呢?
一开始我使用了'Count({<PRODUCT={'Enoxaparin Sodium','Insulin Glargine 300','Non-Promotional','Sevelamer Carbonate'}>}DISTINCT CALLID).'
这种方法从当前的实现效果来算,是完全可行的。但是笔者忽略了一个大的Bug。加入在未来月份,新增了别的Product,用上面的表达式进行统计的话,那个新产品完全是出不来是会被漏掉的。
所以应该怎么样避免这种情况呢,首先你的思路应该是在表达式里直接写出一条排除掉Null值的count语句。
使用下面的表达式,可以完美实现这个效果:
‘count(distinct if(Not IsNull(PRODUCT),CallId))’。
可以在count公式里面加入if语句进行筛选循环判断,加入PRODUCT值不为空,则返回CallID值进入统计。
#Qlikview