原数据
需求:计算快递单号的非重复计数
(一) 需求分析
如果要计算非重复计数,我们很容易可以想到一个函数DistinctCount,那如果直接使用是不是就可以了呢?直接
代码语言:javascript复制DistinctCount:=DistinctCount([快递单号])
这里会有几个问题:
- 空值未进行处理
- 总计这里多计了1,而且在未有单号的情况下也作为了1显示。
那我们来了解下原因,空值的话如何处理以及为什么总计这里会多了1。因为DistinctCount在计算非重复计数的时候会把空值也作为一个值来进行计算,所以导致数据上的差异。
(二) 实现需求
既然知道了原因,那我们就可以具体实现了,DistinctCount是要计算空值,那我们是不是可以直接把空值给过滤后在进行求值计数呢?
代码语言:javascript复制快递单号非重复计数:=Calculate(DistinctCount('表1'[快递单号]),
Filter('表1','表1'[快递单号]<>BLANK())
)
(三) 展现需求
最后我们把字段拖入到透视表中
但是和我们要求的数据透视表有些许差异,结果是要求把订单号全部显示出来,而直接拖入字段后把没有快递单号的订单号给隐藏了。这里留个小悬念,可以自己动手实现下这个功能。
如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。