cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
filarap Regular Visitor
Regular Visitor

Row Value based on criteria and previous value

Hi all,

 

I have a table with timestamps and unique ids. What i am trying to achieve is:

 

For each row, look at previous 30 minutes and return "Yes" if there was same Id. 

Is there a way to achieve something like this?

 

Table below shows an example (Not sure if table is 30 minutes, as i took random numbers)

 

Time StampIDResult
07:46:344No
09:08:381No
09:25:554No
09:37:2610No
10:04:482No
10:42:145No
11:08:102No
11:13:552Yes
11:38:248No
11:57:077No
12:17:1710No
12:28:4810Yes
12:50:249No
13:36:293No
14:15:2210No
14:21:073No
16:06:143No
16:20:388No
16:22:053Yes
16:40:4810No
17:00:585No
17:08:1010Yes
17:13:556Yes
17:29:466Yes

 

Thank you

Filarap

1 ACCEPTED SOLUTION

Accepted Solutions
Community Support Team
Community Support Team

Re: Row Value based on criteria and previous value

Hi @filarap ,

 

To create two calculated column as below.

index = 
RANKX (
    FILTER ( 'Table', 'Table'[ID] = EARLIER ( 'Table'[ID] ) ),
    'Table'[Time Stamp],
    ,
    ASC,
    DENSE
)
Resu = 
VAR inx = 'Table'[index] - 1
VAR a =
    CALCULATE (
        MAX ( 'Table'[Time Stamp] ),
        FILTER (
            'Table',
            'Table'[index] = inx
                && 'Table'[ID] = EARLIER ( 'Table'[ID] )
        )
    )
VAR b = 'Table'[Time Stamp]
VAR diff =
    DATEDIFF ( a, b, MINUTE )
RETURN
    IF ( ISBLANK ( diff ) || diff > 30, "no", IF ( diff <= 30, "yes" ) )

Capture.PNG

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

View solution in original post

2 REPLIES 2
Community Support Team
Community Support Team

Re: Row Value based on criteria and previous value

Hi @filarap ,

 

To create two calculated column as below.

index = 
RANKX (
    FILTER ( 'Table', 'Table'[ID] = EARLIER ( 'Table'[ID] ) ),
    'Table'[Time Stamp],
    ,
    ASC,
    DENSE
)
Resu = 
VAR inx = 'Table'[index] - 1
VAR a =
    CALCULATE (
        MAX ( 'Table'[Time Stamp] ),
        FILTER (
            'Table',
            'Table'[index] = inx
                && 'Table'[ID] = EARLIER ( 'Table'[ID] )
        )
    )
VAR b = 'Table'[Time Stamp]
VAR diff =
    DATEDIFF ( a, b, MINUTE )
RETURN
    IF ( ISBLANK ( diff ) || diff > 30, "no", IF ( diff <= 30, "yes" ) )

Capture.PNG

 

Community Support Team _ Frank
If this post helps, then please consider Accept it as the solution to help the others find it more quickly.

View solution in original post

Highlighted
filarap Regular Visitor
Regular Visitor

Re: Row Value based on criteria and previous value

Thank you  

 

Realy great solution, work like a charm.

 

Regards

Filarap

Helpful resources

Announcements
New Kudos Given Badges Coming

New Kudos Given Badges Coming

We're rolling out new Kudos Given badges. Find out how many Kudos you've given.

Power Platform World Tour

Power Platform World Tour

Find out where you can attend!

Top Solution Authors
Top Kudoed Authors (Last 30 Days)
Users online (2,885)