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

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
tb92
Frequent Visitor

Status Tracking

Hello everyone, I have the following table;

 

ID               Date          Status

105/05/2023A
106/05/2023B
201/02/2023A
201/04/2023C
305/05/2023A
306/05/2023C

 

I would like to define the following ;

 

Measure 1 = COUNT (Status A to Status B) = 1 Total

 

Measure 2 = COUNT (Status A to Status C) = 2 Total 

 

Which would allow to me to count how many unique IDs have changed from A to B and from A to C over time.

 

Could anyone provide me with some help on this?

 

Many Thanks 

1 ACCEPTED SOLUTION
Ritaf1983
Super User
Super User

Hi @tb92 
Dax formula for your first request :

Distinct Count A To B =
CALCULATE(
    DISTINCTCOUNT('Table'[ID]),
    FILTER(
        'Table',
        'Table'[Status] = "B" &&
        CALCULATE(
            MAX('Table'[Date]),
            FILTER(
                'Table',
                'Table'[ID] = EARLIER('Table'[ID]) &&
                'Table'[Status] = "A"
            )
        ) <'Table'[Date]
    )
)
 
For Second :
Distinct Count A To C =
CALCULATE(
    DISTINCTCOUNT('Table'[ID]),
    FILTER(
        'Table',
        'Table'[Status] = "C" &&
        CALCULATE(
            MAX('Table'[Date]),
            FILTER(
                'Table',
                'Table'[ID] = EARLIER('Table'[ID]) &&
                'Table'[Status] = "A"
            )
        ) <'Table'[Date]
    )
)
 
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

3 REPLIES 3
Ritaf1983
Super User
Super User

Hi @tb92 
Dax formula for your first request :

Distinct Count A To B =
CALCULATE(
    DISTINCTCOUNT('Table'[ID]),
    FILTER(
        'Table',
        'Table'[Status] = "B" &&
        CALCULATE(
            MAX('Table'[Date]),
            FILTER(
                'Table',
                'Table'[ID] = EARLIER('Table'[ID]) &&
                'Table'[Status] = "A"
            )
        ) <'Table'[Date]
    )
)
 
For Second :
Distinct Count A To C =
CALCULATE(
    DISTINCTCOUNT('Table'[ID]),
    FILTER(
        'Table',
        'Table'[Status] = "C" &&
        CALCULATE(
            MAX('Table'[Date]),
            FILTER(
                'Table',
                'Table'[ID] = EARLIER('Table'[ID]) &&
                'Table'[Status] = "A"
            )
        ) <'Table'[Date]
    )
)
 
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly

 

Thank you this is perfect 🙂 

It was my pleasure to assist 🙂 

Helpful resources

Announcements
LearnSurvey

Fabric certifications survey

Certification feedback opportunity for the community.

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.