PowerBI 致敬 Tableau 10大表計算

有伙伴說一段時間沒有更新文章,這一次頂十次诺舔。明明能拆成十期的文章鳖昌,非要一次寫完,沒辦法混萝,厚道。

客觀地講萍恕,PowerBI 作為快速發(fā)展的BI產(chǎn)品逸嘀,在很多方面仍然需要打磨,以前我們似乎更多來說 PowerBI 有多厲害允粤,但這并不影響我們客戶地向更加優(yōu)秀的伙伴學(xué)習(xí)崭倘,例如:在 Tableau 確實有太多的優(yōu)點翼岁,PowerBI 需要去學(xué)習(xí),期待希望微軟的產(chǎn)品經(jīng)理們司光。(也只能期待了...)

在數(shù)據(jù)分析中琅坡,除了簡單匯總或簡單變換以外,很多需求是需要有額外的輔助才能實現(xiàn)的残家,在 PowerBI 中榆俺,這些全部以 DAX函數(shù) 給出,來構(gòu)建模型的語義層坞淮;而在 Tableau 中茴晋,自有她的一套巧妙設(shè)計,我們不妨來對比研究一下對于同樣的略微復(fù)雜的功能是如何在不同的產(chǎn)品中實現(xiàn)的回窘。由于我們這里主要是研究 PowerBI诺擅,故給出 Tableau 的實現(xiàn)效果,對其涉及公式不再詳細討論啡直,而將這些精力留給對 PowerBI 的描述烁涌。

本文全部是案例,案例來自于實際酒觅,Tableau舉例了十個案例撮执,為了處于學(xué)習(xí)目的,這里將變換下案例阐滩,但保持本質(zhì)不變二打,來達到花費最小精力學(xué)習(xí)最多收益的效果。

參考文章《10大Tableau表計算》:https://www.tableau.com/zh-cn/about/blog/2017/2/top-10-tableau-table-calculations-65417

推薦實踐方式:

  • 打開 10大Tableau表計算 文章掂榔,對照每個案例继效,理解業(yè)務(wù)需求。
  • 用 Excel120 通用案例數(shù)據(jù)逐個自行實現(xiàn)装获,以達到鍛煉自己 PowerBI 能力瑞信。
  • 對照本文查看你的實現(xiàn)邏輯與這里的異同以進一步探討。

以下詳細對比每個案例并給出在 PowerBI 中的實現(xiàn)穴豫。

自參考日期開始的百分比變化

在 Tableau 中凡简,利用表計算,可以計算從任意值開始的百分比變化精肃。假設(shè)您對某個股票組合感興趣秤涩,并且想評估它們從某個時間點開始的相對表現(xiàn)。為此司抱,需要設(shè)置一個“投資日期”筐眷,并將這些股票標準化到同一個時間點,用線條顯示百分比變化习柠≡纫ィ可使用滑塊調(diào)整參考日期照棋。效果如下:

Tableau 表達式:

以及:

在 PowerBI 中,模擬類似的需求武翎,實現(xiàn)選定任意時間點烈炭,顯示不同時間相對于該時間的銷售額的增長率。效果如下:

Power BI DAX表達式:

以及:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果宝恶。
  • PowerBI 可視化層無法顯示用戶鼠標點擊點位符隙。

公共基準

您可能想?yún)⒄找粋€公共基準點查看數(shù)據(jù),而不是查看一段絕對時間范圍的數(shù)據(jù)卑惜。例如膏执,這里有三部《玩具總動員》電影的票房收入。如果按星期看一下自首映日開始的總收入露久,比較起來就容易多了:

Tableau 表達式:

在 PowerBI 中更米,模擬類似的需求,實現(xiàn)按照首次銷售計算不同類別的銷售額趨勢毫痕。效果如下:

首先構(gòu)造了一個坐標軸征峦,然后根據(jù)當(dāng)前坐標軸位置來計算,PowerBI DAX 表達式為:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果消请。

隨時間變化的銷售總額百分比

希望一次執(zhí)行兩遍表計算的情況很常見栏笆。例如,查看某個細分市場隨時間變化的增長或收縮對公司的重要性可能很有意義臊泰。為此蛉加,必須先按細分市場計算隨時間變化的銷售額匯總,然后將其作為隨時間變化的銷售總額百分比來查看缸逃。這也稱為多遍聚合针饥,在 Tableau 中不寫公式也可以完成這種聚合。

在 Tableau 中僅需要設(shè)置就可以完成:

