Forum Discussion

Txtcher's avatar
Txtcher
Icon for Helper V rankHelper V
1 year ago
Solved

Most Efficient Way to Count with Filters from Another Table

I have 2 tables:  HCR Intakes  & Allegations. The are related to each other with a 1-many relationship using a field called Intake Id (HCR Intakes have many Allegations).

I am trying to obtain a count of the allegations for each Intake in HCR Intakes.

This is the measure I created and it is working, but I am still new to DAX and am wondering if this is an efficient way:

Allegation Count = 
VAR xFilterAllegations = FILTER(Allegations,Allegations[Intake Id] = RELATED('HCR Intakes'[Intake Id]))
RETURN
CALCULATE(
    COUNTROWS(RELATEDTABLE('HCR Intakes')),
    xFilterAllegations)

 

Here are some sample tables:

HCR Intakes:

Intake IdDate Recieved
11/1/2025
21/20/2025
33/5/2025
44/25/2025

Allegations

Allegation NoIntake Id
A11
A21
A32
A42
A55
A66
A77

 

Expected outcome for Count of Allegations is:  4  (Intake Id 1 & 2 match HCR Intake [Intake id])

 

  • Hi,

    I would reduce te measure to only

    Allegation Count NEW =
     CALCULATE(
        COUNTROWS( Allegations ),
        'HCR Intakes'
     )
     

    If this helped, please consider giving kudos and mark as a solution

    me in replies or I'll lose your thread

    consider voting this Power BI idea

    Francesco Bergamaschi

    MBA, M.Eng, M.Econ, Professor of BI

  • Hi Txtcher please try this

     

    Allegation =
    CALCULATE(
        COUNTROWS(Allegations),
        TREATAS(VALUES('HCR Intakes'[Intake Id]), Allegations[Intake Id])
    )
     
     

3 Replies

  • Hi,

    I would reduce te measure to only

    Allegation Count NEW =
     CALCULATE(
        COUNTROWS( Allegations ),
        'HCR Intakes'
     )
     

    If this helped, please consider giving kudos and mark as a solution

    me in replies or I'll lose your thread

    consider voting this Power BI idea

    Francesco Bergamaschi

    MBA, M.Eng, M.Econ, Professor of BI

  • Hi Txtcher please try this

     

    Allegation =
    CALCULATE(
        COUNTROWS(Allegations),
        TREATAS(VALUES('HCR Intakes'[Intake Id]), Allegations[Intake Id])
    )
     
     
  • Thank you FBergamaschi  & techies .  Both solutions work. 😁

    And, the measure I created was not working because it was counting intakes, not allegations. Doh! 
    Good grief.