PowerBI_一分钟了解POWERBI计算组_基础运用篇(一)
在第一篇计算组的文章中,给大家介绍了,POWERBI的计算组功能的基本概念和作用。
本文,旨在通过简单案例,介绍计算组功能的具体应用场景。
没有看过第一篇的同学,可以先简单过一下第一篇,补齐一下概念和打开计算组功能。
https://www.cnblogs.com/simone331/p/18146080
一:数据介绍
本文使用了网上的借贷数据用作演示,不涉及商业牟利,只用于学习分享。

本数据集中,包含了时间序列的借贷消费记录,我们准备用计算组来实现针对《借款金额》、《总待还本金》的环同比分析。
二:计算组创建
2.1 创建计算组
首先进入POWERBI 模型视图,点击功能栏的计算组按钮(没有计算组按钮的,应该是没有打开计算组功能,请参考第一篇文章,先打开计算组功能)

点击创建后,在功能栏的右侧会出现计算组选项,如下:

系统会自动创建一个计算项为:计算项 = SELECTEDMEASURE()
当然名字是可以更改的,这里我们将他更改一下名字为 本期
可以看到红色箭头除,我们是可以继续生成计算项的

我们来接着创建一个,上周同期和去年同期的度量值
点击上图的新计算项,新增计算组度量值
上周同期 =
CALCULATE(SELECTEDMEASURE(), ---当前值
DATEADD('维度表_日期表'[Date],-7,DAY)) ---返回7天前,即上周同期
上月同期 =
CALCULATE(SELECTEDMEASURE(), ---当前值
DATEADD('维度表_日期表'[Date],-1,MONTH)) ---返回1个月前,即上月同期
三:纯度量值方案与计算组方案对比
3.1 纯度量值方案
列出所需度量值

请观察以下两组DAX的相通之处:
总待还金额 = CALCULATE(SUM(LC[总待还本金]))
总待还金额_上周 = CALCULATE([总待还金额],DATEADD('维度表_日期表'[Date],-7,DAY))
总待还金额_上月 = CALCULATE([总待还金额],DATEADD('维度表_日期表'[Date],-1,MONTH))
借款总金额 = CALCULATE(SUM('LC'[借款金额]))
借款总金额_上周 = CALCULATE([借款总金额],DATEADD('维度表_日期表'[Date],-7,DAY))
借款总金额_上月 = CALCULATE([借款总金额],DATEADD('维度表_日期表'[Date],-1,MONTH))
可以看到,计算借款总金额和总待还金额时,本质上我们用了两组相同的代码
只有CALCULATE 的第一参数不一样,而计算组正好就是解决这一问题的,即类似的代码,避免重复
将度量值拉入矩阵

3.2 计算组方案
列出所需计算组的计算组度量值

将行放上我们的计算组,列放上日期,值放上我们需要计算的两个度量值

3.3 结果对比
我们可以看到,两种方案的值是一样的,即计算组实现了和纯度量值,一样的应用效果

