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

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Request now

Reply
deanbland
Helper III
Helper III

How to compare changes by date

Hi all, 

 

I have a dataset that looks like below: 

 

Issue IDExport DateStatusDue Date
I128/06/2021Closed31/12/2021
I228/06/2021Open31/12/2021
I328/06/2021Open31/12/2021
I428/06/2021Open 
I105/07/2021Open31/12/2021
I205/07/2021Closed31/12/2021
I305/07/2021Open 
I405/07/2021Closed 
I505/07/2021Open31/12/2021

 

What I am trying to do is compare the data set each week (defined by the 'Export Date' column) to show movements between the weeks. 

 

I want to know how many Issues have changed status, how many don't have Due Dates and how many new Issues we have compared to last week. 

 

From the dataset, this is the output I would expect: 

 

New - 1 (I5)

Closed - 2 (I2 & I4)

Open - 2 (I1 & I5)

No Due Date - 1 (I5) While there are two with no due dates, I am just looking to represent a change in this statue. So if an onld Issue changes to not having a due date, I would want to represent this, not the total number without one overall.  

 

I hope this makes sense, if any clarification is needed let me know! 

1 ACCEPTED SOLUTION
Icey
Community Support
Community Support

Hi @deanbland ,

 

 

No Due Date - 1 (I5) While there are two with no due dates, I am just looking to represent a change in this statue. So if an onld Issue changes to not having a due date, I would want to represent this, not the total number without one overall.  

 


To my understand, this one is "I3", changed from "31/12/2021" to blank. Right?

 

Then try to create measures like so:

New = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Export Date] = ThisWeek_ ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Export Date] = LastWeek_ ),
            'Table'[Issue ID]
        )
    )
VAR NewIssues_ =
    EXCEPT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( NewIssues_ )
Closed = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = ThisWeek_
                    && 'Table'[Status] = "Closed"
            ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = LastWeek_
                    && 'Table'[Status] <> "Closed"
            ),
            'Table'[Issue ID]
        )
    )
VAR ClosedIssues_ =
    INTERSECT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( ClosedIssues_ )
Open = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = ThisWeek_
                    && 'Table'[Status] = "Open"
            ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = LastWeek_
                    && 'Table'[Status] <> "Open"
            ),
            'Table'[Issue ID]
        )
    )
VAR OpenIssues_ =
    INTERSECT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( OpenIssues_ ) + [New]
No Due Date = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = ThisWeek_
                    && ISBLANK ( 'Table'[Due Date] )
            ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = LastWeek_
                    && NOT ( ISBLANK ( 'Table'[Due Date] ) )
            ),
            'Table'[Issue ID]
        )
    )
VAR NoDueDateIssues_ =
    INTERSECT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( NoDueDateIssues_ )

issues.PNG

 

 

Best Regards,

Icey

 

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
Icey
Community Support
Community Support

Hi @deanbland ,

 

Does the method I provide above work in your scenario?

 

 

Best Regards,

Icey

Icey
Community Support
Community Support

Hi @deanbland ,

 

 

No Due Date - 1 (I5) While there are two with no due dates, I am just looking to represent a change in this statue. So if an onld Issue changes to not having a due date, I would want to represent this, not the total number without one overall.  

 


To my understand, this one is "I3", changed from "31/12/2021" to blank. Right?

 

Then try to create measures like so:

New = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Export Date] = ThisWeek_ ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Export Date] = LastWeek_ ),
            'Table'[Issue ID]
        )
    )
VAR NewIssues_ =
    EXCEPT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( NewIssues_ )
Closed = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = ThisWeek_
                    && 'Table'[Status] = "Closed"
            ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = LastWeek_
                    && 'Table'[Status] <> "Closed"
            ),
            'Table'[Issue ID]
        )
    )
VAR ClosedIssues_ =
    INTERSECT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( ClosedIssues_ )
Open = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = ThisWeek_
                    && 'Table'[Status] = "Open"
            ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = LastWeek_
                    && 'Table'[Status] <> "Open"
            ),
            'Table'[Issue ID]
        )
    )
VAR OpenIssues_ =
    INTERSECT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( OpenIssues_ ) + [New]
No Due Date = 
VAR ThisWeek_ =
    MAX ( 'Table'[Export Date] )
VAR LastWeek_ =
    CALCULATE ( MAX ( 'Table'[Export Date] ), 'Table'[Export Date] < ThisWeek_ )
VAR IssuesThisWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = ThisWeek_
                    && ISBLANK ( 'Table'[Due Date] )
            ),
            'Table'[Issue ID]
        )
    )
VAR IssuesLastWeek_ =
    DISTINCT (
        SUMMARIZE (
            FILTER (
                ALLSELECTED ( 'Table' ),
                'Table'[Export Date] = LastWeek_
                    && NOT ( ISBLANK ( 'Table'[Due Date] ) )
            ),
            'Table'[Issue ID]
        )
    )
VAR NoDueDateIssues_ =
    INTERSECT ( IssuesThisWeek_, IssuesLastWeek_ )
RETURN
    COUNTROWS ( NoDueDateIssues_ )

issues.PNG

 

 

Best Regards,

Icey

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

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.

Top Solution Authors