POWERBI_1分鐘學會_連續上升或下降指標監控

simone331發表於2023-09-26

一:資料來源

模擬資料為三款奶茶銷量的日銷售資料來源,日期是23.8.24-23.8.31。A產品為連續7天,日環比下降,B產品為連續3天,日環比下降,C產品為連續2天,日環比下降。

二:建立基礎度量值

首先,我們建立兩個基礎度量值,計算我們的產品銷量和日環比。

產品銷量 = CALCULATE(SUM('資料來源'[銷量])) 
產品銷量日環比 = 
VAR T1 = CALCULATE([產品銷量],DATEADD('日期表'[Date],-1,DAY))
RETURN DIVIDE([產品銷量]-T1,T1)  

三:建立異常下降度量值

產品銷量_是否最近N天持續下降 = 
    VAR N='引數'[引數_值] ///控制天數,可以是一個固定的值,也可以是一個欄位引數,動態的值
    VAR T1 = 
        SUMMARIZE(FILTER('日期表','日期表'[Date]>=MAX('日期表'[Date])-N&&'日期表'[Date]<=MAX('日期表'[Date])-1),'日期表'[Date])
    VAR T2 = 
        ADDCOLUMNS(T1,"產品日環比",[產品銷量日環比])
    VAR T3= FILTER(T2,[產品銷量日環比]<0)
    RETURN IF(COUNTROWS(T3)=N,"連續下降")

 

四:異常下降程式碼解釋
首先,VAR N 是一個數值,可以是一個具體的值,如果是3,那麼就是檢測是否為連續3天下降,如果是7,那麼就是檢測是否為連續7天下降。這裡使用的是參數列的值,也就意味著可以讓報表使用者,自行選擇對應的下降指標去檢視資料。
然後,VAR T1 是一個表,但是他只有一個日期列,日期列是根據資料來源的最大日期,往前倒退N天。這裡我們用powerbi的新建表去看看這行程式碼,返回的是什麼表。如下所示,返回的是資料來源表最大日期,往前倒退7天的一個日期表。

再然後,VAR T2 是在T1日期列的基礎上,新增一列,列名是"產品日環比",值是我們前面計算的基礎度量值[產品銷量日環比]。現在我們T2有兩列了,一列是日期,一列是銷量日環比
再然後,  VAR T3 是在T2表的基礎上,我們用FILTER把日環比小於0的行數抓出來,也就是我們把日環比小於0,下降的天數的行給篩選出來。
最後一步,就是收尾的一步了,既然我們已經把日環比小於0的行,找出來了。我們對他的行進行計數,再和我們前面的N去進行對比,如果和N相等就意味著所有的天數均在下降,符合我們RETURN的IF語句,就輸出"連續下降",如果不符合連續下降,我們就不返回值。(這裡我們思考一下,以B產品為例,如果N等於3,而實際B產品日環比小於0的只有2天,所以這裡返回的值就是2,那麼2不等於3,所以是不會返回值的,反之如果N=2那麼,2=2就會正常返回”連續下降”)
這樣我們就可以靈活的檢視異常指標了。

我們來看一下簡單的結果展示。準確的抓到了連續2天,連續3天,以及連續7天下降的產品。

如果對前面講的東西不太理解,可能是我們們基礎比較弱,可以補充補充基礎知識再來看。

有了這個模組的知識,我們就可以根據自己的思路,去構建異常指標的看板了,有了思路,剩下的就請交給DAX吧。

ENJOY DAX -SIMONE

 

相關文章