@mattybeard/datavalidation
v0.1.4
Published
A Power Platform Toolbox tool for validating Dataverse table data against configurable column-level rules. Run tests across thousands of records and instantly see pass/fail results with detailed breakdowns.
Readme
DataValidation
DataValidation is a Power Platform ToolBox tool for running simple, repeatable data quality checks against Dataverse tables.
The tool lets you select a table, choose columns, configure tests per column, and run those tests across all records to produce a headline pass rate and per-test results.
Current Capabilities
Table and Column Setup
- Browse Dataverse tables (display name + logical name).
- Load table columns and filter out unsupported/internal types.
- Sort columns by logical name, display name, type, or configured test count.
- Configure tests per column or apply tests in bulk to selected columns.
Implemented Tests
Contains Data- Passes when the value is not null, undefined, or empty/whitespace.
Matches Regex- Uses a configured regular expression against the string form of the value.
Matches Metadata(currently implemented for selected attribute types)StringType: value length must be<= MaxLength.IntegerType: value must be an integer within[MinValue, MaxValue](where bounds exist).DecimalTypeandMoneyType: numeric value must be within[MinValue, MaxValue](where bounds exist).PicklistType,StateType,StatusType: value must exist in metadata options.
How Test Execution Works
When you click Run Selected Tests, the tool:
- Builds a FetchXML query including only columns with configured tests.
- Retrieves all records for the selected table (paged).
- Executes configured tests against each record value.
- Displays:
- A headline pass rate across all executed checks.
- A per-column, per-test pass/fail breakdown.
Local Development
Prerequisites
- Node.js 18+
Install
npm installor
pnpm installRun Dev Mode
npm run devBuild
npm run buildValidate Package
npm run validateUsage in Power Platform ToolBox
- Build the tool (
npm run build). - Package/install in ToolBox using your normal ToolBox workflow.
- Connect to a Dataverse environment.
- Select a table.
- Configure tests on one or more columns.
- Run tests and review the summary/results grid.
Notes and Limitations
Matches Metadatais intentionally incremental and currently covers the types listed above.- Empty values are treated as metadata-valid so that completeness checks remain the job of
Contains Data. - Very large tables may take longer due to full-table paging and in-memory evaluation.
Tech Stack
- React 18 + TypeScript
- MobX
- Fluent UI React v8
- Vite
window.dataverseAPIandwindow.toolboxAPIfrom Power Platform ToolBox
License
MIT
