Documentation

Data Health Panel

A Power BI custom visual that evaluates whether data can be trusted by showing a weighted health score, four quality KPIs, and a plain-English diagnostic issue list.

Quality score

Health Score =
0.4 * CompletenessScore +
0.25 * FreshnessScore +
0.2 * UniquenessScore +
0.15 * ValidityScore

Dimensions

What the visual evaluates.

Completeness

Average percent of non-blank values across fields selected for completeness.

Freshness

Latest selected freshness date compared with the current date. Fresh scores 100, warning scores 70, and stale scores 30.

Uniqueness

Average distinct-value rate across fields selected for uniqueness.

Validity

Category checks for blanks, low-frequency categories, and high fragmentation.

Field roles

Select fields based on what you want to validate.

Fields to Check Completeness

Assign fields where blanks or nulls should reduce the completeness score. Example: Country and Status.

Fields to Check Uniqueness

Assign identifiers where repeated values should reduce the uniqueness score. Example: CaseID.

Field to Check Freshness

Assign one date field used to evaluate how old the dataset is. Example: CreatedDate.

Fields to Validate Categories

Assign category fields where blank, low-frequency, or fragmented categories should reduce validity. Example: Status or Country.

Formatting controls

Configure the visual from Power BI.

Display controls: show or hide the health score, KPI tiles, and issue list; adjust base font size.
Threshold controls: configure freshness hours, stale hours, blank threshold, low-frequency threshold, fragmentation threshold, and distinct calculation row limit.
Color controls: override good, warning, and bad score colors.

Test in Power BI Desktop

Use the sample data to verify the visual.

  1. 1 Open Power BI Desktop.
  2. 2 Import the sample CSV.
  3. 3 Enable custom visuals if your tenant or Desktop settings require it.
  4. 4 Import the Data Health Panel .pbiviz package.
  5. 5 Add Data Health Panel to the report canvas.
  6. 6 Assign Country and Status to completeness, CaseID to uniqueness, CreatedDate to freshness, and Status to category validity.

AppSource notes

Built with AppSource-style validation in mind.

The current MVP does not use external API calls, data export, local storage, eval, or unsafe dynamic script execution.