多維度帕累托丨最終話(修訂)

最近事情比較多,學習的速度也慢了下來偏窝,慚愧。

白茶對近一個月所學的DAX進行了一次梳理武学,做出了一個動態(tài)多維度的帕累托圖祭往,效果如下。

這個動圖包含了最近所學的相關(guān)DAX函數(shù)火窒,那么是如何實現(xiàn)的呢硼补?

這是本次,白茶所使用的一份示例數(shù)據(jù)熏矿,可以說是白茶使用頻率最高的一份樣例了已骇。導入PowerBI中,系統(tǒng)會自動匹配模型關(guān)系票编,如下圖:

這是前期的準備工作褪储,接下來開始對近期所學的相關(guān)知識進行梳理。

一慧域、編寫基本的銷售金額鲤竹、成本、利潤代碼昔榴,如下:

銷售金額代碼:

銷售金額 =
SUMX ( '銷售明細', '銷售明細'[銷售數(shù)量] * RELATED ( '產(chǎn)品表'[銷售價] ) )

成本代碼:

銷售成本 =
SUMX ( '銷售明細', '銷售明細'[銷售數(shù)量] * RELATED ( '產(chǎn)品表'[成本] ) )

利潤代碼:

利潤 =
[銷售金額] - [銷售?成本]

結(jié)果如圖:

這里面涉及到的知識點是:

當相關(guān)數(shù)據(jù)沒在一個表格里面時辛藻,我們不能使用SUM進行聚合,需要使用迭代循環(huán)SUNX以及RELATED函數(shù)互订。

二吱肌、確立維度

通常情況下一組數(shù)據(jù)我們需要觀測的維度大概也就是三方面:時間、財務仰禽、具體內(nèi)容切換氮墨。

①纺蛆、時間維度好說,可以看得出來事實表中自帶銷售日期规揪,選取年份字樣放入切片器中即可犹撒,結(jié)果如下:

具體的樣式可以去點擊右上角調(diào)整。

也可以去設置中調(diào)整粒褒。

這樣就得到了符合我們心里預期的大致效果识颊,具體的細節(jié)根據(jù)個人喜好去調(diào)整,這里就不贅述了奕坟。如果對銷售日期不滿意祥款,也可以利用相關(guān)函數(shù)生成自己的日期表。后面的財務月杉、觀測維度設置方法也是一樣的刃跛,不贅述。

②苛萎、財務維度桨昙。財務維度說白了,就是利用切片器腌歉,可以動態(tài)的切換數(shù)據(jù)蛙酪。

點擊輸入數(shù)據(jù),確定自己的表名翘盖,在列值中分別輸入銷售金額桂塞,利潤,結(jié)果如下:

接下來馍驯,輸入代碼阁危,將沒有關(guān)系的維度與度量值建立關(guān)系。

SWITCH寫法 =
SWITCH (
    TRUE (),
    SELECTEDVALUE ( '財務維度'[財務維度] ) = "利潤", [利潤],
    SELECTEDVALUE ( '財務維度'[財務維度] ) = "銷售金額", [銷售金額],
    BLANK ()
)

這里涉及到的是SWITCH函數(shù)與SELECTEDVALUE函數(shù)汰瘫,當然也可以用IF進行判斷狂打,這里就不贅述了,結(jié)果如下:

③混弥、坐標維度趴乡。所謂的觀測維度,其實也就是坐標維度剑逃,其根本原理浙宜,是將原本不在一個表中的數(shù)據(jù)官辽,利用DAX建立在一個表格中蛹磺,使其同處于一個維度之下,再利用虛擬關(guān)系同仆,將原本沒有聯(lián)系的表格強行建立關(guān)系萤捆。

建立維度表,輸入如下代碼:

名稱與分店維度 =
VAR BC1 =
    SELECTCOLUMNS (
        ADDCOLUMNS ( DISTINCT ( '分店表'[分店名] ), "名稱與分店", "分店" ),
        "名稱與分店", [名稱與分店],
        "具體內(nèi)容", [分店名]
    )
VAR BC2 =
    SELECTCOLUMNS (
        ADDCOLUMNS ( DISTINCT ( '產(chǎn)品表'[商品名稱] ), "名稱與分店", "商品名稱" ),
        "名稱與分店", [名稱與分店],
        "具體內(nèi)容", [商品名稱]
    )
