CMDB Health Dashboard — Why the Correctness Widget Count Does Not Always Match the Sum of Individual IndicatorsSummary<!-- /*NS Branding Styles*/ --> .ns-kb-css-body-editor-container { p { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } span { font-size: 12pt; font-family: Lato; color: var(--now-color--text-primary, #000000); } h2 { font-size: 24pt; font-family: Lato; color: var(--now-color--text-primary, black); } h3 { font-size: 18pt; font-family: Lato; color: var(--now-color--text-primary, black); } h4 { font-size: 14pt; font-family: Lato; color: var(--now-color--text-primary, black); } a { font-size: 12pt; font-family: Lato; color: var(--now-color--link-primary, #00718F); } a:hover { font-size: 12pt; color: var(--now-color--link-primary, #024F69); } a:target { font-size: 12pt; color: var(--now-color--link-primary, #032D42); } a:visited { font-size: 12pt; color: var(--now-color--link-primary, #00718f); } ul { font-size: 12pt; font-family: Lato; } li { font-size: 12pt; font-family: Lato; } img { display: ; max-width: ; width: ; height: ; } } Overview Are you seeing a mismatch between the Incomplete count shown on the Correctness widget and the sum of individual indicator counts (Duplicate + Orphan + Staleness)? For example: Duplicate: 5, Orphan: 0, Staleness: 20 : sum = 25 But widget shows: Incomplete 20, Complete 80 out of 100 CIs evaluated (This is just an example) This is not a bug. This article explains exactly why this happens, how the widget calculates its count, and how to verify it in your instance. This article covers: How the Correctness widget counts Complete and Incomplete CIsWhy the sum of indicators does not always match the Incomplete countWhen the sum does match the Incomplete countWhere the raw health result record count comes fromHow to verify this in your instance ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ How the Correctness Widget Counts Complete and Incomplete CIs The Correctness widget shows two things: Incomplete — number of unique CIs failing at least one indicatorComplete — number of CIs that are not failing any indicatorThe percentage shown is the percentage of Complete CIs out of total CIs evaluated The Incomplete count is calculated using COUNT DISTINCT on the CI sys_id from the cmdb_health_result table. This means: If CI-A fails only Staleness — counted as 1 Incomplete CIIf CI-B fails only Duplicate — counted as 1 Incomplete CIIf CI-C fails both Staleness AND Duplicate — still counted as 1 Incomplete CI not 2Complete CIs = Total CIs evaluated minus Incomplete CIs The widget always shows unique failing CIs for the Incomplete count regardless of how many indicators each CI has failed. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Why the Sum Does Not Always Match the Incomplete Count The sum of individual indicator counts does not match the Incomplete count on the widget when one or more CIs are failing multiple indicators simultaneously. Example — With Overlap: Total CIs evaluated: 100 Duplicate failures: 5 CIs Orphan failures: 0 CIs Staleness failures: 20 CIs Sum of indicators: 25 Widget shows: Incomplete: 20 Complete: 80 Why the difference: 5 CIs are failing both Duplicate AND Staleness at the same timeThese 5 CIs each have 2 records in cmdb_health_result — one for Duplicate and one for StalenessThe widget counts each of these 5 CIs only once in the Incomplete countUnique failing CIs = 20 not 2525 minus 5 overlapping CIs = 20 Incomplete which matches the widgetComplete = 100 minus 20 = 80 which also matches ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ When the Sum Does Match the Incomplete Count The sum of individual indicator counts matches the Incomplete count exactly when there is no overlap — meaning no CI is failing more than one indicator at the same time. Example — Without Overlap: Total CIs evaluated: 100 Duplicate failures: 10 CIs Orphan failures: 5 CIs Staleness failures: 20 CIs Sum of indicators: 35 Widget shows: Incomplete: 35 Complete: 65 Why they match: All 10 Duplicate CIs are completely different from the 20 Staleness CIs and 5 Orphan CIsNo CI appears in more than one indicatorUnique failing CIs = 10 + 5 + 20 = 35 Incomplete which matches the widget exactlyComplete = 100 minus 35 = 65 which also matches ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Where the Raw Record Count Comes From When you navigate to the cmdb_health_result table and filter by Metric = Staleness or Metric = Duplicate you will see a total record count at the top right of the list. This number is the raw count of all health result records and is NOT the same as the Incomplete count shown on the widget. Example: Total raw records in cmdb_health_result for all indicators = 125But Incomplete count on widget = 100 The difference between 125 and 100 exists because: 25 CIs appear in more than one indicator — two or more records per CI in cmdb_health_resultThe raw count includes all records regardless of overlapThe widget counts only unique CIs for the Incomplete count To see unique failing CIs instead of raw records group the cmdb_health_result list by CI. The number of grouped rows is the unique CI count which will match the Incomplete count on the widget. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ How to Verify This in Your Instance To check if a CI is failing multiple indicators simultaneously: Navigate to cmdb_health_result tableFilter by Metric = Staleness or Metric = Duplicate or Metric = OrphanGroup the results by CIAny CI showing a count greater than 1 next to its name is failing multiple indicatorsCount those CIs — subtract that count from the sum of individual indicatorsThe result should match the Incomplete count on the widget To understand Complete vs Incomplete: Incomplete = unique CI count when grouped by CI in cmdb_health_resultComplete = Total CIs evaluated minus IncompletePercentage shown on widget = Complete divided by Total CIs evaluated multiplied by 100 ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Key Things to Remember Incomplete count on widget = unique failing CIs not total failure recordsComplete count on widget = Total CIs evaluated minus IncompleteA CI failing multiple indicators is counted only once in the Incomplete countThe sum of individual indicators will only match the Incomplete count when no CI is failing more than one indicatorThe raw record count in cmdb_health_result will always be greater than or equal to the Incomplete countGroup cmdb_health_result by CI to get the unique count that matches the Incomplete count on the widgetAny CI showing count greater than 1 when grouped by CI is failing multiple indicators simultaneouslyThis is expected behavior — the widget shows how many CIs are unhealthy not how many individual health issues exist ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Related Tables cmdb_health_result — stores individual failure records per CI per metric. Raw record count here will differ from Incomplete count on widget when CIs are failing multiple indicators.cmdb_health_scorecard — stores the scorecard data per CI class per metric showing Failed count, Score, Status, and Total per run.