Data quality means your numbers are accurate, complete and on time; data governance is the set of roles, rules and processes that keep them that way. For a BI team, the practical goal is simple: when two people open two dashboards, they see the same revenue figure and trust it. You do not need an enterprise program to get there; a few clear definitions, owners and automated checks go a long way.
Why BI teams should care
A dashboard is only as good as the data behind it. Duplicate orders, a broken join or a late file can quietly inflate a KPI, and once a manager catches one wrong number, they start doubting all of them. Common symptoms of weak quality and governance include:
- Different reports show different totals for the "same" metric.
- Nobody knows who to ask when a number looks off.
- Analysts spend more time reconciling than analyzing.
- Sensitive data (salaries, customer details) is visible to people who should not see it.
- Dashboards break after a source system changes and nobody notices for days.
The six dimensions of data quality
Most frameworks describe quality along a handful of dimensions. Naming them helps you decide what to test.
| Dimension | Question it answers | Example check |
|---|---|---|
| Accuracy | Does the value reflect reality? | Order totals match the payment system |
| Completeness | Is anything missing? | No null customer IDs on orders |
| Consistency | Does it agree across systems? | Same store list in sales and inventory |
| Timeliness | Is it fresh enough? | Yesterday's sales loaded by 7 a.m. |
| Validity | Does it follow the rules and formats? | Status is one of the allowed values |
| Uniqueness | Is each record recorded once? | No duplicate order IDs |
Practical data quality checks in SQL
You can start testing today with plain SQL. Each query below should return zero rows (or zero) when the data is healthy, which makes them easy to automate.
-- 1. Uniqueness: duplicate primary keys
select order_id, count(*) as copies
from orders
group by order_id
having count(*) > 1;
-- 2. Completeness: required fields missing
select count(*) as missing_customer
from orders
where customer_id is null;
-- 3. Validity: values outside the allowed list
select status, count(*)
from orders
where status not in ('placed', 'shipped', 'completed', 'returned')
group by status;
-- 4. Referential integrity: orders with no matching customer
select o.order_id
from orders o
left join customers c on c.customer_id = o.customer_id
where o.customer_id is not null
and c.customer_id is null;
-- 5. Timeliness: hours since the latest load (PostgreSQL)
select extract(epoch from (now() - max(loaded_at))) / 3600 as hours_since_load
from orders;
Save these as scheduled jobs or, better, declare them as tests in dbt so they run every time the data is rebuilt. The dbt for analysts guide shows how unique, not_null, accepted_values and relationships tests replace most of these queries with a few lines of YAML.
Governance basics: people, definitions and access
Governance sounds bureaucratic, but for a small BI team it comes down to answering three questions: who owns this data, what does this metric mean, and who is allowed to see it?
Roles
- Data owner: a business leader accountable for a domain (for example, the sales director for sales data). They approve definitions and access.
- Data steward: the hands-on person who maintains definitions, monitors quality and answers questions.
- Data custodian: usually IT or data engineering, responsible for storage, security and pipelines.
- Consumers: analysts and report users who follow the rules and report issues.
In a small company one person may wear several hats. That is fine, as long as each domain has a named contact.
A business glossary
Write down how each key metric is calculated, in plain language and in code. "Net sales" should specify whether it excludes returns, discounts, taxes and shipping, and which date it uses (order date or ship date). A shared spreadsheet or wiki page is enough to start. Metrics from KPIs every business should track are a good first list to define.
Access and privacy
Classify data into simple levels such as public, internal, confidential and restricted. Then apply least-privilege access: people see only what they need. In Power BI, row-level security lets one report show each regional manager only their own region. If you handle personal data, follow the privacy laws that apply to your business and customers; when in doubt, consult your legal or compliance contact.
A simple governance plan for small BI teams
- List your critical datasets and metrics. Start with the five to ten numbers leadership looks at every week.
- Assign an owner and a steward to each one and publish the list.
- Write definitions in a glossary, including the exact SQL or DAX that calculates each metric.
- Certify trusted sources. Mark official datasets as certified or endorsed in your BI tool and point new reports at them instead of at raw files.
- Automate quality checks for uniqueness, completeness, validity and freshness on those datasets.
- Set up alerts and an issue process. When a check fails, a named person gets notified and logs the issue and fix.
- Review access quarterly and remove people who changed roles.
- Measure and improve. Track how many checks fail and how fast issues get resolved.
Tools that help
You can do a lot with SQL, a glossary document and your BI tool's built-in features. As you grow, consider:
- Transformation and testing: dbt tests, or Python libraries such as Great Expectations or Soda for rule-based checks.
- BI platform features: Power BI and Microsoft Fabric include endorsement (promoted and certified), sensitivity labels and lineage views; Tableau offers data quality warnings and certified data sources in its Data Management offering.
- Catalogs: Microsoft Purview, open-source tools like DataHub or OpenMetadata, and commercial catalogs that index datasets, owners and lineage.
Feature availability often depends on license tier, so confirm on each vendor's official documentation before planning around a feature.
Common mistakes to avoid
- Buying a tool before defining owners and metrics. A catalog full of undefined tables just organizes the confusion.
- Testing everything at once. Hundreds of noisy alerts get ignored; start with the checks that protect your most important numbers.
- Fixing data only in the report. Patching a bad value in Power Query hides the problem; fix it at the source or in the shared transformation layer so every report benefits.
If you want to go deeper into frameworks and terminology, a good reference book helps you speak the same language as data management professionals.
Next steps
This week, pick your single most important dashboard. Write a one-paragraph definition for each metric on it, name an owner, and add five SQL checks for duplicates, nulls, invalid values, orphan records and freshness. Schedule them to run before the dashboard refreshes. Once that loop works, certify the dataset in your BI tool and repeat the process for the next critical report.
Watch: video lessons


Frequently asked questions
What is the difference between data quality and data governance?
Data quality describes how accurate, complete and timely your data is. Data governance is the framework of roles, policies and processes that keeps quality high and controls who can use the data.
Do small companies need data governance?
Yes, but a lightweight version. Naming an owner for each key dataset, writing clear metric definitions and automating a few quality checks covers most of the value.
What are the most important data quality checks to start with?
Start with duplicate primary keys, missing required fields, values outside allowed lists, orphan records and data freshness. These catch many of the problems that break dashboards.
Can Power BI help with data governance?
Yes. Power BI offers features such as endorsement (promoted and certified content), row-level security, lineage views and sensitivity labels; availability depends on your license, so check Microsoft's documentation.
Mark this lesson complete to track your rank progress.