以及:

在 PowerBI 中需频,模擬類似的需求丁眼,實現(xiàn)按照不同類別顯示其當(dāng)年積累銷售額占整體銷售額的比例。效果如下:

Power BI DAX 表達式:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果昭殉。
  • Tableau 有更加豐富的報告層計算功能苞七,可以通過設(shè)置完成。
  • PowerBI 無法設(shè)置同一可視化對象的分組也自然無法在報告層完成復(fù)雜計算挪丢。
  • PowerBI 報告層幸好有 PowerBI DAX 可以依賴蹂风。

整理時保持排序

這里我們需要了解產(chǎn)品在一個月和一年內(nèi)的排名,然后顯示排名隨時間的變化乾蓬。為此惠啄,我們創(chuàng)建一個凹凸圖,其中以折線圖形式顯示隨時間的變化〗父螅可在左側(cè)看到復(fù)印機和傳真機已經(jīng)從銷售不佳的產(chǎn)品變成目前的銷售前 3 甲。還可以看到族奢,傳真機和復(fù)印機的購買量波動很大姥闭。

Tableau中這樣計算:

在 PowerBI 中,模擬類似的需求越走,實現(xiàn)按照不同類別顯示其不同時間段的排名棚品。效果如下:

在 PowerBI 中,在報告層面可以實現(xiàn)傳達同樣信息的效果廊敌,但從報告層的細節(jié)來說铜跑,仍無法做到 Tableau 的融合性,例如:

無法做到最少可視化元素的完備性以及整體性骡澈,PowerBI 產(chǎn)品經(jīng)理有的玩了锅纺。

當(dāng)然 PowerBI DAX 表達式:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果。
  • PowerBI 報表層無法做到最少可視化元素的完備性以及整體性肋殴。
  • PowerBI 報表層可實現(xiàn)傳達信息以及勉強的可視化效果囤锉。

遞歸效果的匯總

現(xiàn)在需要監(jiān)視呼叫中心未結(jié)支持案例的數(shù)量,或者有貨的庫存數(shù)量护锤。但是系統(tǒng)未記錄未結(jié)案例的滾動合計官地,您需要推算出來。這等于開案日的案例數(shù) + 新開案例數(shù) + 重開案例數(shù) – 已結(jié)案例數(shù)烙懦。

表面看來驱入,這是簡單計算。但是氯析,每日開案數(shù)量是根據(jù)上一個結(jié)案日推算的亏较,后者又是根據(jù)當(dāng)日開案數(shù)量推算的。這形成了計算的循環(huán)引用魄鸦。

效果如下:

在 Tableau 中的大致實現(xiàn)方式:

以及:

以及:

充分看出在 Tableau 中的報表層提供了很多控制以實現(xiàn)計算宴杀。

在 PowerBI 中,模擬類似的需求拾因,實現(xiàn)計算每天的累計未發(fā)貨量旺罢,未發(fā)貨量由昨日累計訂單量 - 昨天累計發(fā)貨量得到,效果如下:

PowerBI DAX 表達式:

這看似一種遞歸的效果绢记,但其實可以轉(zhuǎn)化為非遞歸實現(xiàn)扁达,在 Tableau 和 PowerBI 兩者中都并非真正的遞歸,在 PowerBI DAX 中是不支持真正遞歸的蠢熄,當(dāng)然在這種案例中也不用使用真正的遞歸跪解。

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果。

加權(quán)平均

對于考試分數(shù)或訂單優(yōu)先級等數(shù)據(jù)签孔,適合采用加權(quán)平均分析叉讥。也許您想查看各種產(chǎn)品類型所有訂單的平均優(yōu)先級窘行,并且想按訂購量加權(quán)該優(yōu)先級,這樣訂購量大的產(chǎn)品就會得到更高的優(yōu)先級分數(shù)图仓」蘅可以使用加權(quán)平均優(yōu)先級分數(shù)來優(yōu)化訂購量大、優(yōu)先級高的產(chǎn)品的供應(yīng)鏈救崔。這里惶看,我們使用 Superstore 銷售數(shù)據(jù)進行加權(quán)平均:

在 PowerBI 中,模擬類似的需求六孵,實現(xiàn)按子類別銷售額利潤率加權(quán)來計算類別的平均銷售額纬黎,效果如下:

PowerBI DAX 表達式可以直接由快速度量值給出:

生成的 PowerBI DAX 表達式如下:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果。

按計算分組

