Power BI DAX语言简介3 您所在的位置:网站首页 奢华的宫殿内景描述英文 Power BI DAX语言简介3

Power BI DAX语言简介3

#Power BI DAX语言简介3| 来源: 网络整理| 查看: 265

要想在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)运算机制是在加载可视化图形时进行,因此对刷新的依赖性不高。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有