BI技巧丨计算组格式
创始人
2025-05-30 08:24:53

计算组最重要的用途,按照白茶的理解,有两个:
1.相同逻辑的度量值,可避免重复造轮子;
2.可自定义DAX格式而不改变其原有的数据格式。

白茶在之前的文章中曾经介绍过,计算组的用途除了避免重复造轮子外,还可以用来自定义数据格式。

那么什么样的场景适合使用自定义格式?自定义格式是怎样应用的呢?

案例数据:

案例数据比较简单,只有一张事实表。将其导入到PowerBI中,通过如下代码,建立模型关系。

Date = 
GENERATE (CALENDAR ( MIN ( 'Sales'[DATE] ), MAX ( 'Sales'[DATE] ) ),VAR DA = [Date]VAR YEAR =YEAR ( DA )VAR QUARTER ="Q" & FORMAT ( DA, "Q" )VAR MONTE =FORMAT ( DA, "MM" )VAR DAY =DAY ( DA )RETURNROW ("Year", YEAR,"Quarter", QUARTER,"Month", MONTE,"DayOfMonth", DAY,"YearQuarter", YEAR & QUARTER,"YearMonth", YEAR & MONTE,"YearMonthCount",YEAR * 12 + MONTE)
)

结果如下:

我们先来构建三个基础的指标:

销售数量:

Quantity = 
SUM ( Sales[Quantity] )

同比:

Count同比% = 
VAR CurrentCount =SELECTEDVALUE ( 'Date'[YearMonthCount] )
VAR LastYearMonthCount = CurrentCount - 12
VAR LastYearMonthValue =CALCULATE ([Quantity],FILTER ( ALL ( 'Date' ), 'Date'[YearMonthCount] = LastYearMonthCount ))
VAR Result =DIVIDE ( [Quantity] - LastYearMonthValue, LastYearMonthValue )
RETURNResult

环比:

Count环比% = 
VAR CurrentCount =SELECTEDVALUE ( 'Date'[YearMonthCount] )
VAR LastMonthCount = CurrentCount - 1
VAR LastMonthValue =CALCULATE ([Quantity],FILTER ( ALL ( 'Date' ), 'Date'[YearMonthCount] = LastMonthCount ))
VAR Result =DIVIDE ( [Quantity] - LastMonthValue, LastMonthValue )
RETURNResult

举个例子:

现在老板希望可以通过切片器,来动态的切换数据,那么在我们学习计算组之前,我们的处理方式如下:

1.添加一张维度表。

2.添加动态度量值。

动态数据 = 
SWITCH (TRUE (),SELECTEDVALUE ( '动态数据'[Type] ) = 1, [Quantity],SELECTEDVALUE ( '动态数据'[Type] ) = 2, [Count同比%],SELECTEDVALUE ( '动态数据'[Type] ) = 3, [Count环比%]
)

结果如下:

可以看出来,我们虽然实现了动态切换度量值,但是从实际应用上来讲,切换的同时,也希望可以同时切换数据格式的。

原来的处理办法如下:

动态格式 = 
SWITCH (TRUE (),SELECTEDVALUE ( '动态数据'[Type] ) = 1, [Quantity],SELECTEDVALUE ( '动态数据'[Type] ) = 2, FORMAT ( [Count同比%], "0.00%" ),SELECTEDVALUE ( '动态数据'[Type] ) = 3, FORMAT ( [Count环比%], "0.00%" )
)

结果如下:

这种从肉眼上,实现了数据格式的动态切换,但是本质数据格式已经发生了改变。

而使用计算组的方式,则会更加的便捷。

PS:
当然,有的小伙伴会说,我用字段参数也行啊。
用字段参数的方式当然也是可以的,但是在字段参数出现之前,计算组的方式更加便捷,而且,对比字段参数,计算组还有其他用途。

打开Tabular Editor,依次点击鼠标右键:

Table→Create New→Calculation Group,创建名为“动态”的计算组,并且添加“数量、同比、环比”三个计算项,结果如下:

依次编辑三个计算项:

这里直接引用好我们构建的度量值即可,然后针对三个计算项,每个设定相应的格式。

保存应用,返回到PowerBI中,添加如下度量值:

计算组格式 = 
0

这里大家也可以随便写一个度量值,什么都可以,用作占位即可,白茶稍后会解释原因。

将其拖放到表格中,展示如下:

当我们点击切片器时,结果如下:

这样我们就实现了动态数据格式功能。

PS:
当页面有计算组字段,未进行筛选时,度量值会展示原本的计算结果;
计算组字段筛选时,会展示计算项的算法逻辑,会直接进行覆盖。

到这里就结束了么?并没有,除了这种动态切换度量值的应用以外,我们还可以将数字标签转换为文本。

在Tabular Editor中,我们继续新建一个计算组。

将其拖放到折线图中,并且将新建的计算组字段,放到当前可视化筛选器中,展示结果如下:

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

相关内容

热门资讯

