Percentage calculation not understanding.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-11-2025 11:29 AM
Hello all,
I have configured CMDB Health Dashboard.
Here, I have a query on percentage showing up on the Completeness, Correctness and Compliance.
I have configured Completeness and Correctness as of now.
So, I have created Health Inclusion rules on Server table for all metrics like, Required, Recommended, Duplicate, Orphan and Staleness.
Required:
Made CPU Count as Mandatory on the dictionary level.
and condition given in cmdb_health_config table is Class is Server and Operational Status is Operational.
Recommended:
So, added few fields to the right side, y clicking on the completeness under Health.
and condition given in cmdb_health_config table is Class is Server and Discovery source is Servicenow.
Now, when I check the Server (cmdb_ci_server) list view, I see there are 2662 records that are showing Operational and in that 300 CIs has empty CPU Count.
ANd my Completeness tile is showing like 42% .
How?????
Because when I click on Missing Required Attributes, it is showing 28. and Why no CIs are showing up in the Missing Recommended Attributes?
Can someone please help me in understanding these scores?
Regards,
Lucky
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-12-2025 01:52 AM
Hi @Lucky1 ,
1. Why your Completeness % looks off
The Completeness score on the CMDB Health Dashboard is not calculated by simply counting missing field values in cmdb_ci_server against the total records.
Key Points:
* The CMDB Health Completeness metric only evaluates CIs that match your Inclusion Rule and are active and in-scope.
* It also only runs against the latest snapshot from the cmdb_health_completeness table (populated by the Completeness job).
* The Required attributes are validated per the CMDB Health Configuration (cmdb_health_config) at the time the metric job runs — not live in real-time.
Example:
If you have 2662 servers and 300 missing CPU Count, you might think that’s ~88.7% completeness.
But:
* Only servers matching your cmdb_health_inclusion rule and with sys_class_name exactly matching the class you configured will be counted.
* Records excluded due to status, inactive flag, discovery source mismatch, or not being part of the latest job run won’t be included in the denominator.
That’s why you’re seeing 42%, not your manual math.
2. Why “Missing Required Attributes” count ≠ missing CPU Count
* The “Missing Required Attributes” drilldown shows CIs missing any one required attribute, not the total missing per attribute.
* Your dictionary-level mandatory (CPU Count) only enforces it on form save — not retroactively for existing records.
* If some CIs fail the inclusion rules or are filtered out, they won’t appear in the list.
3. Why no CIs are showing in “Missing Recommended Attributes”
This usually happens for one of these reasons:
1. Recommended fields are not part of Inclusion Scope
* Check your Inclusion Rules for Recommended attributes — they must exactly match the records you expect.
* In your example, you said Discovery source = ServiceNow. If the CI’s discovery_source field is empty or has a slightly different string (case-sensitive), they’re excluded.
2. Recommended attributes were added after the last metric run
* The dashboard is populated by a scheduled job (CMDB Health Completeness) — run it manually after adding recommended fields.
3. Recommended attributes are already filled
* If no CIs are missing them (per the metric’s last run), the count is zero.
4. How to Troubleshoot
1. Verify Inclusion Rule scope
* Go to CMDB Health > Administration > Health Inclusion Rules
* Check that your conditions exactly match your intended records.
2. Check Latest Completeness Snapshot
* Table: cmdb_health_completeness
* Filter by sys_class_name = cmdb_ci_server and see which records are failing.
3. Run CMDB Health Jobs Manually
* cmdb_health_completeness (Completeness)
* cmdb_health_correctness (Correctness)
This ensures your recent config changes are reflected.
4. Confirm Recommended Field Configuration
* Table: cmdb_health_config
* Check that the Recommended attributes have the correct sys_class_name and discovery_source.
Please appreciate the efforts of community contributors by marking appropriate response as Mark my Answer Helpful or Accept Solution this may help other community users to follow correct solution in future.
Thank You
AJ - TechTrek with AJ - ITOM Trainer
LinkedIn:- https://www.linkedin.com/in/ajay-kumar-66a91385/
YouTube:- https://www.youtube.com/@learnitomwithaj
Topmate:- https://topmate.io/aj_techtrekwithaj (Connect for 1-1 Session)
ServiceNow Community MVP 2025