如果您管理公司的配送運營劫窒,可能會對哪些產(chǎn)品的運輸成本高于平均值感興趣本今。在 Tableau 6 中,可以計算整個時間窗口的平均值主巍,并在計算中使用該值對各值進行分組和配色诈泼。

Tableau 中的主要計算如下:

在 PowerBI 中,模擬類似的需求煤禽,效果如下:

首先構(gòu)建一個用來分組的輔助表作為圖例铐达,然后編寫 PowerBI DAX 表達式如下:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果。
  • PowerBI 中為了報表層效果有時候需要建立輔助報表層的輔助表檬果,這是不符合設(shè)計常識的瓮孙,PowerBI 有獨立的模型層,里面的表反應(yīng)了實際的業(yè)務(wù)选脊,而不應(yīng)該將輔助表與之混合杭抠,這完全違背了設(shè)計學(xué)上的常識,而目前沒有在這方面得到改良恳啥。

移動范圍的事件數(shù)

對于零售偏灿、智能或邊界控制等不同的場景,通常需要了解在一個時間窗口內(nèi)發(fā)生某一事件的次數(shù)钝的。例如翁垂,一次可疑事件可能是一次意外,但是如果在 x 天里發(fā)生次數(shù)超過 n 次硝桩,那就值得調(diào)查一下沿猜。

這里 Tableau 用到了參數(shù)和計算的結(jié)合,主要的計算如下:

在 PowerBI 中碗脊,模擬類似的需求啼肩,實現(xiàn) X 天內(nèi)小于上月日平均銷售額的次數(shù)達到指定閾值,效果如下:

如果在連續(xù)的X天內(nèi)次數(shù)超過了閾值次數(shù)則顯示,否則不顯示祈坠。

PowerBI DAX 表達式如下:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果害碾。

可變時段的移動平均

您已使用 Tableau 中的快速表計算功能,計算了所有月份的銷售額移動平均赦拘,但現(xiàn)在希望進行擴展蛮原,以便選擇要計算多少個時段的平均值。

淡藍色線條顯示所有月份的銷售額總和另绩,而橙色線條顯示 15 個時段的銷售額移動平均。

在 Tableau 中的設(shè)置和計算如下:

在 PowerBI 中花嘶,模擬類似的需求笋籽,效果如下:

PowerBI DAX 表達式如下:

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果。

各時段與平均值的差異

您可能更想看到季度銷售額與當(dāng)年平均值(而不是絕對數(shù))的差異椭员。此處顯示了與當(dāng)年平均值和絕對訂單數(shù)之間的差異车海。

在 Tableau 中的主要設(shè)置和計算如下:

在 PowerBI 中,模擬類似的需求隘击,效果如下:

PowerBI DAX 表達式如下:

雖然是達到同樣的效果侍芝,在 PowerBI DAX 中卻要理解上下文轉(zhuǎn)換以及取消外部篩選等高級的 DAX 知識才能快速而準確地寫出度量值。

小結(jié):

  • PowerBI DAX 計算可以非常容易地實現(xiàn)效果埋同。
  • 對該效果的實現(xiàn)州叠,雖然 DAX 公式并不復(fù)雜,但背后涉及需要透徹理解 DAX 計算原理凶赁,該復(fù)雜度遠遠超越了寫出同樣表達式的 Tableau 的程度咧栗。

總結(jié)

通過對比用 Tableau 和 PowerBI 實現(xiàn)同樣的 10 種非默認效果的計算,可以對兩種軟件在某方面的設(shè)計有了一個局部的認知虱肄,可以總結(jié)為:

  • Tableau 具有高度精細的可視化引擎及完備的可視化組件系統(tǒng)致板。
  • Tableau 具有一套完備的報表級計算公式系統(tǒng)。
  • PowerBI 可視化組件系統(tǒng)并不完備咏窿,典型的缺失如:可視化對象的分組整體顯示斟或。
  • PowerBI 沒有報表級計算公式系統(tǒng)。
  • PowerBI 報表級計算完全依賴于模型級的計算集嵌,全部由 DAX 給出萝挤。
  • PowerBI 為了實現(xiàn)某些報表計算效果,必須在模型級構(gòu)建沒有任何模型意義的輔助表結(jié)合 DAX 實現(xiàn)報表級的計算根欧。

