Power BI is turning 10, and we’re marking the occasion with a special community challenge. Use your creativity to tell a story, uncover trends, or highlight something unexpected.
Get startedJoin us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.
Hi
I am trying to count or tally up number of rows in a table but ignore any blank values. The table is called in this example Projects and want to count the number of rows that have a date and ignore any null or blanks. My matrix or pivot uses figures from a table called AwardCounter. So for example in Jan 2020 the measure brings up all the dates including any null values, so instead of a count = 13 I get count = 18. Is this because my relationship to each table, how the filters are flowing. My filter context is coming from or is based on the AwardCounter, this populates the pivot or matrix Year and Monthname as simple stacked chart. My measure or latest attempt looks like this -
=CALCULATE(
COUNT('Projects'[Proj_No]),
'Projects'[SbmitDate]<> BLANK()
)
Diagram View:
Diagram View
Any help would be great, many thanks
Chris
Solved! Go to Solution.
@Anonymous ,
If you need blank
=CALCULATE(COUNTA('Projects'[Proj_No]) )
or
=CALCULATE(countrows('Projects'[Proj_No]) )
If you do need blank
=CALCULATE(COUNT('Projects'[Proj_No]),not(isblank('Projects'[SbmitDate])))
try using KEEPFILTERS, since 'Projects'[SbmitDate] <> BLANK () expands internally to
= FILTER ( ALL ( 'Projects'[SbmitDate] ), 'Projects'[SbmitDate] <> BLANK () )
at each month you get the same list of dates
=
CALCULATE (
COUNT ( 'Projects'[Proj_No] ),
KEEPFILTERS ( 'Projects'[SbmitDate] <> BLANK () )
)
but using KEEPFILTERS you can avoid overriding the existing filters and KEEPFILTERS adds the new filter to the exiting filter
try using KEEPFILTERS, since 'Projects'[SbmitDate] <> BLANK () expands internally to
= FILTER ( ALL ( 'Projects'[SbmitDate] ), 'Projects'[SbmitDate] <> BLANK () )
at each month you get the same list of dates
=
CALCULATE (
COUNT ( 'Projects'[Proj_No] ),
KEEPFILTERS ( 'Projects'[SbmitDate] <> BLANK () )
)
but using KEEPFILTERS you can avoid overriding the existing filters and KEEPFILTERS adds the new filter to the exiting filter
Many thanks to all, very useful answers.
Chris
@Anonymous ,
If you need blank
=CALCULATE(COUNTA('Projects'[Proj_No]) )
or
=CALCULATE(countrows('Projects'[Proj_No]) )
If you do need blank
=CALCULATE(COUNT('Projects'[Proj_No]),not(isblank('Projects'[SbmitDate])))
You probably want to use COUNTA() or COUNTAX() instead.
User | Count |
---|---|
14 | |
9 | |
7 | |
7 | |
6 |
User | Count |
---|---|
21 | |
11 | |
10 | |
10 | |
8 |