上一篇文章中的分组,都是通过新建列的方式实现的,直观上比较容易理解。不过这样都修改了原始数据的结构,如果我们不在源表上进行修改,直接通过度量值的方式来进行分组,是否可以实现呢?

答案当然是肯定的。

采用度量值的方式首先定义好分组的类别和标准,然后把需要分组的数据分别统计到指定的分组中。

依然按照上篇文章的数据,统计优秀、良好、及格和不及格的学生分别有多少?

成绩表中的数据结构不做任何更改,我们先创建一个分组表,

如果成绩落在最小值和最大值之间,就归属于该分组。

编写度量值如下:

成绩分组统计 =
CALCULATE(
DISTINCTCOUNT('成绩'[姓名]),
FILTER('成绩',
AND(
'成绩'[数学成绩]<=SELECTEDVALUE('分组表'[最大值]),
'成绩'[数学成绩]>=SELECTEDVALUE('分组表'[最小值])
)
)
)

使用度量值和新建列的不同之处就是,新建列的行上下文是确定的,可以直接使用行字段,而度量值的外部上下文是动态的,所以无法直接和某个具体指标匹配,这时就要用到SELECTEDVALUE函数,它根据外部上下文的环境来进行动态匹配运算。

编写度量值的表达式时,不知道如何查找外部上下文时,一定不要忘了SELECTEDVALUE函数。

利用矩阵来看看度量值的结果,

这样每个类别的人数就统计出来了,不过有个问题是,总计行没有计算出来。原因是由于SELECTEDVALUE函数函数只查找了分组表中的类别,而该表并没有总计这个值,所以无法计算显示为空。

为了使总计正常显示,可以再加个判断函数ISFILTERED,如果分组列中有该分类,就正常执行上面的度量值计算,否则返回成绩表中人数合计。

更改后的度量值如下:

成绩分组统计 =
IF(ISFILTERED('分组表'[分组]),
CALCULATE(
DISTINCTCOUNT('成绩'[姓名]),
FILTER('成绩',
AND(
'成绩'[数学成绩]<=SELECTEDVALUE('分组表'[最大值]),
'成绩'[数学成绩]>=SELECTEDVALUE('分组表'[最小值])
)
)
),
DISTINCTCOUNT('成绩'[姓名])
)

然后总计行会正常显示。并且源数据发生变化,度量值返回的结果也会同步更新。

以上就是使用度量值进行分组的做法,DAX看起来很长,其实逻辑上比较简单,理解它对进一步掌握DAX有很大帮助。利用度量值,进行数据分析时可以更灵活的使用,下篇文章介绍度量值分组的应用场景。

数据可视化之powerBI技巧(二十)采悟:创建度量值,轻松进行分组统计的更多相关文章

  1. 数据可视化之powerBI技巧(十九)DAX作图技巧:使用度量值动态分组和配色

    有了前两篇关于分组的铺垫,这篇文章就来学习一个分组的经典应用,图表的动态分组,并对分组动态配色. 假设有十几个产品,每个产品的销售额,是随着时间而变化的,想知道某个时间的每一个产品的销售额与平均销售额 ...

  2. 数据可视化之powerBI技巧(十六)采悟:PowerBI作图技巧:动态显示可视化标题

    默认情况下,PowerBI图表的标题是静态的,为了增强图表的可读性,通过设置动态标题,可快速展示关键信息.提升沟通效率.本文通过两个简单的例子来看看PowerBI中如何创建动态标题. /01/ 拿之前 ...

  3. 数据可视化之powerBI技巧(十四)采悟:PowerBI中自制中文单位万和亿

    使用PowerBI的时候,一个很不爽之处就是数据单位的设置,只能用千.百万等英美的习惯来显示,而没有我们中文所习惯的万亿等单位,虽然要求添加"万"的呼声很高,但迟迟未见到改进动作, ...

  4. 数据可视化之powerBI技巧(十二)学会这几个度量值,轻松获取前N名

    数据中的明细项一般都有很多,可是我们关注的往往只是前几名,所以在报表中只展示关注的部分,就十分常用. 有了上篇(这几个示例,帮你深入理解RANKX排名)关于排名的铺垫,仅显示前N名就简单多了. 依然以 ...

  5. 数据可视化之powerBI技巧(十八)Power BI动态技巧:动态显示列和度量值

    今天分享一个可视化小技巧,如何在PowerBI的表格中动态显示需要的列? 就是这样的效果, 也就是根据切片器的筛选,来显示需要的列,做起来很简单,步骤如下: 01 逆透视表 进入Powerquery编 ...

  6. 数据可视化之powerBI技巧(十)利用度量值,轻松进行动态指标分析

    在一个图表中,可以将多项指标数据放进去同时显示,如果不想同时显示在一起,可以根据需要动态显示数据吗?在 PowerBI 中当然是可以的. 下面就看看如何利用度量值进行动态分析. 假如要分析的指标有销售 ...

  7. 数据可视化之powerBI技巧(十五)采悟:Power BI动态技巧:动态显示数据层级

    今天给大家分享一个动态显示数据层级的技巧,效果如下: 无论想按什么维度.什么顺序查看分析数据,只需要选择不同的切片器组合就行了. 方法如下:01 | 把数据聚合为分析需要的最细粒度 本文假设最细分析粒 ...

  8. 数据可视化之powerBI基础(十)快速度量值,帮你更快的进行数据分析

    https://zhuanlan.zhihu.com/p/64414831 刚开始学习PowerBI,最头疼的可能就是度量值了,毕竟用了Excel这么多年,只相信自己眼睛看到的,对于这个"虚 ...

  9. 数据可视化之powerBI技巧(二十四)Power BI初学者刚见的错误,帮你轻松处理

    在学习PowerBI的过程中,尤其是刚接触的时候,不可避免的会遇到各种各样的错误,有时自己怎么检查都没法消除,不解决这个错误又没法进行下一步的工作,经常会搞的自己烦闷无比,不过最后通过自己的苦苦摸索. ...

