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
Anonymous
Not applicable

Trying to group while using COUNTA

I am a very new Power BI user. I am trying to get the stacked bar below to show the percent compliant/noncompliant for the various different sites, but it is giving me the total for all sites. I am using the COUNTA function. I thought it might be an issue with how my model is set up. Essentially, I want COUNTA to group by the site name and compliant/noncompliant. The highlighted model below shows where the tables are joined.  Any thoughts? Thanks!Model2powerbi.JPGStackedBar.jpg

1 ACCEPTED SOLUTION
Anonymous
Not applicable

HI @Anonymous ,

It seems like your tables have linked with chain relationship mapping with 'cross' filter direction, I haven't found any issues on relationship design. (it may be related to table records mapping)
Maybe you can need to create a summary table to summary these table records to one table based on relationship keys or write measures to manually lookup records from different tables and summary them.

Measure formula:

Measure =
VAR currSiteID =
    VALUES ( Sites[SiteID] )
VAR _monitoringList =
    CALCULATETABLE (
        VALUES ( MonitoringReview[MonitoringID] ),
        FILTER ( ALLSELECTED ( MonitoringReview ), [SiteID] IN currSiteID )
    )
VAR _itemList =
    CALCULATETABLE (
        VALUES ( MonitoringItem[ItemID] ),
        FILTER ( ALLSELECTED ( MonitoringItem ), [MonitoringID] IN _monitoringList )
    )
VAR _resultList =
    CALCULATETABLE (
        VALUES ( MonitoringReviewItem[ResultID] ),
        FILTER ( ALLSELECTED ( MonitoringReviewItem ), [ItemID] IN _itemList )
    )
RETURN
    CALCULATE (
        COUNTA ( MonitoringReviewType[ResultID] ),
        FILTER ( ALLSELECTED ( MonitoringReviewType ), [ResultID] IN _resultList ),
        VALUES ( MonitoringReviewType[NonCompliant] )
    )

Notice: use Sites[SiteID] as axis, MonitoringReviewType[NonCompliant] as legend, measure as value to create chart.
Regards,
Xiaoxin Sheng

View solution in original post

1 REPLY 1
Anonymous
Not applicable

HI @Anonymous ,

It seems like your tables have linked with chain relationship mapping with 'cross' filter direction, I haven't found any issues on relationship design. (it may be related to table records mapping)
Maybe you can need to create a summary table to summary these table records to one table based on relationship keys or write measures to manually lookup records from different tables and summary them.

Measure formula:

Measure =
VAR currSiteID =
    VALUES ( Sites[SiteID] )
VAR _monitoringList =
    CALCULATETABLE (
        VALUES ( MonitoringReview[MonitoringID] ),
        FILTER ( ALLSELECTED ( MonitoringReview ), [SiteID] IN currSiteID )
    )
VAR _itemList =
    CALCULATETABLE (
        VALUES ( MonitoringItem[ItemID] ),
        FILTER ( ALLSELECTED ( MonitoringItem ), [MonitoringID] IN _monitoringList )
    )
VAR _resultList =
    CALCULATETABLE (
        VALUES ( MonitoringReviewItem[ResultID] ),
        FILTER ( ALLSELECTED ( MonitoringReviewItem ), [ItemID] IN _itemList )
    )
RETURN
    CALCULATE (
        COUNTA ( MonitoringReviewType[ResultID] ),
        FILTER ( ALLSELECTED ( MonitoringReviewType ), [ResultID] IN _resultList ),
        VALUES ( MonitoringReviewType[NonCompliant] )
    )

Notice: use Sites[SiteID] as axis, MonitoringReviewType[NonCompliant] as legend, measure as value to create chart.
Regards,
Xiaoxin Sheng

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.

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