全網(wǎng)首發(fā):DAX 藝術(shù) - 史上最簡最快帕累托計算
如果有一個問題能測試一下你對 DAX 的理解,那問如何實現(xiàn)帕累托分析即可。
關(guān)于這個問題,我們討論過多次,在最近一次關(guān)于帕累托分析的文章中,我們已經(jīng)給出全網(wǎng)最快的帕累托分析計算,性能比常規(guī)版本提升 10 倍。
但純粹考慮性能,是一個 IT 問題。這并非我們的追求。今天發(fā)布的關(guān)于帕累托的計算,它基于我們最新的研究成果,具備:
【特點 1】這是 DAX 中進行帕累托分析,史上性能最高的公式。
【特點 2】這是 DAX 中進行帕累托分析,史上寫法最簡的公式。
【特點 3】這是 DAX 中進行帕累托分析,史上最具模式的公式。
下面就來一起欣賞數(shù)據(jù)分析中的藝術(shù)吧。
(本文同時回應(yīng)此前文章中的問題,窗口函數(shù)出現(xiàn)后,給基于 Power BI 的商務(wù)數(shù)據(jù)分析帶來哪些根本變化。)
帕累托累計占比計算
帕累托分析,大致是要構(gòu)建一個這樣的圖形:

這里的難點就是對積累占比的計算。
我們知道很多人是可以寫出來這個計算的,我們也不提倡一個茴香豆的茴字有九種寫法。
我們研究的核心是:業(yè)務(wù)數(shù)據(jù)分析師可以高度復(fù)用的設(shè)計模式。
下面給出這個藝術(shù)性的公式:
(可以直接復(fù)制使用)
View.ABC.Cummulate%.Window =
VAR vPT =
CALCULATETABLE(
ADDCOLUMNS(
VALUES( 'DIM 產(chǎn)品'[產(chǎn)品子類別] ) ,
"@Sales" , [KPI.Sales]
),
ALLSELECTED( )
)
RETURN
SUMX( WINDOW( 0 , REL , -1 , ABS , vPT , ORDERBY( [@Sales] ) ) , [@Sales] ) /
SUMX( vPT , [@Sales] )
我們看下這個公式在 DAX 編輯器里的樣子:

從 DAX 公式內(nèi)的不同顏色文本,可以看出:這個公式僅僅只是在一處使用了度量值。
我們相信每個玩 DAX 的伙伴都會興奮地試試這個公式,你會感覺到她的魅力,她是完美之作:
對于運行帕累托累計占比計算,該公式是史上性能最強版,您幾乎不太可能寫出比這個更快的版本。
對于運行帕累托累計占比計算,該公式是史上寫法最簡版,您幾乎不太可能寫出比這個更簡的版本。
對于運行帕累托累計占比計算,該公式是史上模式最妙版,您幾乎不太可能寫出比這個更妙的版本。
首先,建議你自己去體會這個公式,甚至可以用大量數(shù)據(jù)來測試它的性能,你會震驚的。
設(shè)計模式概述
我相信您的感受和我是類似的:
如果你是基于 Power BI 的商務(wù)數(shù)據(jù)分析的初學(xué)者,你根本看不懂以上的公式,你會覺得很難。
如果你是資深 Power BI 玩家,研究過各種 DAX 技巧,你會很詫異以上的公式,當(dāng)你看懂后,你會拍案叫絕的。
但這都不是我們的目的。
首先,這個公式一點也不難。
如果你認為這個公式難,那是因為你用了和我們不同的思維模式。
這個公式的含義是:
第一步:構(gòu)建視圖層表。
第二步:在視圖層完成表計算。
這里用到了兩大設(shè)計模式:
還原視圖層設(shè)計模式
視圖層表計算設(shè)計模式
這些設(shè)計模式是專門為基于 Power BI DAX 做建模和計算的商務(wù)數(shù)據(jù)分析師研發(fā)的。
你可以將你自己常用的模式整理以便復(fù)用。
關(guān)于視圖層表計算
Power BI 目前(2023.8)并不在界面上支持視圖層表計算,這給業(yè)務(wù)分析師帶來了計算的巨大門檻。
在 Excel,Tableau,F(xiàn)ineBI 等商業(yè)智能工具中都原生提供了這種支持。
幸好,在 2023 年,DAX 推出了窗口函數(shù),經(jīng)過幾個月的改良,目前這套機制在正確的思維框架下使用,就可以首先表計算的所有特性。
也就是說:
Power BI 缺乏一個本該擁有但尚未擁有的必要功能。
該功能在其他同類工具中都存在。
我們借助 DAX 窗口函數(shù)通過最佳實踐的設(shè)計模式來構(gòu)建以自行實現(xiàn)。
不難看出,一旦 Power BI 中彌補了這種特性后,Power BI 將進一步簡化,以便被更多人更容易地使用。這不過,這天還不知道什么時候到來而已。
但這并不影響我們使用精煉的設(shè)計模式來解決一切問題。
DAX 最佳實踐
不難看出,不同的人在使用 DAX 上,是完全不同的,這種不同,將導(dǎo)致:
有人認為 DAX 很難,只是因為沒有用到正確的套路。
有人學(xué)習(xí)了大量 DAX 知識,但并沒有形成系統(tǒng)框架和設(shè)計模式,全是技巧,無法復(fù)用。
寫法和性能千差萬別,得不到有效的保證。
在這方面,我們推薦大家學(xué)習(xí)《BI 真經(jīng)》,我們將所有全新【商務(wù)數(shù)據(jù)分析設(shè)計模式】將陸續(xù)推出,目前計劃從《BI 真經(jīng)》演唱會開始,陸續(xù)開放。
《BI真經(jīng)》演唱會 - 節(jié)選

