MoM為何算出來都是0 ( DAX練習 )

昨天不小心透露使用 Power BI 六年資歷,今天馬上就要接受考驗,可見還是有人 F/U 我的 FB。



上網 google 了一下,這是 Microsoft Power BI 官網的這篇 How to calculate MOM% ? 所以我就去官網下載了它的練習檔,有興趣的人可以去找找玩玩。 比較了上面那張算不出來,長得和下面這張官網的 solution 好像也沒什麼差別


就這兩個 table , 而且也用 Date 欄位設了關聯

我能想到的可能,如果,把 table 之間的關聯取消,它會算不出來。 我試了試官網的練習檔,是可以 run 的,由於沒有拿到那位提問人的原始檔案,所以還真不知道他的問題在哪裡?!

官網原版的 solution 雖然可以 run ,也不是說不好,只是有更 smart 一點的寫法。

如果知道多一點點語法的話,例如:PREVIOUSDAY、PREVIOUSMONTH、PREVIOUSQUARTER、PREVIOUSYEAR...等一堆時間智慧函式,會比用 DATEADD 來得一目了然。如果不知道時間智慧函式也沒什麼不好,就用 DATEADD 來一招打通關也沒有不可以。

DIVIDE 或是 IFERROR 的用法,也會比 IF(ISBLANK()) 來得好一些。 比較一下原版的寫法,與我改寫的另一種表示法,優劣高下,立判。










最後結果:在紅色圈起來的地方是有問題的, 而我的 (使用量值)Mesure另一種表示法 是否比較優? 

上面的範例,一個月只有一筆資料,所以看不出來問題。

若是一個月內有很多筆資料,有個小地方要注意,資料行 ( column )若是使用在乘除的時機,在資料表 ( table ) 或許能計算出的數值正確,但在報告 ( view ) 的地方可是會錯誤的。

在報告 ( view ) 裡要顯示相乘除再匯總的數值,還是得要使用 量值 ( Measure ) 才行。

留言