在Power BI度量值中用SELECTEDVALUE代替EARLIER

在計算列當中,經常使用EARLIER函數來獲取當前外部特定行上下文,來跟內部篩選結果進行比較。例如,對於下圖,如果要以Account列值爲依據,計算Amount的累計量。則可以創建一個計算列Cum_Earlier,使用下面的表達式來實現。

Cum_Earlier =
SUMX (
    FILTER (
        SalesInfo,
        SalesInfo[Account]
            = EARLIER ( SalesInfo[Account] )
            && SalesInfo[Close Date]
                <= EARLIER ( SalesInfo[Close Date] )
    ),
    SalesInfo[Amount]
)

在這裏插入圖片描述
但是我們知道,上面這個表達式無法放在度量值當中來執行,因爲在度量值內無法使用EARLIER和EARLIEST函數,Power BI會提示找不到所需的行上下文。
在這裏插入圖片描述
那麼,要在度量值當中實現上的累加計算需求,應該怎麼做呢?答案是用SELEVTEDVALUE函數來代替EARLER函數。

Cum_SELECTEDVALUE =
SUMX (
    FILTER (
        ALL ( SalesInfo ),
        SalesInfo[Account]
            = SELECTEDVALUE ( SalesInfo[Account] )
            && SalesInfo[Close Date]
                <= SELECTEDVALUE ( SalesInfo[Close Date] )
    ),
    SalesInfo[Amount]
)

在這裏插入圖片描述
在度量值中,SELEVTEDVALUE函數可以獲得制定列下篩選上下文中僅剩的一個非重複值時,在特定的需求下,其作用跟計算列中的EARLER函數類似,可獲得相同的計算結果,因此具有一定的替代性。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章