這將使用類似本文的模式和套路,解決幾乎一切分析模型的設(shè)計和實現(xiàn),無需復(fù)雜技巧,只需復(fù)用模式。這些模型包括:80/20 分析,帕累托分析,波士頓矩陣,NPS 模式,RFM 模型,PVM 模型,AARRR 模型,新老客戶模型,流失留存模型,購物籃模型,時間維度計算等。
整套全新模式,全網(wǎng)獨家首發(fā),徹底解決商務(wù)數(shù)據(jù)分析師使用 Power BI 的復(fù)雜問題。
《BI真經(jīng)》演唱會 - 節(jié)選
短短15分鐘體驗極度專業(yè):建立框架,原創(chuàng)精華
未來展望
我們已經(jīng)針對商務(wù)數(shù)據(jù)分析師開發(fā)了兩套終極課程:《BI 真經(jīng)》和《分析之道》,目前陸續(xù)緩慢開放,一些內(nèi)容在增加調(diào)整。
這套體系將以全新的模式統(tǒng)一在商業(yè)智能領(lǐng)域的巨頭之精華。
超越工具,統(tǒng)一理解 Power BI,DAX,Tableau,F(xiàn)ineBI,用全新的思維模式來構(gòu)建商務(wù)數(shù)據(jù)分析師玩轉(zhuǎn)數(shù)據(jù)的模式。

總結(jié)
本文用絕妙的方式實現(xiàn)了帕累托累計占比的計算,從一個點詮釋了設(shè)計模式的威力。需要強調(diào)的是,雖然在本文用到了窗口函數(shù),但這不是重點,這里的核心不是某個函數(shù)如何強大,而是在一套思維框架下,恰好用到某些函數(shù)來實現(xiàn)這些模式。
大多時候,數(shù)據(jù)分析,只是很多個功能點的羅列而已,充滿技巧和玄幻,就像小學(xué)奧林匹克,按這套邏輯,人們永遠畢不了業(yè),不停地追逐學(xué)習(xí)函數(shù)和技巧。
但對我們來說,數(shù)據(jù)分析,是一門科學(xué),也是一門藝術(shù),并在實踐中升華。我們相信有類似方程的模式可以統(tǒng)一解題套路,我們相信有基于笛卡爾坐標系的解析幾何可以解決一切幾何題而只用一個套路,我們相信也有一套定律能讓我們從更根本上把握住其精華。因為,我們正在實現(xiàn)、證實和體驗他們的存在。
在訂閱了BI佐羅講授的《BI真經(jīng)》之《BI進行時》課程區(qū),可以下載本文案例。
BI佐羅《BI真經(jīng)》之《BI真經(jīng)-演唱會》已在9月版開始陸續(xù)推出所有新版設(shè)計模式,歡迎學(xué)習(xí)。

Power BI 終極系列課程《BI真經(jīng)》
BI真經(jīng) - 讓數(shù)據(jù)真正成為你的力量
掃碼與精英一起討論 Power BI,驗證碼:data2023

點擊“閱讀原文”進入學(xué)習(xí)中心
↙