RETURN
    UNION ( BC1, BC2 )

結(jié)果如圖:

在建模卡片下選擇新表俗或,輸入DAX函數(shù)市怎,得到我們需要的統(tǒng)一坐標維度表。

再輸入如下代碼將原本沒有聯(lián)系的數(shù)據(jù)建立關(guān)系:

分析數(shù)據(jù) =
VAR BC3 =
    TREATAS ( VALUES ( '名稱與分店維度'[具體內(nèi)容] ), '產(chǎn)品表'[商品名稱] )
VAR BC4 =
    TREATAS ( VALUES ( '名稱與分店維度'[具體內(nèi)容] ), '分店表'[分店名] )
RETURN
    SWITCH (
        TRUE (),
        SELECTEDVALUE ( '名稱與分店維度'[名稱與分店] ) = "商品名稱", CALCULATE ( [SWITCH寫法], BC3 ),
        SELECTEDVALUE ( '名稱與分店維度'[名稱與分店] ) = "分店", CALCULATE ( [SWITCH寫法], BC4 ),
        BLANK ()
    )

選擇柱型折線圖辛慰,將具體內(nèi)容作為共享坐標軸区匠,將分析數(shù)據(jù)放入列值中,結(jié)果如下:

這樣的話我們就得到一個動態(tài)數(shù)據(jù)與動態(tài)坐標結(jié)合在一起的動態(tài)圖帅腌,可以隨意的切換三種維度驰弄。涉及到的一些相關(guān)函數(shù),在這里就不贅述了速客。

三戚篙、帕累托累計占比

三種維度我們得到了,接下來就是來編寫累計溺职、占比岔擂、以及累計占比的代碼。

累計代碼:

累計 =
SWITCH (
    TRUE (),
    SELECTEDVALUE ( '財務維度'[財務維度] ) = "利潤", CALCULATE ( [利潤], ALLSELECTED ( '銷售明細'[銷售數(shù)量] ) ),
    SELECTEDVALUE ( '財務維度'[財務維度] ) = "銷售金額", CALCULATE ( [銷售金額], ALLSELECTED ( '銷售明細'[銷售數(shù)量] ) )
)

占比代碼:

占比 =
DIVIDE( [分析數(shù)據(jù)], [累計] )

累計占比代碼:

累計占比 =
VAR SQ = [占比]
RETURN
    CALCULATE ( [占比], FILTER ( ALL ( '名稱與分店維度'[具體內(nèi)容] ), [占比] >= SQ ) )

將累計占比的代碼放入剛才的可視化插件浪耘,放在行值位置乱灵。結(jié)果如下:

我們會發(fā)現(xiàn)似乎有些地方不對勁啊,有一些商品在2017年這個維度上是沒有消費的啊七冲,不應該進行累計的袄取!簡單癞埠,記得白茶之前提到過的篩選空值么状原?優(yōu)化我們的代碼。

累計占比 =
VAR SQ = [占比]
RETURN
    IF (
        [分析數(shù)據(jù)] <> 0,
        CALCULATE (
            [占比],
            FILTER ( ALL ( '名稱與分店維度'[具體內(nèi)容] ), [占比] >= SQ && [分析數(shù)據(jù)] <> 0 )
        )
    )

結(jié)果如圖:

這次是不是很完美苗踪?

四颠区、參數(shù)分類

那么動態(tài)的帕累托圖到這里告一段落了,但是我們并沒有對數(shù)據(jù)優(yōu)先級進行判定巴ú毕莱?這里需要我們添加參數(shù)值。

在建模窗格下颅夺,選擇添加參數(shù)朋截,分別添加三個參數(shù),ABC吧黄。

參數(shù)A:

DAX=
GENERATESERIES( 1, 100, 1 )

參數(shù)B:

DAX=
GENERATESERIES( 0, 100, 1 )

參數(shù)C:

DAX=
GENERATESERIES( 0, 100, 1 )

這里說一下部服,問什么參數(shù)A的初始值是1,這是為了防止后面的計算出現(xiàn)問題拗慨。

