阅读圣经丨计算列与度量值

白茶在刚开始接触PowerBI的时候,经常被一些基础的概念搞懵,也不好意思问别人说的具体是啥意思,分享一下一个小坑。

最开始经常听到“计算列”,“度量值”这两个概念,当时真的是只会一点EXCEL的基础函数,一上手学DAX完全搞不懂这说的是啥啊。

白茶决定用一组数据来告诉小伙伴二者的区别。

这是白茶做的一组虚假数据,有点粗糙了,大家伙将就着看,导入PowerBI中。

就这一个示例文件,没有其他。

什么叫计算列呢?

比如我现在想知道每一单利润。

点击建模窗口下面的新建列,输入相关计算,得出一列,那么我们新得到的这一列就是计算列

什么叫度量值?

同样是上面的问题,求出单品利润。

鼠标右键点击表,选择新建度量值,输入如下代码:

代码语言:txt
复制
利润 度量值 =
SUM ('示例'[售价] ) - SUM ('示例'[进价] )

这个就是度量值

将二者放入矩阵中进行对比。

可以看得出来,二者所呈现的结果是一样的。

但是二者之间具体的区别在哪?

相同点

二者有时候在写法上是一致的。

不同点

①、首先就是,计算列,会直接在表格中添加一列,也就是说只要打开PowerBI点击刷新数据,那么我们所添加的列会根据原有的数据进行添加,无论我们是否进行运算、查看这一列,它都会占用我们的系统内存,导致文件变大,变卡

而且有时候一些计算结果会有偏差,比如说刚才那组数据,我想知道出货日期与订单日期之间的间隔:

就像是这种,我们想知道的是间隔了几天,而不是这种计算错误的结果。

优点是操作较为简单一些

②、而度量值,不占用内存,系统存储的只是它的计算逻辑,只有当你调用它的时候,想起它的时候,才会执行运算

上面的问题,日期间隔用度量值计算。

代码语言:txt
复制
间隔 度量值 =
INT ( SUMX ('示例','示例'[出货日期] ) - SUMX ('示例','示例'[下单日期] ) )

结果如图:

一些特定的运算,相对于计算列比较准确。

但是缺点也异常的明显:度量值比较在意外部上下文和内部上下文,相对于计算列无疑它的计算是繁琐的,比较费头脑的。而且特别容易把人绕懵。

同样,如果上下文关系判断不正确,那么它的结果也是错误的。


小伙伴们❤GET了么?

白茶会不定期的分享一些函数卡片

(文件在知识星球PowerBI丨需求圈)

这里是白茶,一个PowerBI的初学者。