因此平斩,我們可以對 PowerBI 的報表計算能力有一個更準確的把握:

  • PowerBI 報表層沒有完備的組件系統(tǒng),表現(xiàn)在:很多設(shè)置是無法在報表上進行的咽块,例如:無法按某度量值設(shè)置圖中恒線绘面,無法統(tǒng)一分組可視化元素并按整體顯示等。
  • PowerBI 報表層沒有獨立的計算系統(tǒng),表現(xiàn)在:PowerBI 沒有提供基于模型的計算結(jié)果的輕量級二次計算能力揭璃,所有的計算全部依賴于模型級的 DAX 表達式進行晚凿。
  • PowerBI DAX 表達式著實強大和靈活,它不僅肩負著完成模型級的大規(guī)模聚合運算瘦馍,也肩負著完成報表級的任何精細化運算歼秽。

更多的思考:
從本文的 10 個典型案例可以部分看出 Tableau 作為完成報表層計算和展示時有良好和完備的能力,這也許得益于其初期就明確的精準定位情组,尤其看到在 Tableau 6 時代就已經(jīng)達到了完備的計算燥筷。在這方面,由于 PowerBI 將數(shù)據(jù)準備院崇,數(shù)據(jù)建模肆氓,數(shù)據(jù)可視化,報表制作融為一體底瓣,尤其是 模型層計算報表層計算 并沒有從系統(tǒng)化的角度做嚴格區(qū)分谢揪,導(dǎo)致任何報表需求的本質(zhì)都是一個DAX查詢,而報表層又沒能做到:

  • 基于 DAX查詢結(jié)果 后捐凭,沒有充分枚舉各種變化可能性的組件化(非編程)實現(xiàn)拨扶。
  • 基于 DAX查詢結(jié)果 后,沒有提供二次輕量級報表層計算能力茁肠。

這兩點導(dǎo)致:
PowerBI 的報表制作嚴重依賴于添加眾多沒有模型意義的輔助表以及過度復(fù)雜的相對重量級 DAX計算患民,雖然能證明 DAX 的強大,但明顯可以感受到在很多方面垦梆,這并不得心應(yīng)手酒奶。

相信 PowerBI 在報表層必然有更大的提升,至少完成兩點:

  • 要么充分枚舉各種變化可能性奶赔,并提供相應(yīng)的組件化(非編程)實現(xiàn)惋嚎,類似:Power Query。
  • 要么提供一種報表層的計算能力站刑,也許是另一套輕量級的函數(shù)或DAX本身的大幅優(yōu)化另伍,并補充輕量級的報表層計算能力。

最后绞旅,致敬 Tableau摆尝,沒有這么優(yōu)秀的對手,這么可能讓 PowerBI 變得更強大呢因悲,通過對 Tableau 的體會和理解堕汞,可以更多加深對 BI體系 的思考,也更清楚 PowerBI 的軟肋晃琳,對于應(yīng)對實際問題讯检,如何基于現(xiàn)有的 PowerBI 特點做出合理的設(shè)計也就給出了更多的方法琐鲁。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市人灼,隨后出現(xiàn)的幾起案子围段,更是在濱河造成了極大的恐慌,老刑警劉巖投放,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奈泪,死亡現(xiàn)場離奇詭異,居然都是意外死亡灸芳,警方通過查閱死者的電腦和手機涝桅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來烙样,“玉大人冯遂,你說我怎么就攤上這事∥笞瑁” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵晴埂,是天一觀的道長究反。 經(jīng)常有香客問我,道長儒洛,這世上最難降的妖魔是什么精耐? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮琅锻,結(jié)果婚禮上卦停,老公的妹妹穿的比我還像新娘。我一直安慰自己恼蓬,他們只是感情好惊完,可當(dāng)我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著处硬,像睡著了一般小槐。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上荷辕,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天凿跳,我揣著相機與錄音,去河邊找鬼疮方。 笑死控嗜,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的骡显。 我是一名探鬼主播疆栏,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼曾掂,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了承边?” 一聲冷哼從身側(cè)響起遭殉,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎博助,沒想到半個月后险污,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡富岳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年蛔糯,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片窖式。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡蚁飒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出萝喘,到底是詐尸還是另有隱情淮逻,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布阁簸,位于F島的核電站爬早,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏启妹。R本人自食惡果不足惜筛严,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望饶米。 院中可真熱鬧桨啃,春花似錦、人聲如沸檬输。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽丧慈。三九已至网杆,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間伊滋,已是汗流浹背碳却。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留笑旺,地道東北人昼浦。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像筒主,于是被迫代替她去往敵國和親关噪。 傳聞我的和親對象是個殘疾皇子鸟蟹,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容