Tabular Editor 2: The Free Power BI External Tool That Changes Everything for Semantic Model Development
(link to YouTube video at the bottom!)
This is the first deep dive in my Power BI external tools series, and we’re starting with the big one: Tabular Editor.
If you’ve never used it, think of Tabular Editor as a more direct way to work with the semantic model underneath Power BI Desktop, especially when you want to make lots of changes quickly, access advanced properties, or enforce consistency across a model.
Though thorough, this isn’t meant to be an exhaustive feature tour. It’s the practical version: how I use Tabular Editor in real workflows, and where I’ve found it saves the most time.
Tabular Editor 2 vs Tabular Editor 3
This post is from the perspective of Tabular Editor 2, which is free and open-source.
Tabular Editor 3 is the commercial product with additional enterprise-focused capabilities and paid licensing.
TE 2’s latest version can be downloaded here: https://github.com/TabularEditor/TabularEditor
How Tabular Editor Connects to Your Model
Local Connection
When you launch Tabular Editor from within Power BI Desktop → External Tools ribbon, Power BI passes the model connection details to the tool so it can connect automatically.
It’s also a standalone program, so you can launch it first and choose the file to connect to instead of doing it from within Power BI Desktop’s external tools ribbon.
Connecting to a published model (XMLA)
Tabular Editor can also connect to semantic models in the service via the XMLA endpoint—but write operations require the XMLA endpoint to be enabled for read-write, and the model must be hosted on supported capacity (Premium capacity or Premium Per User scenarios).
Practical takeaway: connecting to published models is very doable, just make sure you’re operating with the right permissions/capacity setup—and it’s smart to have version control discipline around changes.
The “Property Grid” is Where the Time Savings Start
Once you’re connected, Tabular Editor gives you a property grid where you can quickly adjust table/column/measure properties. This includes things like formatting strings, descriptions, perspective membership, and more.
A few practical wins I use constantly:
1) Descriptions + synonyms (especially as teams scale)
Adding descriptions and synonyms is a small thing that pays off over time—particularly for discoverability and clarity when other people build reports on your model. (This is less about a single “feature,” and more about building a model that other humans can understand.)
2) Sort By Column + Summarize By (bulk updates without the desktop drag)
“Sort by” and “Summarize by” are easy in theory, but painful at scale when you’re doing it one field at a time. In Tabular Editor you can move much faster, and you can automate it with scripts if you want.
This matters a lot in shared semantic models where you’re trying to make the “default behavior” sensible for report builders.
A Useful Optimization: Disabling “Available in MDX” Where Appropriate
One of the more impactful model-optimization levers Tabular Editor exposes is the column property IsAvailableInMDX (often referred to as “Available in MDX”).
This property controls whether attribute hierarchies are built for columns (which impacts MDX-based clients and certain metadata structures).
Setting it to false can reduce overhead, but it also affects Excel PivotTable / Analyze in Excel experiences because Excel relies on MDX to query semantic models.
If your organization relies on Analyze in Excel, be careful and test.
If you don’t rely on it (and you’re managing a large model), selectively disabling MDX availability can be a reasonable optimization.
Security Work: RLS, and Object-Level Security (OLS)
Row-Level Security (RLS)
Tabular Editor makes it easy to inspect and edit role filters directly. It’s a clean way to review role logic without bouncing between UI panes.
Object-Level Security (OLS)
OLS is one of the biggest reasons people reach for Tabular Editor in Power BI. Microsoft’s own guidance (at least historically) for configuring OLS in Power BI uses Tabular Editor as the workflow.
Tabular Editor’s docs also show where the OLS properties live and how to remove/adjust them safely.
Perspectives: Not Security, but Great for a Cleaner Self-Service Build Experience
Perspectives let you present different “views” of the same semantic model—useful when different teams only need a subset of the model.
Microsoft documentation shows creating and managing perspectives via Tabular Editor as part of the workflow.
Important note (and you called this out in your video): perspectives are not security. They help with usability and focus, not access restriction.
Also note that invoking a perspective will force a Direct Query connection, which may be a deal breaker with its affects on performance (Live Connection is much faster, though more limiting in what you can do to customize your report).
Measure Organization: Display Folders (fast, clean, scalable)
If you keep measures centralized in a single measures table (common best practice), Tabular Editor makes it easy to:
Multi-select measures
Assign display folders in bulk
Drag/drop measures into folders
Build folder structures quickly
That drag-and-drop workflow is documented directly in Tabular Editor guidance.
DAX Editing + Dependencies
Tabular Editor lets you edit measure expressions directly, format them, and validate changes back to the model.
And one feature that’s surprisingly helpful when you inherit complex models: dependency viewing. The “Show dependencies…” view is a documented feature—right-click an object and visualize what it depends on (and what depends on it).
Partitions and Power Query (M): Editing Outside Desktop
You’re able to view and edit partition expressions (your M Query code).
If you’re doing incremental refresh / partitioned workflows, being able to inspect partition expressions in a modeling tool is genuinely useful—just treat it with the same discipline you would any “production model change.”
C# Scripting + Macros (!!!)
Even if you’re not a C# expert, Tabular Editor scripting can turn repetitive tasks into one-click macros (formatting, summarize-by rules, hiding keys, applying naming conventions, etc.). Tabular Editor provides extensive scripting guidance and examples for bulk property editing.
Something to note: always be thorough here to understand the impact. Scripts are powerful, and you want to review what they do before running them broadly.
Best Practice Analyzer (BPA)
Tabular Editor includes a Best Practice Analyzer capability, and rules can identify and even automatically correct model issues. A bit involved with setup, but very useful to have, and something you can even eventually use in your CI/CD workflow - if you’re into that sort of thing :)
Wrap-up
If you’re spending real time developing semantic models—especially models other people depend on—Tabular Editor 2 is one of the quickest ways to work faster and more consistently.
It helps most with:
bulk metadata changes (the stuff that’s painful in Desktop),
model usability (folders, summarize-by/sort-by defaults),
deeper security configuration (especially OLS),
dependency analysis,
and automation when you’re ready for it.