基于多个条件的计算列 - 在 Power BI Dax 中按类别比较行

Calculated column based on multiple conditions - comparing rows by category in Power BI Dax

我需要在以下计算中创建计算列 - IsImproved - table - tbl_QOL(屏幕截图如下)

它应该比较每个客户 (EHRClientFK) 的 MetricDate 的 AvgQOL(另一个计算列)

如果-对于任何特定的 EHRClientFK AvgQOL 值,其中 IsDateMax = 1 高于 IsDateMin = 1 的 AvgQOL 值,则 IsImproved 值 = 1;任何其他情况 IsImproved = 0

例如:

EHRClientFK = 2666; (highest(max) date=1) = 3.66 的 AvgQOL; 3.66 值不高于 3.83,表示 EHRClientFK 的 IsImproved 2666 = 0

EHRClientFK = 3444; (highest(max) date=1) = 3.5 的 AvgQOL; 3.5 值高于 2,表示 EHRClientFK 3444 的 IsImproved = 1

如下图所示

应用了以下代码。 但它不能正常工作。 即使 IsDateMax = 1 的 AvgQOL 小于 IsDateMin = 1 的 AvgQOL,它也会放 1,而我希望那里为 0 - 就像 AvgQOL = 3.66(对于更大的日期 - 5/13/2021)

enter 
       IsImproved =                                                                         
               var _DateRecent = QOL[IsDateMax]                                                                                                                                                                                                        
               var _DateLatest = QOL[IsDateMin]

               var _max = calculate(max(QOL[AvgQOL]), FILTER(ALL('QOL'),  _DateRecent=1))                                                                                                                                                                   
               var _min = calculate(min(QOL[AvgQOL]), FILTER(ALL('QOL'),  _DateLatest=1))                                                                                                                                                                 
               var _min1 = calculate(max(QOL[AvgQOL]), FILTER(ALL('QOL'),  _DateRecent=0))                                                                                                                                                                 
               var _min2 = calculate(min(QOL[AvgQOL]), FILTER(ALL('QOL'),  _DateRecent=1))
          
               return if(_max > _min || _max >_min1 || _max > _min2, 1, 0)

我是 DAX 的新手,请帮忙!

我更愿意在此处使用 LOOKUPVALUE

VAR ClientFK = tbl_QOL[EHRClientFK]
VAR AvgQOLForMin =
    LOOKUPVALUE (
        tbl_QOL[AvgQOL],
        tbl_QOL[IsDateMin], 1,
        tbl_QOL[EHRClientFK], ClientFK
    )
VAR AvgQOLForMax =
    LOOKUPVALUE (
        tbl_QOL[AvgQOL],
        tbl_QOL[IsDateMax], 1,
        tbl_QOL[EHRClientFK], ClientFK
    )
RETURN
    0 + ( AvgQOLForMax > AvgQOLForMin )