Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >BI技巧丨子级数据汇总

BI技巧丨子级数据汇总

原创
作者头像
PowerBI丨白茶
发布于 2022-10-07 12:51:31
发布于 2022-10-07 12:51:31
6910
举报
文章被收录于专栏:PowerBIPowerBI

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

白茶:不能!(认真脸)

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

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

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

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

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

白茶:没问题!

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

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

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

例如:

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

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

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

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

PATH函数

语法:

代码语言:txt
AI代码解释
复制
DAX=
PATH(<子级标识列>, <父级标识列>)

返回结果:

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

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

PATHCONTAINS函数

语法:

代码语言:txt
AI代码解释
复制
DAX=
PATHCONTAINS(<PATH列>, <查找项>)

返回结果:

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

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

新增计算列

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

代码语言:txt
AI代码解释
复制
组织结构 =
PATH ( Dim[人员], Dim[直属领导] )

结果如下:

计算子级汇总

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

代码语言:txt
AI代码解释
复制
总销售额 =
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的初学者。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
销售需求丨购物篮分析
在实际业务中,商场物品的摆放是否对营销有所影响?所策划的营销活动是否真正的起到了促销价值?活动赠品的使用效果如何?购物篮分析是啥?
PowerBI丨白茶
2021/09/03
4770
销售需求丨购物篮分析
BI技巧丨权限轴
BI报表在实际应用中,往往需要对报表权限进行配置,例如RLS权限、OLS权限、页面权限等等。
PowerBI丨白茶
2022/07/02
4060
BI技巧丨权限轴
BI技巧丨按列排序
PowerBI本身内置的排序方式,是遵循ASCII国际标准的方式,这就导致了中文的默认排序对于很多小伙伴来说并不友好。
PowerBI丨白茶
2022/11/12
3.6K0
BI技巧丨按列排序
BI技巧丨权限管控
这个问题相信很多小伙伴都遇到过,或者被其他人问过,白茶总结了一下用户比较在意的几个点:安全性、自助性、权限管控、易用性、兼容性、扩展性、便捷性、反应速度等。
PowerBI丨白茶
2022/01/22
1.3K0
BI技巧丨权限管控
SUMMARIZE函数解决之前的总计错误
这些都是之前的文件,这里拿出来是为了方便小伙伴们观看对比使用的。先来说一下什么意思:
PowerBI丨白茶
2021/09/02
8190
SUMMARIZE函数解决之前的总计错误
BI技巧丨用户留存问题
对于很多新兴行业来说,用户留存都是一个比较突出的问题。因为用户就代表着市场的占有率,也代表商业的大盘,盘子越大,能产生的价值也越高,因此越来越多的企业开始重视用户留存的问题。
PowerBI丨白茶
2021/09/04
4450
BI技巧丨用户留存问题
精品丨DAX性能优化问题
一张好的报表是如何界定的?DAX计算无误、前端展现明了、业务思路清晰、报表响应速度,白茶觉得这些因素就可以界定一张好的报表。
PowerBI丨白茶
2021/09/04
4340
精品丨DAX性能优化问题
函数周期表丨筛选丨表丨CALCULATETABLE
某种意义上来说,CALCULATETABLE函数其实就是CALCULATE函数的表函数模式。
PowerBI丨白茶
2021/08/29
1.2K0
函数周期表丨筛选丨表丨CALCULATETABLE
阅读圣经丨变量引起的上下文
就是在《变量(二)》结尾的时候,白茶曾经说过,按照我们中国式报表的需求,BOSS关注的不仅仅是第一次,而是每一次的成交日,以及每一次的成交金额,那么该如何进行呢?
PowerBI丨白茶
2021/09/02
3680
阅读圣经丨变量引起的上下文
BI技巧丨财务累计
日常使用PowerBI制作看板过程中,往往需要我们在看板的第一浏览区将用户最关注的核心指标呈现出来。白茶在之前的文章中曾提到过,用户关注的核心指标,基本上都是时间指标。
PowerBI丨白茶
2022/10/22
1.7K0
BI技巧丨财务累计
BI技巧丨价格区间分析
在零售快消行业,经常需要分析产品的定价区间是否合理,以便快速找准产品的市场定位,灵活调整产品定价。
PowerBI丨白茶
2022/03/12
1.2K0
BI技巧丨价格区间分析
函数周期表丨筛选丨表丨ADDMISSINGITEMS
从本期开始,白茶会开始梳理筛选器函数,坦白说,这一部分的函数有一些晦涩难懂,即使用咱的中国话来说,白茶也是觉得比较拗口的。
PowerBI丨白茶
2021/08/29
8840
函数周期表丨筛选丨表丨ADDMISSINGITEMS
BI技巧丨矩阵高亮
本期的需求,就是上面的内容,就像白茶说的那样,本身PowerBI是自带突出显示和交叉筛选的。但是往往我们接触的用户群体,还处于从Excel到BI的过渡期,习惯了Excel里面背景高亮的操作,那么在PowerBI中如何满足这个中国式报表需求呢?
PowerBI丨白茶
2022/08/12
6560
BI技巧丨矩阵高亮
BI技巧丨滚动柱形图
但是很多可视化图形,在数据跨年的时候,因为节点问题,会导致原本的趋势变成单点或者单个柱子,这对用户来说体验是非常差的。
PowerBI丨白茶
2022/05/14
9152
BI技巧丨滚动柱形图
BI技巧丨判定0与空
常规情况下,我们去衡量数据质量的时候,往往会在意有数值的数据,但是在实际业务中,特别是偏向于财务的算法中,0和空有些时候也是一个比较重要的计算依据。
PowerBI丨白茶
2021/10/24
6720
BI技巧丨判定0与空
销售需求丨表格配色
BOSS年龄大了,看不懂可视化插件,就希望能有一个表格,简简单单就行,但是需要让表格自动标记颜色。
PowerBI丨白茶
2021/09/03
1.2K0
销售需求丨表格配色
BI-SQL丨WITH AS
在DAX函数中,有些时候我们写的DAX逻辑引用次数过多,或者是性能过差,我们都会选择使用VAR来定义一个变量,减少资源的占用和方便重复的引用。而有些时候,为了进一步提高性能,我们还会选择通过VAR定义虚拟表来减少迭代遍历的次数。
PowerBI丨白茶
2022/04/15
4890
BI-SQL丨WITH AS
销售需求丨固定日期汇报
白茶最近在群里和小伙伴们吹水的时候,发现有很多报表都是需要根据具体的实际需求来进行的。很多大佬喜欢称呼这类需求为中国式报表。举一个简单的例子。
PowerBI丨白茶
2021/09/03
4120
销售需求丨固定日期汇报
函数周期表丨筛选丨值丨KEEPFILTERS
如果说,CALCULATE函数和CALCULATETABLE函数是霸道的话,那么KEEPFILTERS函数就是温柔。
PowerBI丨白茶
2021/08/29
4210
函数周期表丨筛选丨值丨KEEPFILTERS
函数周期表丨时间智能丨表丨FIRSTNONBLANK/LASTNONBLANK
FIRSTNONBLANK函数与LASTNONBLANK函数属于“表”函数,当然,有些时候也可以作为“值函数”使用。
PowerBI丨白茶
2021/08/28
5160
函数周期表丨时间智能丨表丨FIRSTNONBLANK/LASTNONBLANK
相关推荐
销售需求丨购物篮分析
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档