cancel
Showing results for 
Search instead for 
Did you mean: 
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
Eyelyn9
Community Support
Community Support

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
Eyelyn9
Community Support
Community Support

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]))



Muhammad Hasnain

#LetsConnect https://www.linkedin.com/in/hasnain2587/
mh2587
Super User
Super User

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


Muhammad Hasnain

#LetsConnect https://www.linkedin.com/in/hasnain2587/

Helpful resources

Announcements
September Update

Check it Out!

Click here to learn more about the September 2022 updates!

Power BI Show episode 9

The Power BI Community Show

Watch the playback when Priya Sathy and Charles Webb discuss Datamarts! Kelly also shares Power BI Community updates.

Power BI Dev Camp Session 26

New Date - Check it Out!

Mark your calendars and join us on Thursday, October 6 at 11a PDT for a great session with Ted Pattison!

Top Solution Authors