【问题标题】:How to find the value current row value if current row value match with previous row value in power bi?如果当前行值与power bi中的前一行值匹配,如何找到当前行值?
【发布时间】:2020-05-03 00:32:59
【问题描述】:

如果条件与前一行值匹配,我正在尝试查找当前行值

我的情况是

1) 如果我的 trac 列值是 T645,那么我必须检查新列中的下一个交易值是“T644”或“TA63”或“T643”,但不是 BZ12。我必须采取 T645 列的 TotalPremium 值而不是其他视图

我的代码是

sub Value = CALCULATE(SUM('Table'[TotalPremium]),FILTER(ALL('Table'),
        'Table'[trac] = "T645" && EARLIER('Table'[trac])= "T644" || 
        EARLIER ('Table'[trac]) = "TA63" || EARLIER ('Table'[trac]) = "T643" && 
        EARLIER ('Table'[trac]) <> "BZ12" && 'Table'[Stat] = "PS"))

输出:

但预期的输出是

【问题讨论】:

    标签: powerbi powerbi-desktop powerbi-embedded powerbi-datasource powerbi-custom-visuals


    【解决方案1】:

    最后,我解决了使用索引的概念,我的意思是我已经创建了索引列,用于比较当前值和下一个值

    代码:

    New Val = 
        VAR device = 'Table'[trac]    
        VAR ind = 'Table'[Index]
        VAR preInd= ind-1
        VAR TotalPremiumPreDate  = 
          SUMX(
            FILTER(
              'Table', 'Table'[Index] = preInd && ('Table'[date] >= MIN('Table'[date]) 
              && 'Table'[date] <= MAX('Table'[date]) ) &&
              'Table'[trac] = "T645" && (EARLIER('Table'[trac])= "T644" || 
                    EARLIER ('Table'[trac]) = "TA63" || EARLIER ('Table'[trac]) = "T643") && 
                    EARLIER ('Table'[trac]) <> "BZ12" && 'Table'[Stat] = "PS"  
            ),
            'Table'[TotalPremium]
        )
        RETURN TotalPremiumPreDate
    

    输出:

    【讨论】:

      猜你喜欢
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      • 2020-05-10
      • 2016-01-09
      • 1970-01-01
      相关资源
      最近更新 更多