VERSICH

Cleaning Up a Power BI Model by Hiding Columns Nobody Needs

cleaning up a power bi model by hiding columns nobody needs

A data model that carries every column from its source, whether or not anyone actually uses it, tends to get slower and harder to navigate as it grows. Picture a customer support ticketing dataset: alongside the fields that actually drive a report, ticket priority, resolution time, agent name, there's usually a long tail of internal record IDs, system timestamps, and blank legacy fields nobody ever filters by. Power BI gives you two different ways to deal with that clutter, and which one to use depends on whether you're tidying up the view or actually trimming the model itself.

Hiding a Column in Data View

This is the lighter-touch option: it tidies up what you see while working in Power BI Desktop, without touching the underlying model at all.

  1. Open your Power BI Desktop file and look at the Fields pane on the right, which lists every table and its columns.
  2. Find the table you want to clean up, the Tickets table in this example, and right-click the column you want out of view, say InternalRecordID, and choose “Hide in report view.”
  3. Repeat for any other columns cluttering the view, LegacySystemFlag, for instance, a field left over from a retired ticketing system that's blank for every row going forward.
  4. Switch to the Data tab to confirm both columns have disappeared from the table view.

Hiding a column this way doesn't touch the data itself or remove anything from the model; it just keeps it out of view while you work, leaving a cleaner, more focused table to navigate. Visuals already built against a hidden column keep working exactly as before. To bring a column back, right-click any column in that table and choose Unhide All.

Note: This is purely a visual convenience inside Power BI Desktop. The hidden columns are still part of the data model, still consuming memory, and still available to any visual or measure that references them.

Removing Columns in Power Query

If the goal is actually reducing file size and speeding up refreshes, rather than just tidying the view, the better move is removing the columns in Power Query before they ever load into the model.

  1. Open your Power BI Desktop file, right-click the Tickets table, and choose Edit Query to open Power Query.
  2. Look through the full column list for the table; this is usually where the unused fields and source noise become obvious, things like InternalRecordID and LegacySystemFlag again, along with maybe a RawImportTimestamp column nobody ever references in a report.
  3. Select the columns you want gone, right-click, and choose Remove Columns. If there are only a handful of columns you actually want to keep, Remove Other Columns is often faster, select the ones to retain first, then apply that option instead.
  4. Check the Applied Steps pane on the right; a new step recording the column removal should appear there.
  5. Click Close & Apply to load the trimmed table into the data model.

Once that finishes, the removed columns are gone entirely, not just hidden, and they won't reappear on the next refresh either.

Note: If the underlying source supports query folding, removing columns this way can get pushed back to the source itself, meaning the source never even sends that data to Power BI in the first place. That's a meaningfully bigger performance win than just discarding the columns after they've already been pulled in.

Choosing Between the Two

Hiding a column in Data View is the right call when the data still matters, a calculation depends on it, or a measure references it, but it just doesn't need to clutter the table view while you're building. Removing a column in Power Query is the right call when the field genuinely serves no purpose: blank legacy fields, internal IDs nobody filters by, raw system metadata that never makes it into a single visual.

Reviewing a model periodically with this distinction in mind, what's hidden because it's still useful behind the scenes versus what should actually be removed because nothing depends on it anymore, tends to keep both performance and file size in check as a model grows over time.