美文网首页BI学习笔记
BI技巧丨计算组

BI技巧丨计算组

作者: Fabric丨白茶 | 来源:发表于2023-03-10 12:00 被阅读0次

PowerBI有三大工具,分别是DAX Studio,Tabular Editor和Bravo。
DAX Studio通常我们会用来进行性能分析和DAX调优使用,Bravo一般用来批量格式化DAX,而Tabular Editor主要的功能就是计算组。
计算组这个名词,相信很多小伙伴都听过,但也有很多小伙伴其实并没有用过这个功能,本期我们来了解一下,计算组的用途以及使用方法。
案例数据:

案例数据比较简单,只有一张事实表。
将其导入到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 )
    RETURN
        ROW (
            "Year", YEAR,
            "Quarter", QUARTER,
            "Month", MONTE,
            "DayOfMonth", DAY,
            "YearQuarter", YEAR & QUARTER,
            "YearMonth", YEAR & MONTE,
            "YearMonthCount",
                YEAR * 12 + MONTE
        )
)

结果如下:

到这里,我们的准备工作结束。
安装Tabular Editor,这里就不赘述了,小伙伴们可以自行搜索Tabular Editor2。

注:目前Tabular Editor2版本还是免费的,最新版Tabular Editor3属于收费。

计算组最重要的用途,按照白茶的理解,有两个:
1.相同逻辑的度量值,可避免重复造轮子;
2.可自定义DAX格式而不改变其原有的数据格式。
这里,我们只介绍如何避免重复造轮子。
举个例子:
我们现在有三段代码,分别用来计算销售数量的本期、同比以及环比。
销售数量:

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 )
RETURN
    Result

环比:

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 )
RETURN
    Result

结果如下:

这里,白茶为了更好阐述计算组的用途,特意使用了较为复杂的逻辑。
在实际工作中,我们经常会遇到同一套逻辑,针对不同的KPI,我们需要重复写DAX的情况。
这样不仅费时费力,而且后续维护起来,也是一个巨大的麻烦,而计算组的出现,很好的解决了这一烦恼。
在安装好Tabular Editor后,我们会在面板导航上面,发现一个新的功能区”外部工具“(其他工具安装好后,也会出现在这里)。

我们选择点击,打开Tabular Editor。

在之前的版本中,还需要在预览功能里面打开“使用增强的元数据格式存储数据集”功能,目前最新版已经不需要了。

打开之后的页面如下:

依次点击鼠标右键:Table→Create New→Calculation Group,会出现如下界面:

这里会构建一张新表,我们需要针对此表进行命名,例如:同环比。
依次点击鼠标右键:表名→Create New→Calculation Item,会出现如下界面:

Name是展示我们构建逻辑的名称,New Calculation则是逻辑名称以及构建我们需要的业务逻辑。我们可以创建两个业务逻辑,分别是同比和环比。
这里会使用到一个特殊的函数:SELECTEDMEASURE。此函数的用途,用来代替我们要计算的指标。
同比:

VAR CurrentCount =
    SELECTEDVALUE ( 'Date'[YearMonthCount] )
VAR LastYearMonthCount = CurrentCount - 12
VAR LastYearMonthValue =
    CALCULATE (
        SELECTEDMEASURE(),
        FILTER ( ALL ( 'Date' ), 'Date'[YearMonthCount] = LastYearMonthCount )
    )
VAR Result =
    DIVIDE ( SELECTEDMEASURE() - LastYearMonthValue, LastYearMonthValue )
RETURN
    Result

结果如下:

环比:

VAR CurrentCount =
    SELECTEDVALUE ( 'Date'[YearMonthCount] )
VAR LastMonthCount = CurrentCount - 1
VAR LastMonthValue =
    CALCULATE (
        SELECTEDMEASURE(),
        FILTER ( ALL ( 'Date' ), 'Date'[YearMonthCount] = LastMonthCount )
    )
VAR Result =
    DIVIDE ( SELECTEDMEASURE() - LastMonthValue, LastMonthValue )
RETURN
    Result

结果如下:

两个逻辑构建完毕之后,我们点击保存按钮。

此时,我们回到PowerBI Desktop页面,会出现如下页面,点击立即刷新即可。

此时,我们就可以在表中看到刚才构建的计算组了。

最终展示效果如下:

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


相关文章

  • BI技巧丨计算Topn品名

    BOSS:白茶,问你个事,能不能动态的根据我们的销量,告诉我销量前三的商品有哪些?这样便于我针对商品进行调控。白茶...

  • BI技巧丨同环比计算

    我们在做BI报表分析的时候,大部分指标的运算逻辑都不是特别的复杂,很多用户对于指标最基本的需求,就是可以展示当月数...

  • BI技巧丨百分位计算

    百分位计算 百分位数据计算,可以说是日常计算中比较常见的需求,通常会用于价格段位分析使用,而在PowerBI中,用...

  • BI技巧丨RankxYoY

    群友:PowerBI可以实现两年的排名差异么?白茶:可以!安排! 本期的问题,来自于群内小伙伴的一个实际应用场景。...

  • BI技巧丨均值之上

    BOSS:白茶呢?!今天没来么?同事:来了啊,老板,不过你上次不是罚他扫厕所么?厕所了!BOSS:哎哟!这个时候扫...

  • BI技巧丨粒度切换

    白茶在很久之前,写过关于笛卡尔积的两个函数。 GENERATE函数与CROSSJOIN函数。 传送门:《笛卡尔积》...

  • BI技巧丨权限轴

    BOSS:(愁眉苦脸)白茶呢?同事:(推一推)醒醒,白茶,BOSS喊你!白茶:(一脸懵)咋了,老板?BOSS:(一...

  • BI技巧丨当月期初

    最近在群里,小伙伴提出了一个有意思的算法逻辑,决定分享给大家。 先来看看本期的案例数据: 如图,数据相对而言比较简...

  • BI技巧丨权限下载

    BOSS:白茶,问你个事,就是报表的下载权限,这个能控制不?白茶:可以啊,老板,工作区限制成员身份就可以啊。BOS...

  • BI技巧丨筛选重置

    在开发的过程中,用户最喜欢,最习惯看的,还是类似于Excel形式的明细表格。 执行层用户需要的,往往是一张Deta...

网友评论

    本文标题:BI技巧丨计算组

    本文链接:https://www.haomeiwen.com/subject/gnnvxdtx.html