將三個參數(shù)值放入環(huán)形圖中廓八,添加切片器奉芦,這是為了方便我們在實際使用中能隨時對ABC三類劃分權(quán)重。

添加ABC三類的比例權(quán)重剧蹂。

總體:

參數(shù)總體 =
[參數(shù)A 值] + [參數(shù)B 值] + [參數(shù)C 值]

A類:

A類比例 =
DIVIDE([參數(shù)A 值],[參數(shù)總體])

B類:

B類比例 =
DIVIDE([參數(shù)B 值],[參數(shù)總體])

C類:

C類比例 =
DIVIDE([參數(shù)C 值],[參數(shù)總體])

接下來声功,對數(shù)據(jù)進行判定分類,劃分出三種結(jié)果宠叼。輸入如下代碼:

優(yōu)先級 =
VAR BC = [累計占比]
RETURN
    SWITCH ( TRUE (), BC <= [A類比例], "優(yōu)先", BC <= [A類比例] + [B類比例], "其次", "最后" )

將其放入矩陣中查看先巴,結(jié)果如圖:

會發(fā)現(xiàn)又出現(xiàn)之前的毛病了,咋辦冒冬,優(yōu)化代碼唄:

優(yōu)先級 =
VAR BC = [累計占比]
RETURN
    IF (
        [分析數(shù)據(jù)] <> 0,
        SWITCH ( TRUE (), BC <= [A類比例], "優(yōu)先", BC <= [A類比例] + [B類比例], "其次", "最后" )
    )

結(jié)果如下:

是不是結(jié)果看起來舒服了很多筹裕?

五、優(yōu)化

剩下最后的步驟窄驹,就是對各個可視化插件進行細節(jié)上的優(yōu)化處理了朝卒,這里就不過多的贅述了。

顏色配置乐埠,大小什么的抗斤,可以按照個人喜好的來。

當然丈咐,也可以添加一個關(guān)于ABC三類計數(shù)的表格瑞眼,以及一個銷售趨勢圖,讓你的報表看起來格調(diào)更高棵逊。

樣例鏈接:http://t.cn/A67zSEUM

小彩蛋:

1伤疙、ABC三類該如何計數(shù)呢?

2辆影、帕累托該如何動態(tài)配色徒像?


小伙伴們?GET了么?

白茶會不定期的分享一些函數(shù)卡片

(文件在知識星球[PowerBI丨需求圈])

這里是白茶蛙讥,一個PowerBI的初學者锯蛀。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市次慢,隨后出現(xiàn)的幾起案子旁涤,更是在濱河造成了極大的恐慌,老刑警劉巖迫像,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件劈愚,死亡現(xiàn)場離奇詭異,居然都是意外死亡闻妓,警方通過查閱死者的電腦和手機菌羽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來纷闺,“玉大人算凿,你說我怎么就攤上這事±绻Γ” “怎么了氓轰?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長浸卦。 經(jīng)常有香客問我署鸡,道長,這世上最難降的妖魔是什么限嫌? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任靴庆,我火速辦了婚禮,結(jié)果婚禮上怒医,老公的妹妹穿的比我還像新娘炉抒。我一直安慰自己,他們只是感情好稚叹,可當我...
    茶點故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布焰薄。 她就那樣靜靜地躺著,像睡著了一般扒袖。 火紅的嫁衣襯著肌膚如雪塞茅。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天季率,我揣著相機與錄音野瘦,去河邊找鬼。 笑死飒泻,一個胖子當著我的面吹牛鞭光,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播泞遗,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼衰猛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了刹孔?” 一聲冷哼從身側(cè)響起啡省,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎髓霞,沒想到半個月后卦睹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡方库,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年结序,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片纵潦。...
    茶點故事閱讀 40,001評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡徐鹤,死狀恐怖垃环,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情返敬,我是刑警寧澤遂庄,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站劲赠,受9級特大地震影響涛目,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜凛澎,卻給世界環(huán)境...
    茶點故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一霹肝、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧塑煎,春花似錦沫换、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至炭晒,卻和暖如春待逞,著一層夾襖步出監(jiān)牢的瞬間网严,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工震束, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人垢村。 一個月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像嘉栓,于是被迫代替她去往敵國和親宏榕。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,955評論 2 355