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

To celebrate FabCon Vienna, we are offering 50% off select exams. Ends October 3rd. Request your discount now.

Reply
Manuka
Frequent Visitor

Sum of a overall category

Hi together,


I need your support, hoping anyone has an idea how to solve my problem. 

 

In the top table I have my raw data example in Column A:C. 

In the first step, I set the overall status in Column D (one Task is open = overall status is open, etc...). If not necessary to have a new calculated column, I would prefer to have this step integrated in a measure. 


In the second step, I need to count the amount of serial Numbers with the overall status "open", "done", "not affected". 

My thought is to have three DAX Measures, for each overall status one which have the result shown in the blue box. 

Manuka_1-1720016095526.png


Regards, Manuka

 

1 ACCEPTED SOLUTION
Jihwan_Kim
Super User
Super User

Hi,

I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.

 

Jihwan_Kim_0-1720062411570.png

Open count: = 
VAR _t =
    ADDCOLUMNS (
        VALUES ( Data[Serial Number] ),
        "@overallstatus",
            SWITCH (
                TRUE (),
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Open"
                    )
                ) > 0, "Open",
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Done"
                    )
                ) > 0, "Done",
                "Not Affected"
            )
    )
RETURN
    COUNTROWS ( FILTER ( _t, [@overallstatus] = "Open" ) )

 

Done count: = 
VAR _t =
    ADDCOLUMNS (
        VALUES ( Data[Serial Number] ),
        "@overallstatus",
            SWITCH (
                TRUE (),
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Open"
                    )
                ) > 0, "Open",
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Done"
                    )
                ) > 0, "Done",
                "Not Affected"
            )
    )
RETURN
    COUNTROWS ( FILTER ( _t, [@overallstatus] = "Done" ) )

 

Not affected count: = 
VAR _t =
    ADDCOLUMNS (
        VALUES ( Data[Serial Number] ),
        "@overallstatus",
            SWITCH (
                TRUE (),
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Open"
                    )
                ) > 0, "Open",
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Done"
                    )
                ) > 0, "Done",
                "Not affected"
            )
    )
RETURN
    COUNTROWS ( FILTER ( _t, [@overallstatus] = "Not affected" ) )

 


If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Click here to visit my LinkedIn page

Click here to schedule a short Teams meeting to discuss your question.

View solution in original post

3 REPLIES 3
Jihwan_Kim
Super User
Super User

Hi,

I am not sure if I understood your question correctly, but please check the below picture and the attached pbix file.

 

Jihwan_Kim_0-1720062411570.png

Open count: = 
VAR _t =
    ADDCOLUMNS (
        VALUES ( Data[Serial Number] ),
        "@overallstatus",
            SWITCH (
                TRUE (),
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Open"
                    )
                ) > 0, "Open",
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Done"
                    )
                ) > 0, "Done",
                "Not Affected"
            )
    )
RETURN
    COUNTROWS ( FILTER ( _t, [@overallstatus] = "Open" ) )

 

Done count: = 
VAR _t =
    ADDCOLUMNS (
        VALUES ( Data[Serial Number] ),
        "@overallstatus",
            SWITCH (
                TRUE (),
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Open"
                    )
                ) > 0, "Open",
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Done"
                    )
                ) > 0, "Done",
                "Not Affected"
            )
    )
RETURN
    COUNTROWS ( FILTER ( _t, [@overallstatus] = "Done" ) )

 

Not affected count: = 
VAR _t =
    ADDCOLUMNS (
        VALUES ( Data[Serial Number] ),
        "@overallstatus",
            SWITCH (
                TRUE (),
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Open"
                    )
                ) > 0, "Open",
                COUNTROWS (
                    FILTER (
                        CALCULATETABLE ( VALUES ( Data[Status per Task] ) ),
                        Data[Status per Task] <> "Not affected"
                            && Data[Status per Task] = "Done"
                    )
                ) > 0, "Done",
                "Not affected"
            )
    )
RETURN
    COUNTROWS ( FILTER ( _t, [@overallstatus] = "Not affected" ) )

 


If this post helps, then please consider accepting it as the solution to help other members find it faster, and give a big thumbs up.


Click here to visit my LinkedIn page

Click here to schedule a short Teams meeting to discuss your question.

Thats perfect, as I need them each in a separate measure that is working fine! Thanks a lot for your time and feedback!

Anonymous
Not applicable

Hi @Manuka 

 

Please try this:

I create 2 measures with the data you provided:

vzhengdxumsft_1-1720061714932.png

 

Status =
VAR _currentNumber =
    MAX ( 'Table'[Serial Number] )
VAR _vtable =
    SELECTCOLUMNS (
        FILTER ( ALLSELECTED ( 'Table' ), 'Table'[Serial Number] = _currentNumber ),
        'Table'[Status per Task]
    )
RETURN
    IF (
        "Open" IN _vtable,
        "Open",
        IF (
            "Done" IN _vtable,
            "Done",
            IF ( "Not affected" IN _vtable, "Not affected" )
        )
    )
Count =
VAR _vtable =
    SUMMARIZE (
        ALLSELECTED ( 'Table' ),
        'Table'[Serial Number],
        "_Status", [Status]
    )
RETURN
    COUNTROWS (
        FILTER ( _vtable, [_Status] = SELECTEDVALUE ( 'Table'[Status per Task] ) )
    )

 

The result is as follow:

vzhengdxumsft_2-1720061801628.pngvzhengdxumsft_3-1720061814216.png

Best Regards

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

 

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.

August 2025 community update carousel

Fabric Community Update - August 2025

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