首页 文章详情

全网首发:DAX 艺术 - 史上最简最快帕累托计算

PowerBI战友联盟 | 2 2023-08-19 10:01 0 0 0
UniSMS (合一短信)

如果有一个问题能测试一下你对 DAX 的理解,那问如何实现帕累托分析即可。

关于这个问题,我们讨论过多次,在最近一次关于帕累托分析的文章中,我们已经给出全网最快的帕累托分析计算,性能比常规版本提升 10 倍。

但纯粹考虑性能,是一个 IT 问题。这并非我们的追求。今天发布的关于帕累托的计算,它基于我们最新的研究成果,具备:

  • 【特点 1】这是 DAX 中进行帕累托分析,史上性能最高的公式。

  • 【特点 2】这是 DAX 中进行帕累托分析,史上写法最简的公式。

  • 【特点 3】这是 DAX 中进行帕累托分析,史上最具模式的公式。

下面就来一起欣赏数据分析中的艺术吧。

(本文同时回应此前文章中的问题,窗口函数出现后,给基于 Power BI 的商务数据分析带来哪些根本变化。)

帕累托累计占比计算

帕累托分析,大致是要构建一个这样的图形:

这里的难点就是对积累占比的计算。

我们知道很多人是可以写出来这个计算的,我们也不提倡一个茴香豆的茴字有九种写法。

我们研究的核心是:业务数据分析师可以高度复用的设计模式

下面给出这个艺术性的公式:

(可以直接复制使用)

View.ABC.Cummulate%.Window = 

VAR vPT =
CALCULATETABLE(
ADDCOLUMNS(
VALUES( 'DIM 产品'[产品子类别] ) ,
"@Sales" , [KPI.Sales]
),
ALLSELECTED( )
)

RETURN
SUMX( WINDOW( 0 , REL , -1 , ABS , vPT , ORDERBY( [@Sales] ) ) , [@Sales] ) /
SUMX( vPT , [@Sales] )

我们看下这个公式在 DAX 编辑器里的样子:

从 DAX 公式内的不同颜色文本,可以看出:这个公式仅仅只是在一处使用了度量值。

我们相信每个玩 DAX 的伙伴都会兴奋地试试这个公式,你会感觉到她的魅力,她是完美之作:

  • 对于运行帕累托累计占比计算,该公式是史上性能最强版,您几乎不太可能写出比这个更快的版本。

  • 对于运行帕累托累计占比计算,该公式是史上写法最简版,您几乎不太可能写出比这个更简的版本。

  • 对于运行帕累托累计占比计算,该公式是史上模式最妙版,您几乎不太可能写出比这个更妙的版本。

首先,建议你自己去体会这个公式,甚至可以用大量数据来测试它的性能,你会震惊的。

设计模式概述

我相信您的感受和我是类似的:

  • 如果你是基于 Power BI 的商务数据分析的初学者,你根本看不懂以上的公式,你会觉得很难。

  • 如果你是资深 Power BI 玩家,研究过各种 DAX 技巧,你会很诧异以上的公式,当你看懂后,你会拍案叫绝的。

但这都不是我们的目的。

首先,这个公式一点也不难。

如果你认为这个公式难,那是因为你用了和我们不同的思维模式。

这个公式的含义是:

第一步:构建视图层表。

第二步:在视图层完成表计算。

这里用到了两大设计模式:

  • 还原视图层设计模式

  • 视图层表计算设计模式

这些设计模式是专门为基于 Power BI DAX 做建模和计算的商务数据分析师研发的。

你可以将你自己常用的模式整理以便复用。

关于视图层表计算

Power BI 目前(2023.8)并不在界面上支持视图层表计算,这给业务分析师带来了计算的巨大门槛。

在 Excel,Tableau,FineBI 等商业智能工具中都原生提供了这种支持。

幸好,在 2023 年,DAX 推出了窗口函数,经过几个月的改良,目前这套机制在正确的思维框架下使用,就可以首先表计算的所有特性。

也就是说:

  • Power BI 缺乏一个本该拥有但尚未拥有的必要功能。

  • 该功能在其他同类工具中都存在。

  • 我们借助 DAX 窗口函数通过最佳实践的设计模式来构建以自行实现。

不难看出,一旦 Power BI 中弥补了这种特性后,Power BI 将进一步简化,以便被更多人更容易地使用。这不过,这天还不知道什么时候到来而已。

但这并不影响我们使用精炼的设计模式来解决一切问题。

DAX 最佳实践

不难看出,不同的人在使用 DAX 上,是完全不同的,这种不同,将导致:

  • 有人认为 DAX 很难,只是因为没有用到正确的套路。

  • 有人学习了大量 DAX 知识,但并没有形成系统框架和设计模式,全是技巧,无法复用。

  • 写法和性能千差万别,得不到有效的保证。

在这方面,我们推荐大家学习《BI 真经》,我们将所有全新【商务数据分析设计模式】将陆续推出,目前计划从《BI 真经》演唱会开始,陆续开放。

《BI真经》演唱会 - 节选

这将使用类似本文的模式和套路,解决几乎一切分析模型的设计和实现,无需复杂技巧,只需复用模式。这些模型包括:80/20 分析,帕累托分析,波士顿矩阵,NPS 模式,RFM 模型,PVM 模型,AARRR 模型,新老客户模型,流失留存模型,购物篮模型,时间维度计算等。

整套全新模式,全网独家首发,彻底解决商务数据分析师使用 Power BI 的复杂问题。

《BI真经》演唱会 - 节选
短短15分钟体验极度专业:建立框架,原创精华

未来展望

我们已经针对商务数据分析师开发了两套终极课程:《BI 真经》和《分析之道》,目前陆续缓慢开放,一些内容在增加调整。

这套体系将以全新的模式统一在商业智能领域的巨头之精华。

超越工具,统一理解 Power BI,DAX,Tableau,FineBI,用全新的思维模式来构建商务数据分析师玩转数据的模式。

总结

本文用绝妙的方式实现了帕累托累计占比的计算,从一个点诠释了设计模式的威力。需要强调的是,虽然在本文用到了窗口函数,但这不是重点,这里的核心不是某个函数如何强大,而是在一套思维框架下,恰好用到某些函数来实现这些模式。

大多时候,数据分析,只是很多个功能点的罗列而已,充满技巧和玄幻,就像小学奥林匹克,按这套逻辑,人们永远毕不了业,不停地追逐学习函数和技巧。

但对我们来说,数据分析,是一门科学,也是一门艺术,并在实践中升华。我们相信有类似方程的模式可以统一解题套路,我们相信有基于笛卡尔坐标系的解析几何可以解决一切几何题而只用一个套路,我们相信也有一套定律能让我们从更根本上把握住其精华。因为,我们正在实现、证实和体验他们的存在。

在订阅了BI佐罗讲授的《BI真经》之《BI进行时》课程区,可以下载本文案例。
BI佐罗《BI真经》之《BI真经-演唱会》已在9月版开始陆续推出所有新版设计模式,欢迎学习。

Power BI 终极系列课程《BI真经》


BI真经 - 让数据真正成为你的力量

扫码与精英一起讨论 Power BI,验证码:data2023

点击“阅读原文”进入学习中心

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter