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

Compete to become Power BI Data Viz World Champion! First round ends August 18th. Get started.

Reply
Anonymous
Not applicable

Tracking test performance

Hello,

I've been wracking my brain around how to best solve this question but haven't came up with something acceptable.

 

I have 38000 rows of data that documents each time a test is performed and the result of that test. A Test Subject belongs to a Department. A Test Subject may have more than one Test Case, and if a Test Case fails, it will be retested until it passes. I'm looking for a way to know how many test subjects pass a test the first time vs those that needed to be retested.

 

Thank you for any insight you can provide!

 

Sample data: (simulated due to sensitivity)

DepartmentTest SubjectTest CaseTimestampUserStatus
14426210011017/03/2020BillPassed
24616110011117/03/2020PaigeFailed
14588610010917/03/2020RobPassed
14588610011017/03/2020RobFailed
24616110011118/03/2020BobReady to Retest
14588610011018/03/2020BobReady to Retest
14588610011020/03/2020PaigePassed
24616110011120/03/2020BillPassed
1 ACCEPTED SOLUTION
v-juanli-msft
Community Support
Community Support

Hi @Anonymous 

as assumed, there may be two cases:

one:

Capture4.JPG

Measure =
VAR mindate =
    CALCULATE (
        MIN ( 'Table'[Timestamp] ),
        ALLEXCEPT (
            'Table',
            'Table'[Test Subject],
            'Table'[Test Case]
        )
    )
RETURN
    CALCULATE (
        MAX ( 'Table'[Status] ),
        FILTER (
            'Table',
            'Table'[Timestamp] = mindate
        )
    )


Measure 2 =
VAR mincase =
    CALCULATE (
        MIN ( 'Table'[Test Case] ),
        ALLEXCEPT (
            'Table',
            'Table'[Test Subject]
        )
    )
RETURN
    CALCULATE (
        [Measure],
        FILTER (
            'Table',
            'Table'[Test Case] = mincase
        )
    )


pass a test the first time = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure 2]="Passed"))

needed to be retested = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure]="Failed"))

 

another:

Capture5.JPG

 

Measure 3 =
IF (
    FIND (
        "Failed",
        CONCATENATEX (
            ALLEXCEPT (
                'Table',
                'Table'[Test Subject]
            ),
            [Measure],
            ","
        ),
        1,
        0
    ) >= 1,
    "Failed",
    "Passed"
)

pass a test the first time2 = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure 3]="Passed"))

needed to be retested 2 = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure 3]="Failed"))

 

Best Regards
Maggie
Community Support Team _ Maggie Li
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
v-juanli-msft
Community Support
Community Support

Hi @Anonymous 

as assumed, there may be two cases:

one:

Capture4.JPG

Measure =
VAR mindate =
    CALCULATE (
        MIN ( 'Table'[Timestamp] ),
        ALLEXCEPT (
            'Table',
            'Table'[Test Subject],
            'Table'[Test Case]
        )
    )
RETURN
    CALCULATE (
        MAX ( 'Table'[Status] ),
        FILTER (
            'Table',
            'Table'[Timestamp] = mindate
        )
    )


Measure 2 =
VAR mincase =
    CALCULATE (
        MIN ( 'Table'[Test Case] ),
        ALLEXCEPT (
            'Table',
            'Table'[Test Subject]
        )
    )
RETURN
    CALCULATE (
        [Measure],
        FILTER (
            'Table',
            'Table'[Test Case] = mincase
        )
    )


pass a test the first time = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure 2]="Passed"))

needed to be retested = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure]="Failed"))

 

another:

Capture5.JPG

 

Measure 3 =
IF (
    FIND (
        "Failed",
        CONCATENATEX (
            ALLEXCEPT (
                'Table',
                'Table'[Test Subject]
            ),
            [Measure],
            ","
        ),
        1,
        0
    ) >= 1,
    "Failed",
    "Passed"
)

pass a test the first time2 = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure 3]="Passed"))

needed to be retested 2 = CALCULATE(DISTINCTCOUNT('Table'[Test Subject]),FILTER('Table','Table'[Measure 3]="Failed"))

 

Best Regards
Maggie
Community Support Team _ Maggie Li
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Anonymous
Not applicable

This is exactly what I'm looking for. Thank you very much for your help, @v-juanli-msft. You just made my life a whole lot easier!

amitchandak
Super User
Super User

@Anonymous , Create a rank on Date under test subject. Then Rank =1 and Status =pass you are looking for

Create a column Rank, refer first article

For Rank Refer these links

https://radacad.com/how-to-use-rankx-in-dax-part-1-of-3-calculated-columns
https://radacad.com/how-to-use-rankx-in-dax-part-2-of-3-calculated-measures
https://radacad.com/how-to-use-rankx-in-dax-part-3-of-3-the-finale
https://community.powerbi.com/t5/Community-Blog/Dynamic-TopN-made-easy-with-What-If-Parameter/ba-p/367415

 

Please Watch/Like/Share My webinar on Time Intelligence: https://community.powerbi.com/t5/Webinars-and-Video-Gallery/PowerBI-Time-Intelligence-Calendar-WTD-YTD-LYTD-Week-Over-Week/m-p/1051626#M184
My Your Tube Tips at: https://www.youtube.com/playlist?list=PLPaNVDMhUXGYrm5rm6ME6rjzKGSvT9Jmy

Appreciate your Kudos.

Share with Power BI Enthusiasts: Full Power BI Video (20 Hours) YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube

Helpful resources

Announcements
July PBI25 Carousel

Power BI Monthly Update - July 2025

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

August 2025 community update carousel

Fabric Community Update - August 2025

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

Top Solution Authors