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

Next up in the FabCon + SQLCon recap series: The roadmap for Microsoft SQL and Maximizing Developer experiences in Fabric. All sessions are available on-demand after the live show. Register now

Reply
Anonymous
Not applicable

Return a Count only if the person is an approver

I need help adjusting my dax code. I have a measure created to return the number of cardholders an approver oversees. The problem is that the measure is returning a count for cardholders who aren't approvers. This is an example of what my data looks like:

bmoon_0-1644594138085.png

I have my data plugged into a nested table, but when you expand it all of the card holders under the approver are returning a count of 1.

bmoon_1-1644594208538.png

My dax code for the count is:

c Count of Card Members Overseen by Approver =
COUNTROWS(
VALUES(table[Card Holder])
)
11 REPLIES 11
v-jingzhang
Community Support
Community Support

Hi @Anonymous 

 

Have you solved this problem? If so, kindly accept an appropriate reply as the solution or provide your own solution. If you are still confused about it, please provide some sample data or screenshot about the problem. Thanks.


Regards,
Community Support Team _ Jing

tamerj1
Community Champion
Community Champion

I douot but worth trying
VAR CardCount =COUNTROWS(VALUES(table[Card Holder]))

VAR Result =
IF ( CardCount=1, 0CardCount)

RETURN

Result

 

 
Anonymous
Not applicable

That almost works. It returns a 0 for all cardholders, but occassionally there is a cardholder who is an approver.

 

Under another approver?

tamerj1
Community Champion
Community Champion

Hi @Anonymous 
Try this

Approver =
VAR CardCount =
    COUNTROWS ( VALUES ( table[Card Holder] ) )
VAR CardHolder =
    VALUES ( table[Card Holder] )
VAR Result =
    IF (
        CardCount = 1,
        IF ( CONTAINS ( table, table[Approver], CardHolder ), CardCount, 0 ),
        CardCount
    )
RETURN
    Result
Anonymous
Not applicable

It still seems to be populating the 1's

bmoon_0-1644608189394.png

 

tamerj1
Community Champion
Community Champion

Hi @Anonymous 

What do you want it to return? To return for example 5 for all cardholders unde Gonzalez? Also any cardholder having more than one card or only one card per cardholder?

tamerj1
Community Champion
Community Champion

Hi

Any luck? Can tou please send sample data? 

Anonymous
Not applicable

Sorry for my unclear question. I want it to return the count of cardholders overseen. So in the example with Gonzalez, his count (5) is correct. However, all of the individuals under him are cardholders and not approvers. So I want them to show 0 rather than 1. Occasionally an approver and cardholder can be the same person so I need to also account for that.

Hi @Anonymous 
I was going through open posts and noticed that for some reason I missed to reply to your last comment. I hope you already found a solution for this issue, if not please refer to the sample file with the solution. https://www.dropbox.com/t/JapcKP84iEDhZXx9

I don't know which number would you like to show next to the approver who is also a card holder therefore, I proposed two solutions hopefully one of them will satisfy your requirement.

 

 

Count of Card Members Overseen by Approver 1 = 
VAR CardCount =
    COUNTROWS ( VALUES ( 'Table'[Card Holder] ) )
VAR CardHolder =
    ALL ( 'Table'[Approver] )
VAR Result =
    IF (
        CardCount = 1,
        IF ( SELECTEDVALUE ( 'Table'[Card Holder] ) IN CardHolder, 1, 0 ),
        CardCount
    )
RETURN
    Result
Count of Card Members Overseen by Approver 2 = 
VAR CurrentCardHolder =
    SELECTEDVALUE ( 'Table'[Card Holder] )
VAR CardCount =
    COUNTROWS ( VALUES ( 'Table'[Card Holder] ) )
VAR CardApprovers =
    ALL ( 'Table'[Approver] )
VAR Result =
    IF (
        CardCount = 1,
        IF ( 
            CurrentCardHolder IN CardApprovers, 
            CALCULATE ( 
                COUNTROWS ( VALUES ( 'Table'[Card Holder] ) ), 
                'Table'[Approver] = CurrentCardHolder, 
                REMOVEFILTERS ( 'Table' ) 
            ), 
            0 
        ),
        CardCount
    )
RETURN
    Result

 

1.png

Hi,
Whatever your reason is you can try

Approver =
IF (
ISINSCOPE ( table[Approver] ),
COUNTROWS ( VALUES ( table[Card Holder] ) ),
0
)

but this will return all cardholder values to zero regardless whether they are also approvers or not. I'll let you know if I found a solution for that. First please try this code and let me know if it works. 

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.