四:总结
经过前面的计算组对照验证
我们发现计算组的优势:
1:节约度量值,同一逻辑的度量值,我们只需要一组计算组度量值即可,无须重复书写度量值
本文仅用到了两个基础度量值给大家做演示,实际生产环境中,往往有大量基础度量值,需要书写环同比分析
假设有10个度量值需要环同比
那么纯度量值方案将会需要 310, 即 30个 度量值
计算组方案则只需要,一个环同比计算组及10个基础度量值,即 13个 度量值
2:提高数据准确性,由于避免了大量基础度量值的编写,所以也避免了重复书写度量值的过程中,书写错误导致数据出错的概率
以上就是本次分享的全部内容了
下一篇文章会给大家介绍,基于计算组的任意日期周期数据对比,也是计算组的实际运用案例(会在24年6月下旬更新)
PowerBI_一分钟了解POWERBI计算组_基础运用篇(一)的更多相关文章
- BZOJ_4765_普通计算姬_分块+dfs序+树状数组
BZOJ_4765_普通计算姬_分块 Description "奋战三星期,造台计算机".小G响应号召,花了三小时造了台普通计算姬.普通计算姬比普通计算机要厉害一些 .普通计算机能 ...
- web前端学习python之第一章_基础语法(二)
web前端学习python之第一章_基础语法(二) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- web前端学习python之第一章_基础语法(一)
web前端学习python之第一章_基础语法(一) 前言:最近新做了一个管理系统,前端已经基本完成, 但是后端人手不足没人给我写接口,自力更生丰衣足食, 所以决定自学python自己给自己写接口哈哈哈 ...
- Mysql优化_第十三篇(HashJoin篇)
Mysql优化_第十三篇(HashJoin篇) 目录 Mysql优化_第十三篇(HashJoin篇) 1 适用场景 纯等值查询,不能使用索引 等值查询,使用到索引 多个join条件中至少包含一个等值查 ...
- SSM整合_年轻人的第一个增删改查_基础环境搭建
写在前面 SSM整合_年轻人的第一个增删改查_基础环境搭建 SSM整合_年轻人的第一个增删改查_查找 SSM整合_年轻人的第一个增删改查_新增 SSM整合_年轻人的第一个增删改查_修改 SSM整合_年 ...
- [solution]腾讯TEG_计算广告组_算法题
度娘笔试归来,题目实打实的,感觉真心不易,上百号人就抢那么几个坑......只恨自己平时积累太少啊~ 故曝一道鹅厂面试用的算法题(当时我就死在了这题上),来为度娘家攒一下RP~ 题目: 对于长度为N的 ...
- Linux常见命令(用户和组_待补充完善)
添加新用户: useradd [一次性创建新用户账户及设置用户HOME目录结构的简便方法] useradd -D [Linux系统的系统默认值] useradd -m test [创建新用户test目 ...
- jodatime 计算时间差_统计程序运行耗时
https://blog.csdn.net/De_Moivre/article/details/79775661 记录开始执行的时间 DateTime startDateTime=new DateTi ...
- 二、linux基础-路径和目录_用户管理_组_权限
2.1路径和目录1.相对路径:参照当前目录进行查找. 如:[root@localhost ~]# cd ../opt/hosts/备注:相对路径是从你的当前目录开始为基点,去寻找另外一个目录(或者 ...
- SQL,group by分组后分别计算组内不同值的数量
select name as 姓名,sum( case when cargo='笔' then 1 else 0 end ) as 笔,sum( case when cargo='橡皮' then 1 ...
随机推荐
- 云原生 DevOps,模型化应用交付能力很重要!
简介: DevOps 文化及其支撑其落地实践的自动化工具与平台能力在云原生架构渐为普及的背后,发挥了关键的价值. 撰稿:溪洋 云原生正在成为企业业务创新和解决规模化挑战的加速器. 云原生带来的变革绝 ...
- Flink 1.12 资源管理新特性回顾
简介: 介绍 Flink 1.12 资源管理的一些特性,包括内存管理.资源调度.扩展资源框架. 本文由社区志愿者陈政羽整理,Apache Flink Committer.阿里巴巴技术专家宋辛童,Apa ...
- Hologres揭秘:如何支持超高QPS在线服务(点查)场景
简介: 本期我们将揭秘Hologres如何支持超高QPS在线服务(点查)场景. Hologres(中文名交互式分析)是阿里云自研的一站式实时数仓,这个云原生系统融合了实时服务和分析大数据的场景,全面兼 ...
- WPF 框架开发 调试和开发 XAML 构建过程的 PresentationBuildTasks 方法
阅读本文,你可以了解如何编写开发和调试 XAML 构建为 Baml 和 g.cs 文件的过程和工具.本文也适合想要了解 WPF 的 XAML 构建过程的开发者阅读,本文提供了可以断点调试 WPF 的 ...
- Vue3 和 Vue2 的异同及开发中具体区别
目录 总体来说 性能提升 树摇(Tree shaking) 碎片化节点(Fragment) 传送门 (Teleport) Suspense 更好的TypeScript支持 Composition AP ...
- Dubbo SPI-Wrapper
前言 在Dubbo SPI中是通过Wrapper实现AOP,对于AOP相信大家都不陌生,这里不做的过多的介绍,我们主要来了解Dubbo SPI中是如何使用Wrapper类以及实现的细节. 使用场景 D ...
- SpringBoot快速配置多数据源(整合MyBatis)
前言 由于业务需求,需要同时在SpringBoot中配置两套数据源(连接两个数据库),要求能做到service层在调用各数据库表的mapper时能够自动切换数据源,也就是mapper自动访问正确的数据 ...
- centos 7 开启 httpd 服务和 80 端口
centos 7 开启 httpd 服务和 80 端口 yum install -y httpd systemctl start httpd firewall-cmd --add-service=ht ...
- layui.js
目录 用法: 1.在base.js里导入layui插件 2.在使用的html页面里引入 base.js lucky.js index.html 用法: 1.在base.js里导入layui插件 2.在 ...
- 1.简单的C语言程序
简单的C语言程序 什么是计算机程序? 什么是计算机语言? 所谓程序,就是一组计算机能识别和执行的指令. 什么是计算机语言? 机器语言(0,1 '低级语言'),汇编语言(符号化 '低级语言'),高级语言 ...