DAX公式查找第二个最小值与额外的条件



我有一个问题,涉及两个表,一个有一些成本(表停止在价值,我已经把期望值,我想在我的显式测量中看到),一个城市按集群排序。

我需要创建一个显式度量,返回给定集群和费用的第二个最小值。

成本表0

这很棘手,因为最小值的关系。解决方案是计算具有最小值的行,如果有多个行返回最小值,则返回第二个最小值

SecondMin =
VAR CurrentCluster =
SUMMARIZE( 'Costs', 'Cluster'[Cluster] )
VAR CurrentExpense =
VALUES( Costs[Expense] )
VAR CostsPerClusterAndExpense =
CALCULATETABLE(
Costs,
CurrentCluster,
CurrentExpense,
REMOVEFILTERS( 'Cluster' ),
REMOVEFILTERS( 'Costs' )
)
VAR MinValue =
MINX( CostsPerClusterAndExpense, Costs[Value] )
VAR Min2Value =
MINX(
FILTER( CostsPerClusterAndExpense, Costs[Value] > MinValue ),
Costs[Value]
)
VAR Result =
IF(
COUNTROWS( FILTER( CostsPerClusterAndExpense, Costs[Value] = MinValue ) ) > 1,
MinValue,
Min2Value
)
RETURN
IF( NOT ISEMPTY( Costs ), Result + 0 )

最新更新