Don't miss your chance to take exam DP-600 or DP-700 on us!
Request nowLearn from the best! Meet the four finalists headed to the FINALS of the Power BI Dataviz World Championships! Register now
We're computing for the Defect Free % of our reports. Our data only goes as far as the current month but with the way the formula is structured (1 - (Reports with Defects / All Reports) ), the periods where there are no actual data pop up in our graph and show up as 100%:
Is there a way I can get this to compute only for the periods where there is actual data? Oddly enough, a blank entry also appears:
Whereas there shouldn't be any since I made the necessary filters for the page:
QAIssues is a custom column computed like so:
QAIssues =
COUNTROWS(
RELATEDTABLE('Defects')
)
~Defect % =
VAR cntDefects =
COUNTROWS(
FILTER('Audits', AND(NOT(ISBLANK('Audits'[QAIssues])), 'Audits'[QAIssues] > 0))
)
RETURN (1 - DIVIDE(cntDefects, COUNTROWS('Audits')))
Solved! Go to Solution.
Your last bit after the return
RETURN (1 - DIVIDE(cntDefects, COUNTROWS('Audits')))is evaluated to 1-blank(), which PowerBI translates to 1-0 = 1 => 100%
You can test this directly with
Minus Blank() = 1-BLANK()which also returns 1.
If you want those entries to disappear from your visual, you’ll need to add a check before the subtraction and return BLANK() whenever the denominator is empty.
For example:
~Defect % =
VAR cntDefects =
COUNTROWS (
FILTER (
'Audits',
NOT ( ISBLANK ( 'Audits'[QAIssues] ) )
&& 'Audits'[QAIssues] > 0
)
)
VAR cntAll = COUNTROWS ( 'Audits' )
RETURN
IF ( cntAll = 0, BLANK(), 1 - DIVIDE ( cntDefects, cntAll ) )
Your last bit after the return
RETURN (1 - DIVIDE(cntDefects, COUNTROWS('Audits')))is evaluated to 1-blank(), which PowerBI translates to 1-0 = 1 => 100%
You can test this directly with
Minus Blank() = 1-BLANK()which also returns 1.
If you want those entries to disappear from your visual, you’ll need to add a check before the subtraction and return BLANK() whenever the denominator is empty.
For example:
~Defect % =
VAR cntDefects =
COUNTROWS (
FILTER (
'Audits',
NOT ( ISBLANK ( 'Audits'[QAIssues] ) )
&& 'Audits'[QAIssues] > 0
)
)
VAR cntAll = COUNTROWS ( 'Audits' )
RETURN
IF ( cntAll = 0, BLANK(), 1 - DIVIDE ( cntDefects, cntAll ) )
Hi,
Share the download link of the PBI file.
Hi @olimilo
Adjust your measure so it only calculates when there are audits:
Defect Free % =
VAR denom = [Audits]
VAR defects = [Audits with Defects]
RETURN
IF ( denom = 0, BLANK(), DIVIDE ( denom - defects, denom ) )
If you prefer to explicitly show 0% in months without audits, change it slightly:
Defect Free % (zero on no-audit) =
VAR denom = [Audits]
VAR defects = [Audits with Defects]
RETURN
IF ( denom = 0, 0, DIVIDE ( denom - defects, denom ) )
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Check out the February 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 49 | |
| 40 | |
| 32 | |
| 14 | |
| 13 |
| User | Count |
|---|---|
| 85 | |
| 70 | |
| 37 | |
| 28 | |
| 27 |