"Sales are down 18% in the West region. Your bar chart proves it."
"Wait — which 'West'? The data has 'West', 'west', and 'WEST' as three separate values."
That is not a visualisation problem. It is a data quality problem — and it is invisible until you look for it. Power BI's three data profiling tools in Power Query Editor exist to find these problems before they reach your report. Five minutes of profiling saves five hours of wrong decisions.
- Column Quality — instant data health check per column (green=valid, red=error, grey=empty)
- Column Distribution — histogram + distinct count vs unique count
- Column Profile — full statistics panel for a selected column
- Default profiling covers only the first 1,000 rows — change this for large tables
A surgeon doesn't operate without an X-ray. The X-ray reveals what is invisible to the naked eye — a fracture, a misaligned joint, a hidden anomaly. Data profiling is your X-ray. Your data may look fine in the preview grid, but Column Profile will show you that your Revenue column has 47 null values, your Region column has 6 distinct values when there should be 4, and your Date column has a min of 1900-01-01 (a classic Excel date error). You find these now, before a wrong chart misleads a board meeting.
All three tools live in the same place — the View tab of the Power Query Editor ribbon:
- Open Power Query Editor — click Transform Data from the Home ribbon in Power BI Desktop
- Click the View tab in the Power Query ribbon
- In the Data Preview group, check: Column quality, Column distribution, and Column profile
- Quality bars appear above each column, distribution histograms below, profile panel at the bottom when you click a column
Shows the percentage of valid, error, and empty values for each column as a horizontal bar directly above the column data.
- Instantly spot which columns have missing or dirty data
- Green = valid, red = errors, grey = empty
- Hover over the bar to see exact counts and percentages
- Accessible via View → Column quality
Visually displays the value distribution across a column as a small histogram, plus distinct and unique value counts.
- Distinct count = number of different values (including duplicates counted once)
- Unique count = values that appear exactly once
- The histogram shows how data is spread — spot skewed distributions instantly
- Helpful for verifying categorical columns (e.g. should Region have exactly 4 values?)
The most detailed of the three — provides a full statistical breakdown of a selected column in a dedicated panel at the bottom of Power Query Editor.
- Count, empty count, distinct count, unique count
- Min, max, average, standard deviation (for numeric columns)
- Most frequent and least frequent values with counts
- A value distribution chart for the selected column
- Data type and any detected errors shown clearly
A retail chain analyst loads a SQL Server sales table (2M rows) into Power Query before building a regional dashboard. She enables all three profiling tools and finds:
| Column | Profiling Finding | Action Taken |
|---|---|---|
| Region | Column Distribution: 6 distinct values — expected 4. Profile reveals "North East" and "NorthEast" as separate entries. | Replace Values in Power Query to standardise to 4 canonical names. |
| Revenue | Column Quality: 3% errors. Profile shows min = -99999 (clearly invalid). | Remove Error rows; filter out rows where Revenue < 0. |
| SaleDate | Column Profile: min = 1900-01-01 (Excel date zero error). 847 rows affected. | Filter rows where SaleDate < 2020-01-01 before loading. |
| StoreID | Column Quality: 100% valid. Distribution shows all 500 expected stores present. | No action needed — confirmed clean. |
Without profiling, all four issues would have silently entered the data model and produced wrong visuals. The whole audit took 8 minutes.
- Profiling only the first 1,000 rows and calling the data clean. The default sample is 1,000 rows. In a 2M-row table, that is 0.05% of your data. Data quality issues — especially in operational tables — tend to cluster in older records or recent error batches. Always switch to "entire data set" profiling before signing off on data quality.
- Ignoring the Distinct vs Unique count difference. A Region column with 4 distinct values is fine. But if unique count equals distinct count equals row count, the column is a unique identifier — not a category dimension. Distinct = how many different values exist. Unique = how many appear exactly once. These serve different diagnostic purposes.
- Closing Power Query without acting on the profiling findings. Profiling is only useful if it leads to transformation steps. After you identify a dirty column, add the fix as an Applied Step immediately. Do not plan to "fix it later" — later never comes, and the bad data reaches the model.
| Tool | What It Shows | Best Used For |
|---|---|---|
| ✅ Column Quality | Valid / Error / Empty % | Quick data health check across all columns |
| 📊 Column Distribution | Value spread, distinct & unique counts | Spotting unexpected categories, outliers, duplicates |
| 🧪 Column Profile | Full stats: min, max, avg, std dev, frequency | Deep-dive on a specific column before transforming |
- Enable all three from Power Query Editor → View tab → Data Preview group
- Switch to "entire data set" profiling for tables larger than 1,000 rows
- Profile before writing any transformation step — it tells you what to fix
- Column Distribution's Distinct vs Unique counts serve different diagnostic purposes
- Always act on profiling findings immediately — add an Applied Step before closing Power Query
Q1. You enable Column Distribution on a ProductCategory column and see: Distinct = 12, Unique = 9. What does this tell you, and is it a problem?
Show Answer
Distinct = 12: there are 12 different category names in the column.
Unique = 9: 9 of those names appear exactly once (they have no duplicates).
This means 3 category names appear more than once — which is expected for a category dimension (most categories will appear in many rows). This is normal. It would only be a problem if you expected all 12 categories to be unique identifiers (like a primary key), where you'd want Distinct = Unique = row count.
Q2. Column Quality on your Revenue column shows: Valid 94%, Empty 3%, Error 3%. You need clean revenue data for a financial report. What two transformation steps should you add in Power Query?
Show Answer
Step 1 — Handle errors: Right-click the Revenue column → Remove Errors (or Replace Errors with null/0 depending on business rule). This removes/replaces the 3% error rows.
Step 2 — Handle nulls: Use Remove Rows → Remove Blank Rows, or filter where Revenue is not null. The 3% empty values are likely missing data — check with stakeholders whether to remove those rows or substitute a default value (e.g., 0 for missing sales).
Q3. You are profiling a 5M-row orders table. Column Profile on the OrderDate column shows min = 1899-12-30. You know all orders are from 2020 onwards. What happened and how do you fix it?
Show Answer
1899-12-30 is Excel's serial date zero — it represents the number 0 stored as a date, which Excel renders as 30 December 1899. This typically happens when Excel exported rows where the date cell was empty or zero.
Fix: in Power Query, add a filter step: Filter Rows → OrderDate is after 2020-01-01 (or whatever your valid range start is). This removes all rows with the Excel date zero error before loading into the model.
- RR Skillverse: Power BI Cheat Sheets →
- MS Learn: Data profiling tools in Power Query →
- MS Learn: Profile data in Power BI →