首页 > 解决方案 > 使用 DAX 计算最后一个最小值

问题描述

数据1:

ID Value 
2   114    
3   108    
4   107    
5   113    
6   112    
7   106    
8   109  

Power BI(DAX)中所需的数据:

ID Value last_recovery_id
2   114    5
3   108    4
4   107    X
5   113    6
6   112    7
7   106    X
8   109  

基本上我想知道价格上涨之后的最后一个ID。

标签: powerbidaxdaxstudio

解决方案


您可以尝试以下措施-

last_recovery_id = 
var current_row_value = min(your_table_name[Value])
var current_row_id = min(your_table_name[ID])
var previous_max_value = 
CALCULATE(
    MAX(your_table_name[Value]),
    FILTER(
        ALL(your_table_name),
        your_table_name[Value] < current_row_value
        && your_table_name[ID] > current_row_id
    )
)

var prevous_id =  
CALCULATE(
    MAX(your_table_name[id]),
    FILTER(
        ALL(your_table_name),
        your_table_name[Value] = previous_max_value
        && your_table_name[ID] > current_row_id
    )
)

RETURN IF(prevous_id = BLANK(),"X", prevous_id)

输出是-

在此处输入图像描述


推荐阅读