美文网首页BI学习笔记
BI技巧丨子级数据汇总

BI技巧丨子级数据汇总

作者: Fabric丨白茶 | 来源:发表于2022-10-07 20:40 被阅读0次

BOSS:白茶,有个逻辑,能实现不?

白茶:不能!(认真脸)

BOSS:......规矩我懂,加钱!

白茶:BOSS你说一下业务逻辑。(倾听中)

BOSS:是这样的,我们的组织架构,分为两层,管理层和销售层,实际业务销售过程中管理层也是有销售存在的,能不能把管理层自身的销售数据和下属的销售层数据汇总一起展示?

白茶:父级汇总自身数据及子级相关数据?

BOSS:对对对!就是这样,能搞不?

白茶:没问题!

本期的问题就是上面谈话的内容,那么这个需求在PowerBI中是如何实现的呢?

先来看看本期的案例数据:

案例数据共计两张表,一张销售事实表,一张人员架构的维度信息表。数据并不是特别的复杂,比较烧脑的是组织架构父级汇总子级数据。

例如:

在展示管理层人员“O”的销售金额时,需要计算O自身的销售额,以及PQRST这五个人的销售额,其余人以此类推。

将数据导入到PowerBI中,模型关系如下:

这里我们可以选择建立模型关系,也可以选择不建立,展示结果上,差异并不大。

这个需求的实现,涉及到了PATH函数和PATHCONTAINS函数。

PATH函数

语法:

DAX=
PATH(<子级标识列>, <父级标识列>)

返回结果:

PATH结果可以返回整数和文本列,值得注意的是,子级和父级必须是物理列,不可以是表达式。

且PATH函数仅支持导入模式,不支持直连模式。

PATHCONTAINS函数

语法:

DAX=
PATHCONTAINS(<PATH列>, <查找项>)

返回结果:

根据查找项来判断PATH函数生成的列是否包含查找项,返回逻辑值TURE或FALSE。

此函数也是仅支持导入模式,不支持直连模式。

新增计算列

在DIM表中,我们通过PATH函数,来新增一列,展示相关人员的完整架构层级路径。

组织结构 =
PATH ( Dim[人员], Dim[直属领导] )

结果如下:

计算子级汇总

编写如下DAX,计算各个父级及相关子级数据汇总。

总销售额 =
VAR ACCESS =
    CALCULATETABLE (
        VALUES ( Dim[人员] ),
        FILTER ( ALL ( 'DIM' ), PATHCONTAINS ( 'Dim'[组织结构], VALUES ( 'DIM'[人员] ) ) )
    )
RETURN
    IF (
        HASONEVALUE ( 'Dim'[人员] ),
        CALCULATE (
            SUM ( 'Fact'[销售金额] ),
            FILTER ( ALL ( 'Fact' ), 'Fact'[销售人员] IN ACCESS )
        )
    )

结果如下:

解释一下代码含义:

变量ACCESS中,利用FILTER函数和PATHCONTAINS函数,根据每一行的数据,来筛选出完整的父子结构。例如:当直接筛选为O时,则会筛选出[组织结构]列中所有包含“O”项的行。

再通过CALCULATETABLE函数来筛选这些包含“O”项的[人员]行。

最后,通过CALCULATE函数与FILTER函数来判断每一行对应的[人员]项,利用ALL函数进行上下文清除汇总。

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


相关文章

  • BI技巧丨子级数据汇总

    BOSS:白茶,有个逻辑,能实现不?白茶:不能!(认真脸)BOSS:......规矩我懂,加钱!白茶:BOSS你说...

  • BI技巧丨RankxYoY

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

  • BI技巧丨均值之上

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

  • BI技巧丨粒度切换

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

  • BI技巧丨权限轴

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

  • BI技巧丨当月期初

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

  • BI技巧丨权限下载

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

  • BI技巧丨筛选重置

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

  • BI技巧丨财务累计

    日常使用PowerBI制作看板过程中,往往需要我们在看板的第一浏览区将用户最关注的核心指标呈现出来。白茶在之前的文...

  • BI技巧丨矩阵高亮

    BOSS:白茶,问你个事,PowerBI里面能不能让我选择哪个条件,对应的数据就在表格里面高亮显示啊?白茶:(黑人...

网友评论

    本文标题:BI技巧丨子级数据汇总

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