Forum Discussion

edgarjb-68's avatar
edgarjb-68
Frequent Visitor
6 years ago
Solved

Row calculation

How to calculate rows on a table in Power BI? I want to create a column "started" as below, for each row of this column I need the result like this excel formula: =IF(AND(A3=A2;B3-B2<1);"No";"yes")

 

part

install datestarted
PAU-010126/03/2019 05:17yes
PAU-010107/04/2019 18:56No
PAU-010107/04/2019 19:56yes
PAU-010226/03/2019 05:17yes
PAU-010207/04/2019 18:56No
PAU-010207/04/2019 19:56yes
  • Anonymous's avatar
    Anonymous
    6 years ago
    Hi ,
    Can you try to change the datediff to minutes and change the less than condition.
    Thanks.
  • JUST PERFECT!!!

     

    started = VAR v_LagPart = CALCULATE( MAX( Data[part] ), FILTER( Data, Data[part] = EARLIER( Data[part] ) && Data[installdate] < EARLIER( Data[installdate] ) ) ) VAR v_LagDate = CALCULATE( MAX( Data[installdate] ), FILTER( Data, Data[part] = EARLIER( Data[part] ) && Data[installdate] < EARLIER( Data[installdate] ) ) ) RETURN IF( Data[part] = v_LagPart && ( DATEDIFF( v_LagDate, Data[installdate], MINUTE ) < 1440 ), "No", "Yes" )

10 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi,

    Can you try to use this:

    started = 
    VAR v_LagPart = CALCULATE( MAX( Data[part] ),
              FILTER( Data, Data[part] = EARLIER( Data[part] ) &&
              Data[installdate] < EARLIER( Data[installdate] )
              )
    ) 
    
    VAR v_LagDate = CALCULATE( MAX( Data[installdate] ),
              FILTER( Data, Data[part] = EARLIER( Data[part] ) &&
              Data[installdate] < EARLIER( Data[installdate] )
              )
    )
    RETURN IF( Data[part] = v_LagPart && ( DATEDIFF( Data[installdate],v_LagDate, DAY ) < 1 && DATEDIFF( Data[installdate],v_LagDate, DAY ) <> 0 ), "No", "Yes" )

    Thanks.

    • edgarjb-68's avatar
      edgarjb-68
      Frequent Visitor

      Thank you, elegant coding.

      I tried your suggestion but it does not look right, see my results table:

      • Anonymous's avatar
        Anonymous
        Not applicable
        Hi,
        Could you please explain the if condition. I mean what are you trying to achieve using it, specifically the date comparison part.
        Thanks.