cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
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 other members 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 other members find it more quickly.

View solution in original post

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
Ask Amir Anything

Exclusive LIVE Community Event No. 2 – Ask Amir Anything

Next in our Triple A series: Ask Amir Netz questions about the latest updates, features and future.

October 2019 Community Highlights

October 2019 Community Highlights

October was a busy month in the community. Read the recap article to learn about some of the events and content.

New Solution Badges

New Solution Badges

Two waves of brand new solution badges are coming! Read the article for more information on our new community badges.

Analytics in Azure virtual event

Analytics in Azure virtual event

Experience a limitless analytics service built to ingest, prep, manage, and serve data for immediate use in Power BI.

Top Kudoed Authors
Users Online
Currently online: 47 members 846 guests
Please welcome our newest community members: