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个度量值需要环同比

那么纯度量值方案将会需要 3✖10, 即 30个 度量值

计算组方案则只需要,一个环同比计算组及10个基础度量值,即 13个 度量值

2:提高数据准确性,由于避免了大量基础度量值的编写,所以也避免了重复书写度量值的过程中,书写错误导致数据出错的概率

以上就是本次分享的全部内容了

下一篇文章会给大家介绍,基于计算组的任意日期周期数据对比,也是计算组的实际运用案例(会在24年6月下旬更新)