Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes! Register now.

Reply
leodm
Frequent Visitor

DAX Measure to calculate grouped intervals?

Database sample:

ID                   Data de início real                   Squad                   
ID00103/01/2022 00:00:00Squad1
ID00404/01/2022 00:00:00Squad1
ID00706/01/2022 12:00:00Squad1
ID00203/01/2022 14:00:00Squad2
ID00807/01/2022 23:00:00Squad2
ID00907/01/2022 23:00:00Squad2
ID01008/01/2022 03:21:06Squad2
ID01109/01/2022 05:00:00Squad2
ID00303/01/2022 22:30:00Squad3
ID00505/01/2022 23:00:00Squad3
ID00605/01/2022 23:00:00Squad3



The DAX Measure must return the interval of the dates grouped by "Squad".
Must return zero on first Squad row & when there's no interval between two dates.


ID                   Data de início real                   Squad                   Interval (Days)                   
ID00103/01/2022 00:00:00Squad10,00
ID00404/01/2022 00:00:00Squad11,00
ID00706/01/2022 12:00:00Squad12,50
ID00203/01/2022 14:00:00Squad20,00
ID00807/01/2022 23:00:00Squad24,38
ID00907/01/2022 23:00:00Squad20,00
ID01008/01/2022 03:21:06Squad20,18
ID01109/01/2022 05:00:00Squad21,07
ID00303/01/2022 22:30:00Squad30,00
ID00505/01/2022 23:00:00Squad32,02
ID00605/01/2022 23:00:00Squad30,00


I appreciate so much you help.

1 ACCEPTED SOLUTION
wdx223_Daniel
Super User
Super User

wdx223_Daniel_0-1680149326410.png

Interval(Days) =
VAR _pre =
    CALCULATE (
        MAX ( 'TestTable'[Data de início real] ),
        OFFSET (
            -1,
            ALLSELECTED (
                'TestTable'[Data de início real],
                TestTable[Squad],
                TestTable[ID]
            ),
            ORDERBY ( 'TestTable'[Data de início real] ),
            ,
            PARTITIONBY ( 'TestTable'[Squad] )
        )
    )
RETURN
    IF ( _pre, VALUE ( MAX ( 'TestTable'[Data de início real] ) - _pre ), 0 )

 

View solution in original post

1 REPLY 1
wdx223_Daniel
Super User
Super User

wdx223_Daniel_0-1680149326410.png

Interval(Days) =
VAR _pre =
    CALCULATE (
        MAX ( 'TestTable'[Data de início real] ),
        OFFSET (
            -1,
            ALLSELECTED (
                'TestTable'[Data de início real],
                TestTable[Squad],
                TestTable[ID]
            ),
            ORDERBY ( 'TestTable'[Data de início real] ),
            ,
            PARTITIONBY ( 'TestTable'[Squad] )
        )
    )
RETURN
    IF ( _pre, VALUE ( MAX ( 'TestTable'[Data de início real] ) - _pre ), 0 )

 

Helpful resources

Announcements
September Power BI Update Carousel

Power BI Monthly Update - September 2025

Check out the September 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.