随机推荐

  1. Netty 中的内存分配浅析

    Netty 出发点作为一款高性能的 RPC 框架必然涉及到频繁的内存分配销毁操作,如果是在堆上分配内存空间将会触发频繁的GC,JDK 在1.4之后提供的 NIO 也已经提供了直接直接分配堆外内存空间的 ...

  2. C语言视频教程下载(百万年薪程序员录制,免费公开)

    <C/C++语言高性能服务开发基础>您可以自由下载.传播.发布或其它商业用途. 视频文件共13.6G,提供了QQ群文件和百度网盘两种方法,建议采用QQ群文件下载,速度较快. 一.下载方法 ...

  3. 一行代码让你的python运行速度提高100倍

    转自:https://www.cnblogs.com/xihuineng/p/10630116.html 加上之后运行速度快了十倍,我的天呐. python一直被病垢运行速度太慢,但是实际上pytho ...

  4. 记PHP下载大文件失败的一次坑

    说明 php提供文件的储存和下载,nginx作为web服务器,fpm做解析. 现象 当下载一个5M大小的图片时,总提示下载失败,或下载下来的文件不完整,仅显示部分图像(每次下载不一样) php下载相关 ...

  5. JavaWeb网上图书商城完整项目--day02-12.激活功能各层实现

    1.我们来看程序的代码 数据库层: 1.通过激活码查找到对应的用户 2.设置用户的激活状态 2.业务层 1.通过数据库接口通过验证码得到对应的用户 2.判断当用户是否为空,如果没有通过激活码查找到对应 ...

  6. android 6.0 权限设置详解

    从Android 6.0版本开始,在安装应用时,该应用无法取得任何权限. 相反,在使用应用的过程中,若某个功能需要获取某个权限,系统会弹出一个对话框,显式地由用户决定是否将该权限赋予应用. 只有得到了 ...

  7. Spring mvc 面试

    Spring工作原理及其作用 1.springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作. 2.DispatcherSer ...

  8. WAF产品记录

    WAF产品化 2011-1-13 目标:稳定的版本 和 标准的手册   1.硬件差异问题,争取了OEM提供硬件样机. 2.OEM功能本来在我们手里,为了更好产品化,配合移交工作. 3.我们做好 产品生 ...

  9. SpringBoot--防止重复提交(锁机制---本地锁、分布式锁)

    防止重复提交,主要是使用锁的形式来处理,如果是单机部署,可以使用本地缓存锁(Guava)即可,如果是分布式部署,则需要使用分布式锁(可以使用zk分布式锁或者redis分布式锁),本文的分布式锁以red ...

  10. Oracle 闪回总结

    一.闪回查询(Flashback Query)1.闪回查询技术1.1 闪回查询机制    闪回查询是指利用数据库回滚段存放的信息查看指定表中过去某个时间点的数据信息,或过去某个时间段数据的变化情况,或 ...