Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
4 years ago
Solved

Automatically update a column when a value in another column exist more than once

 

Dear all

 

I have a log table to record each action ("Action" column), when it happen ("Log_Time" column), and its meaning ("Process" column).

 

My target is to automatically update the "Process" column when there is a new action happen after the previous action. 

 

Below is an example:

 

Action A, B, and C happened again, so the process start over after the latest Action A.

 

Action

Log_TimeProcess
Action A1/1/2022Start of Process A
Action B2/1/2022Start of Process B
Action C3/1/2022Start of Process C
Action D3/15/2022Start of Process D
Action E4/1/2022Start of Process E
Action A5/1/2022 
Action B5/4/2022 
Action C5/15/2022 

 

 

Action

Log_TimeProcess
Action A1/1/2022 
Action B2/1/2022 
Action C3/1/2022 
Action D3/15/2022 
Action E4/1/2022 
Action A5/1/2022Start of Process A
Action B5/4/2022Start of Process B
Action C5/15/2022Start of Process C

 

Many thanks!

  • sturlaws's avatar
    sturlaws
    4 years ago

    sorry, somehow forgot to paste in the code for the calculated column:

    Column =
    VAR _action_A_max =
        CALCULATE (
            MAX ( 'Table'[Log_time] ),
            FILTER ( ALL ( 'Table' ), 'Table'[Process] = "Action A" )
        )
    RETURN
        IF (
            'Table'[Log_time] >= _action_A_max,
            CONCATENATE ( "Start of Process ", RIGHT ( 'Table'[Process], 1 ) ),
            BLANK ()
        )

4 Replies

  • sturlaws's avatar
    sturlaws
    Resident Rockstar

    Hi,

     

    you create this calculated column

    which returns this:

     

    Cheers,
    Sturla

    If this post helps, then please consider Accepting it as the solution. Kudos are nice too.

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi Sturla, would you mind sharing the pbix file? Thanks!

      • sturlaws's avatar
        sturlaws
        Resident Rockstar

        sorry, somehow forgot to paste in the code for the calculated column:

        Column =
        VAR _action_A_max =
            CALCULATE (
                MAX ( 'Table'[Log_time] ),
                FILTER ( ALL ( 'Table' ), 'Table'[Process] = "Action A" )
            )
        RETURN
            IF (
                'Table'[Log_time] >= _action_A_max,
                CONCATENATE ( "Start of Process ", RIGHT ( 'Table'[Process], 1 ) ),
                BLANK ()
            )
  • Anonymous's avatar
    Anonymous
    Not applicable

    Thanks Sturla! It works!