lol女枪西部牛仔有没有特效,... lol女枪西部牛仔有没有特效目录lol女枪西部牛仔有没有特效烬哪个皮肤手感好?lol女枪西部牛仔有没...
灭鼠神器超声波管用吗,超声波灭... 灭鼠神器超声波管用吗目录灭鼠神器超声波管用吗超声波灭老鼠有效果吗?电子猫超声波驱鼠器电子灭鼠器,管用...
5173交易账号收多少手续费啊... 本篇文章极速百科给大家谈谈5173交易账号收多少手续费啊,以及5173账号交易收费标准对应的知识点,...
父亲节是每年的几月几号呢,父亲... 父亲节是每年的几月几号呢目录父亲节是每年的几月几号呢父亲节母亲节是几月几号 父亲节和母亲节是每年的几...
53-exec进程替换 exec进程替换 一.exec系列 1.execl #include#include#include...
CF1737E Ela Goe... CF1737E Ela Goes Hiking 题目大意 nnn 只蚂蚁站成一排,第 ...
福州一日游哪里好玩,福州一日游... 福州一日游哪里好玩目录福州一日游哪里好玩福州一日游必去景点福州一天游,求推荐去哪福州一日游,有什么好...
新车5到6万买什么车好,预算5... 新车5到6万买什么车好目录新车5到6万买什么车好预算5万,有哪些车款可以推荐?买车5-6万买什么车好...
网络语言JMS是什么意思(jm... 本篇文章极速百科给大家谈谈网络语言JMS是什么意思,以及jms是什么意思中文翻译对应的知识点,希望对...
苹果6id锁怎么强制解除,苹果... 苹果6id锁怎么强制解除目录苹果6id锁怎么强制解除苹果六忘记ID激活锁怎么办如何强制解除id锁的方...
机器人阻抗控制(二) #阻抗控制 #机器人控制 #动力学方程 《Cartesian Impedance Control o...
SkyWalking 日志收集 SkyWalking 日志收集一、需求二、步骤2.1 pom文件引入依赖2.2 logback-sp...
DETR网络模型构建 这篇文章主要为记录DETR模型的构建过程 首先明确DETR模型的搭建顺序:首先是bac...
算法强化每日一题--组队竞赛 大家好 先看看题目 链接:组队竞赛__牛客网 [编程题]组队竞赛 牛牛举办了一次编...
什么是人际交往,什么是人际交往... 什么是人际交往目录什么是人际交往什么是人际交往?影响人际交往的因素有哪些?什么是人际交往人际交往指的...
自考大专什么时候报名,自考大专... 自考大专什么时候报名目录自考大专什么时候报名自考大专怎么报名 报考时间在几月份?每年的什么时候报名自...
蚕的变化过程,蚕的一生经历了哪... 蚕的变化过程目录蚕的变化过程蚕的一生经历了哪几个阶段?咨询:蚕的演变过程?蚕的生长变化顺序是怎样的?...
汽车出现service是什么意... 汽车出现service是什么意思目录汽车出现service是什么意思车上的service是什么意思?...
arcpy基础篇(6)-制图脚... arcpy.mapping模块可以实现地图制图的自动化,它的具体功能包括管理地图文档、...
基于 Zynq 的振动台控制器... 3 振动台控制器架构设计与实现 如前所述,Zynq-7000 本身已经具有了独特的架...
为什么手机收不到验证码短信,为... 为什么收不到短信验证码 3. 曾经向运营商申请过屏蔽短信号码,或添加过黑名单。 4. 短...
中国移动如何免费领取10G流量... 中国移动如何免费领取10G流量目录中国移动如何免费领取10G流量免费领10g流量的软件中国移动送10...
描写孩子童真的句子,孩子童真的... 描写孩子童真的句子目录描写孩子童真的句子孩子童真的唯美句子有哪些?描写童真童趣的一段话,急急!!!描...
QQ空间如何自定义封面,进入q... QQ空间如何自定义封面目录QQ空间如何自定义封面进入qq空间时的封面怎么设置?不花钱的那种怎样制作Q...
55-kill命令及实现kil... kill命令及实现kill命令 一. kill命令简介 在Linux系统中,kill命...
【问题与方法】如何使用vsco... 码字不易,如果各位看官感觉该文章对你有所帮助,麻烦点个关注,...
OMM导致tomcat引用假死 背景 在开发测试环境发现一个奇怪的情况,因查询100w条数据导致OOM,...
座落是哪个坐,座落是座还是坐?... 座落是哪个坐目录座落是哪个坐座落是座还是坐?座位是广字框的左还是哪个座?座落的意思座落是哪个坐 ...
人在什么情况下会失温(人体失温... 今天给各位分享人在什么情况下会失温的知识,其中也会对人体失温如何自救进行解释,如果能碰巧解决你现在面...
如何抓好安全生产工作 极速百科... 如何抓好安全生产工作目录如何抓好安全生产工作如何抓好安全生产工作我们应当如何做好安全生产工作,预防事...