打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Power BI DAX语言简介3

要想在Power BI中使用DAX的函数对数据进行加工,就必须先创建一个度量值(Measure) 或者列(Column)。那么何时使用度量值,何时使用列呢?要想回答这个问题,先了解一下度量值和列的区别。

外在差别:
当创建一个度量值(Measure) 后,在导入的Power BI Table中并不会看有新的列被创建处理。而选择创建一个列(Column)后,Table里面会实实在在的增加一个新列并且对应的每一行都生成相应的数值。
例如下面这个例子中,求全部学生的语文总成绩,用度量值(Measure)类型的column求和,成绩单table中并没有增加一个新列;而当使用列(Column)类型求和时,则会增加一列,并且每列的值都相同,都为所有学生的语文成绩总和。

内在差别
度量值(Measure)主要用于聚合计算时使用,运算是在查询时才执行,并不占用RAM。相当于随用随机算。
使用列(Column)得到的运算结果则会被存储在表单当中,计算发生在列生成的时刻。由于Power BI的运算机制是会将表单内容加载到内存当中聚合,因此当数据量庞大时,使用列(Column)进行计算会占用大量的内存。

何时使用度量值(Measure),何时使用列(Column)?
通常情况下,如果你期待计算的结果是一个单一值,应该选用一个度量值(Measure)。例如在示例中,求全部学生语文成绩的总和,此时使用度量值(Measure)最合适。再例如,求成绩单中一共包含有多少个学生,此时也应该使用度量值(Measure)去掉用Count函数去获取。

如果你想针对每行去计算某一特定值(不同行的值很可能不一样),此时应该选用列(Column)进行计算。例如在上个示例中,如果想要计算每个学生的总成绩,这应该使用列(Column)进行计算,此时度量值(Measure)就不再适用,因为你期待获得的并不是单个值,而是期待的是针对每一行单独进行计算。

此外,如果在Report页面,过滤器能使用的内容必须来自于列(Column),因此,如果你想针对某一内容进行过滤,那么该内容就必须生成自列(Column)。再拿学生成绩单为例,如果你想统计语文学科分数大于100分和小于等于100分的学生名单,则需要创建一个列(Column)用来标记哪一行的语文分数大于100或者小于等于100。

需要注意的是对于列(Column)中的数值,当后台原始数据发生改变时,如果不刷新则列(Column)中的内容不会更新。而由于度量值(Measure)运算机制是在加载可视化图形时进行,因此对刷新的依赖性不高。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Power BI服务中时间显示错误的解决办法
一次性安装所有的外部工具
DAX查询入门:DAX Studio介绍
Power BI 数据分析的基本概念
这种方法可以直接向Excel返回Power BI数据模型中的所有表的一张大表,还可以使用定制数据类型。
这应该是DAX中最重要的函数了:Calculate - Power Excel
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服