在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函数类似,可获得相同的计算结果,因此具有一定的替代性。

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