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

Data Days is here! Join us now for 60+ days of learning, challenges, and connection. Learn more

Reply
brettg
Helper II
Helper II

Count number of tests

Hello,

 

I would like to make a table which shows me users with 1 test, 2 tests, 3 tests etc. Something like the below based on the data set.

 

I know I could do this using "group by", but then I wouldn't be able to look at historic data. Is there a way to do this with a measure that would consider the date slicers on the page? (If I change date slicers, only tests in that period are counted)

 

Test CountNumber of users
11
22
31

 

UserIDGenderAgeTestResultTestDateTime
006Male34PASS2022-02-01 19:50:10.897
001Female29PASS2022-01-31 18:35:25.830
004Male25FAIL2022-01-30 10:50:48.873
001Female29PASS2022-01-28 11:39:51.737
001Female29FAIL2022-01-27 11:49:38.180
002Female36PASS2022-01-26 15:07:48.967
004Male25PASS2022-01-25 14:56:13.130
006Male34PASS2022-01-24 17:41:15.973
1 ACCEPTED SOLUTION
Anonymous
Not applicable

Hi @brettg ,

 

Firstly, create a table for "Count":

New Table = {1,2,3}

Eyelyn9_0-1644458199771.png

 

Please try:

Count = 
CALCULATE(COUNTROWS('Table'),FILTER(ALLSELECTED('Table'),[UserID]=MAX('Table'[UserID]) &&  [TestDateTime]>=MIN('Table'[TestDateTime]) && [TestDateTime]<=MAX('Table'[TestDateTime])))
Count(again based on meassure) = 
var _t=SUMMARIZE('Table','Table'[UserID],"Count by UserID",[Count])
return COUNTROWS(FILTER(_t,[Count by UserID]=MAX('New Table'[Test])))+0

Output:

count based on measure.gif

 

 

Best Regards,
Eyelyn Qin
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

6 REPLIES 6
Anonymous
Not applicable

Hi @brettg ,

 

Firstly, create a table for "Count":

New Table = {1,2,3}

Eyelyn9_0-1644458199771.png

 

Please try:

Count = 
CALCULATE(COUNTROWS('Table'),FILTER(ALLSELECTED('Table'),[UserID]=MAX('Table'[UserID]) &&  [TestDateTime]>=MIN('Table'[TestDateTime]) && [TestDateTime]<=MAX('Table'[TestDateTime])))
Count(again based on meassure) = 
var _t=SUMMARIZE('Table','Table'[UserID],"Count by UserID",[Count])
return COUNTROWS(FILTER(_t,[Count by UserID]=MAX('New Table'[Test])))+0

Output:

count based on measure.gif

 

 

Best Regards,
Eyelyn Qin
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Hi Eyelyn,

 

This is perfect thank you! Just what I was looking for.

 

Where you've done {1,2,3} on the new table, would it be simple for me to go up to 10 and then include "10 or more"? 

 

Kind regards,

Brett

brettg
Helper II
Helper II

Not quite what I'm looking for I'm afraid! SelectedValue won't work when my date slicer is between two values.

 

I think I need two measures? one to count the distinct UserID's and another to group them

brettg
Helper II
Helper II

Hello,

 

I need the measure to do a distinct count for "UserID" from the second table. 

 

Then I'd like to create the first table by grouping the user counts into repeat test usage.

Measure = CALCULATE(distinctCount(Table[UserId]),selectedvalue( Table[date]))


✔ Answered? Mark as solution

Muhammad Hasnain | Super User • Fabric • Power BI • Data Engineering

Let's connect on LinkedIn
mh2587
Super User
Super User

Measure = CALCULATE(Count(Table[Test]),selectedvalue( Table[date]))

✔ Answered? Mark as solution

Muhammad Hasnain | Super User • Fabric • Power BI • Data Engineering

Let's connect on LinkedIn

Helpful resources

Announcements
Fabric Data Days is here Carousel

Fabric Data Days 2026

Don't miss out on Data Days, June 15 through August 7. Learn Fabric, Power BI, SQL, AI and more.

May Power BI Update Carousel

Power BI Monthly Update - May 2026

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

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.