From e972bd89351746ec6dc375d7d8f317224eaca0a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20L=C3=B8nskov?= Date: Thu, 11 Jun 2026 13:34:16 +0200 Subject: [PATCH 1/4] Update the TE2 CLI documentation to refer to TE CLI and update feature comparision table with CLI --- content/features/Command-line-Options.md | 63 ++++++++++++++++++- content/getting-started/editions.md | 14 ++++- content/getting-started/migrate-from-te2.md | 54 +++++++--------- content/getting-started/migrate-from-vs.md | 40 +++++++----- .../includes/feature-comparison.partial.md | 51 +++++++++++++++ content/index.md | 48 +------------- 6 files changed, 169 insertions(+), 101 deletions(-) create mode 100644 content/includes/feature-comparison.partial.md diff --git a/content/features/Command-line-Options.md b/content/features/Command-line-Options.md index d46cb9677..863ae6f00 100644 --- a/content/features/Command-line-Options.md +++ b/content/features/Command-line-Options.md @@ -2,20 +2,79 @@ uid: command-line-options title: Command Line (Tabular Editor 2) author: Daniel Otykier -updated: 2021-08-26 +updated: 2026-06-09 applies_to: products: - product: Tabular Editor 2 full: true - product: Tabular Editor 3 none: true + - product: Tabular Editor CLI + none: true --- # Command Line (Tabular Editor 2) +Tabular Editor can be executed from the command-line to perform various tasks, which may be useful in Automated Build and Deployment scenarios, etc. + +## How the tools fit together + +Tabular Editor 3 is a desktop application for developers. It has no command-line interface of its own. For automated deployments and CI/CD pipelines, use either `TabularEditor.exe` (the Tabular Editor 2 CLI documented on this page) or the new cross-platform [Tabular Editor CLI](xref:te-cli) (`te`). + +Running `TabularEditor.exe` in a CI/CD pipeline does not require a Tabular Editor 3 license. Only users of the Tabular Editor 3 application need a license. + > [!TIP] > Looking for the new cross-platform CLI? See @te-cli for the Tabular Editor CLI (Limited Public Preview), a successor that runs on Windows, macOS, and Linux. -Tabular Editor can be executed from the command-line to perform various tasks, which may be useful in Automated Build and Deployment scenarios, etc. +## TabularEditor.exe vs. the Tabular Editor CLI + +The Tabular Editor CLI (`te`) is the cross-platform successor to `TabularEditor.exe`. It's not just a rewrite for macOS and Linux - it adds model editing, inspection, diffing, testing, refresh triggering, and VertiPaq analysis as first-class pipeline operations, none of which were possible with `TabularEditor.exe`. The `te` CLI is in Limited Public Preview (expires 2026-09-30); use `TabularEditor.exe` for production pipelines today. + +| | TE2 CLI (`TabularEditor.exe`) | TE CLI (`te`) | +|---|---|---| +| Status | Stable, production-ready | Limited Public Preview (expires 2026-09-30) | +| Platform | Windows only | Windows, macOS, Linux | +| License required | No | No (preview); TBD at GA | +| Binary | WinForms app, requires `start /wait` wrapper | Purpose-built console binary, no wrapper needed | +| **Authentication** | | | +| Service Principal | Via MSOLAP connection string | Native `--auth spn`, `--auth env`, `--auth managed-identity`; credentials via env vars, stdin, or certificate; OS-native secure credential store | +| Managed identity | No | Yes (`--auth managed-identity`), for Azure-hosted runners | +| Interactive browser login | No | Yes (`te auth login`) | +| **CI/CD** | | | +| CI annotations | `-V` (Azure DevOps), `-G` (GitHub) | `--ci vsts`, `--ci github` on every command | +| Non-interactive mode | No explicit flag; errors may prompt | `--non-interactive` global flag - fails fast, no prompts | +| Predictable exit codes | Partial | `0` = success, `1` = failure, `2` = diff mismatch | +| Structured output | No | `--output-format json/csv/tmdl/tmsl` on every command | +| VSTEST results | `-T` flag | `--trx ` on `validate`, `bpa run`, `test run` | +| **Deployment** | | | +| Deploy model | `-D` flag | `te deploy` with fine-grained flags (`--deploy-roles`, `--deploy-partitions`, `--deploy-connections`, `--deploy-full`, etc.) | +| Generate XMLA/TMSL without deploying | `-X` flag | `te deploy --xmla ` or `--dry-run` | +| BPA gate before deploy | No | Built-in; `--skip-bpa` or `--fix-bpa` to override | +| Connection profiles | No | `te profile set/list/show` - reusable named profiles per environment | +| **Best Practice Analyzer** | | | +| Run BPA | `-A` / `-AX` flags | `te bpa run` with `--fail-on warning/error`, `--fix`, `--path` scoping, `--vpax` for VPA-aware rules | +| BPA rule management | No | `te bpa rules add/rm/set/list/disable/enable/init` | +| **Model editing in pipeline** | | | +| Run C# scripts | `-S` flag | `te script` - multiple scripts, inline code, stdin, `--dry-run`, preprocessor symbols (`TECLI`) | +| Run macros | No | `te macro run` with `--on ` context | +| Set/get properties | No | `te get`, `te set`, `te add`, `te rm`, `te mv`, `te replace` | +| DAX formatting | No | `te format` - all expressions or single object, DAX and M | +| **Inspection** | | | +| List model objects | No | `te ls` with wildcard path filters, `--type`, `--paths-only`, `--output-format bim` | +| Search expressions/names | No | `te find` with regex and scope (`--in expressions/names/descriptions`) | +| Diff two models | No | `te diff` - structural comparison with exit code `2` on any difference | +| Dependency analysis | No | `te deps` - upstream/downstream for any object; `--unused` to find dead code | +| **Refresh** | | | +| Trigger refresh | No | `te refresh` with `--type`, `--table`, `--partition`, `--apply-refresh-policy`, `--dry-run` | +| **Testing** | | | +| DAX assertion tests | No | `te test run` with `--tag`, `--trx`, `--ci`; `te test init/snapshot/compare` | +| **VertiPaq analysis** | | | +| Storage statistics | No | `te vertipaq` - columns, relationships, partitions; `--export`/`--import` VPAX | +| **Other** | | | +| Interactive REPL | No | `te interactive` - model-aware shell with tab completion | +| Shell tab completion | No | `te completion bash/zsh/pwsh` | +| TE2 backward compatibility | Native | Built-in compatibility layer - existing `TabularEditor.exe` invocations work unchanged | + +For a flag-by-flag mapping from TE2 syntax to the new CLI, see @te-cli-migrate. **Note:** Since TabularEditor.exe is a WinForms application, executing it directly from a windows command-prompt will cause the thread to return immediately to the prompt. This may cause issues in command scripts, etc. To wait for TabularEditor.exe to complete its command-line tasks, always execute it using: `start /wait TabularEditor ...` diff --git a/content/getting-started/editions.md b/content/getting-started/editions.md index 011c13053..84e65a187 100644 --- a/content/getting-started/editions.md +++ b/content/getting-started/editions.md @@ -2,7 +2,7 @@ uid: editions title: Compare editions author: Søren Toft Joensen -updated: 2025-02-07 +updated: 2026-06-09 applies_to: products: - product: Tabular Editor 2 @@ -87,8 +87,6 @@ If you attempt to open a model that uses one or more of the modeling restriction There are no other feature differences between the Tabular Editor 3 editions, than the ones listed above. -> [!NOTE] -> Please keep in mind that Power BI Desktop [currently does not support all Data modeling operations](xref:desktop-limitations). For this reason, Tabular Editor 3 by default blocks operations that are not supported by Power BI Desktop. However, this restriction can be removed under Tools > Preferences > Power BI. > [!IMPORTANT] > Tabular Editor can only be used as an external tool for Power BI Desktop when the Power BI report (.pbix, .pbip or .pbit) file contains a data model (Import, DirectQuery or Composite). **Reports using Live connection are not supported** since these reports do not contain a data model. [More information](xref:desktop-limitations). @@ -138,3 +136,13 @@ Total $ 10,950.00 ``` If you require more than 100 seats, please contact sales for a quote. + + +## Command-line and CI/CD licensing + +Tabular Editor 3 is a desktop application. It has no command-line interface of its own. For automated deployments and CI/CD pipelines, use either `TabularEditor.exe` (the [Tabular Editor 2 command line](xref:command-line-options)) or the cross-platform [Tabular Editor CLI](xref:te-cli) (`te`). Both are separate from the Tabular Editor 3 desktop application. + +> **Do I need a license to run CI/CD pipelines?** +> No. `TabularEditor.exe` (TE2 CLI) and the Tabular Editor CLI (`te`, during preview) do not require a Tabular Editor 3 license. Only developers using the Tabular Editor 3 desktop application need a license. + +At General Availability the Tabular Editor CLI will require a license; pricing is still being finalized and will be announced ahead of GA. \ No newline at end of file diff --git a/content/getting-started/migrate-from-te2.md b/content/getting-started/migrate-from-te2.md index a561fc234..5733b4f56 100644 --- a/content/getting-started/migrate-from-te2.md +++ b/content/getting-started/migrate-from-te2.md @@ -2,7 +2,7 @@ uid: migrate-from-te2 title: Migrating from Tabular Editor 2.x author: Daniel Otykier -updated: 2021-09-30 +updated: 2026-06-10 applies_to: products: - product: Tabular Editor 2 @@ -29,37 +29,7 @@ Tabular Editor 3 has a different product code than Tabular Editor 2.x. This mean In terms of features, Tabular Editor 3 is essentially a superset of Tabular Editor 2.x, with few exceptions. The table below compares all major features of the two tools: -||Tabular Editor 2.x|Tabular Editor 3| -|---|---|---| -|Edit all TOM objects and properties||| -|Batch editing and renaming||| -|Copy/paste and drag/drop support||| -|Undo/redo data modeling operations||| -|Load/save model metadata to disk||*| -|Save-to-folder||*| -|[daxformatter.com](https://daxformatter.com) integration||| -|Advanced data modeling (OLS, Perspectives, Calculation Groups, Metadata Translations, etc.)||*| -|Syntax highlighting and automatic formula fixup||| -|View DAX dependencies between objects||| -|Import Table Wizard||| -|Deployment Wizard||*| -|Best Practice Analyzer||| -|C# scripting and automation||| -|Use as External Tool for Power BI Desktop||| -|Connect to SSAS/Azure AS/Power BI Premium||*| -|Command-line interface||*[Coming soon](xref:roadmap)*| -|Premium, customizable user-interface with high-DPI, multi-monitor and theming support||| -|World-class DAX editor with IntelliSenseTM-like features||| -|Offline DAX syntax checking and column/data type inference||| -|Improved Table Import Wizard and Table Schema Update check with Power Query support||| -|DAX querying, table preview and Pivot Grids||| -|Create diagrams for visualizing and editing table relationships||| -|Execute data refresh operations in the background||*| -|C# macro recorder||| -|Edit multiple DAX expressions in a single document using DAX scripting||| -|[VertiPaq Analyzer](https://www.sqlbi.com/tools/vertipaq-analyzer/) integration||| - -\***Note:** Limitations apply depending on which [edition](xref:editions) of Tabular Editor 3 you are using. +[!include[feature-comparison](../includes/feature-comparison.partial.md)] ## Feature differences @@ -71,7 +41,7 @@ The first thing you will notice when launching Tabular Editor 3, is the new Visu In general, though, interface elements that exist in Tabular Editor 2.x have the same name in Tabular Editor 3, so it should be relatively easy to navigate the new interface. A few important differences are listed below: -- The **Advanced Scripting** tab in Tabular Editor 2.x is gone. In Tabular Editor 3, you instead create *C# Scripts** using the **File > New** menu. You are not limited to working on a single script at a time. In addition, **Custom actions** have been renamed to **Macros**. +- The **Advanced Scripting** tab in Tabular Editor 2.x is gone. In Tabular Editor 3, you instead create **C# Scripts** using the **File > New** menu. You are not limited to working on a single script at a time. In addition, **Custom actions** have been renamed to **Macros**. - **Dynamic LINQ filtering** is not currently available within the TOM Explorer. Instead, if you want to find objects using [Dynamic LINQ](https://dynamic-linq.net/expression-language) you have to bring up the **Find and replace** dialog by pressing CTRL+F. - If you close the **Expression Editor** you can bring it back by doubleclicking on the icon of an object in the **TOM Explorer**, or by choosing the **View > Expression Editor** menu option. - When using the default layout in Tabular Editor 3, the **Best Practice Analyzer** will be located as a tab next to the **TOM Explorer**. Here, you will also find the new **Data Refresh** view (which lets you view the queue of background refresh operations) and the **Macros** view (which lets you manage any macros that were previously saved from C# scripts). @@ -147,8 +117,26 @@ When working in **connected** or **workspace** mode, DAX scripting is an incredi To learn more, see @dax-script-introduction. +## Major additions since 2021 + +Tabular Editor 3 has gained many features since this article was first written. The feature comparison table above is the canonical catalog. The highlights most relevant to developers coming from Tabular Editor 2.x are: + +- [DAX User-Defined Functions (UDFs)](xref:udfs) with authoring assistance, code actions and namespaces +- [Calendar Editor](xref:calendars) for building date tables with enhanced time intelligence +- [DAX Package Manager](xref:dax-package-manager) for installing and sharing reusable DAX +- [Code Actions](xref:code-actions) for quick fixes and refactoring in the DAX editor +- [DAX debugger](xref:dax-debugger) for stepping through expression evaluation +- [DAX Optimizer integration](xref:dax-optimizer-integration) alongside VertiPaq Analyzer +- [Table Groups](xref:table-groups) for organizing large models +- [AI Assistant](xref:ai-assistant) for DAX and modeling help +- [TMDL](xref:tmdl) serialization, [Save to folder](xref:save-to-folder) and [Save with supporting files](xref:save-with-supporting-files) for Fabric Git integration +- Cross-platform [Tabular Editor CLI](xref:te-cli) (`te`, in Limited Public Preview) for automation and CI/CD +- [Semantic Bridge](xref:semantic-bridge) for Databricks Metric Views (Enterprise Edition) +- [Localization](xref:references-application-language) of the application interface + ## Next steps - @migrate-from-vs +- @te-cli-migrate - @parallel-development - @boosting-productivity-te3 diff --git a/content/getting-started/migrate-from-vs.md b/content/getting-started/migrate-from-vs.md index 25202c30f..c427736c5 100644 --- a/content/getting-started/migrate-from-vs.md +++ b/content/getting-started/migrate-from-vs.md @@ -2,7 +2,7 @@ uid: migrate-from-vs title: Migrating from Visual Studio author: Daniel Otykier -updated: 2021-09-30 +updated: 2026-06-10 applies_to: products: - product: Tabular Editor 2 @@ -28,13 +28,19 @@ This article assumes that you are familiar with Tabular model development using Tabular Editor 3 contains features that allow you to completely migrate away from Visual Studio for tabular model development. This is in contrast to Tabular Editor 2.x, where some users still preferred using Visual Studio for things like table import, visualization of relationships and preview of data. -However, as you familiarize yourself with Tabular Editor 3, you might still find it useful to open your tabular models in Visual Studio from time to time. This is possible at any time, since Tabular Editor 3 does not modify the **Model.bim** file format (aka. the [TOM JSON](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)) used by Visual Studio, thus ensuring compatibility with Visual Studio. +However, as you familiarize yourself with Tabular Editor 3, you might still find it useful to open your tabular models in Visual Studio from time to time. This is possible at any time, since Tabular Editor 3 does not modify the **Model.bim** file format (aka. the [TOM JSON](https://learn.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions)) used by Visual Studio, thus ensuring compatibility with Visual Studio. -The only exception is, if you decide to use Tabular Editor's [Save-to-folder](xref:parallel-development#what-is-save-to-folder) feature, as this file format is not supported by Visual Studio. However, you can easily recreate a Model.bim file for use with Visual Studio, using the **File > Save As...** option in Tabular Editor. The opposite conversion can also be performed by loading a Model.bim file in Tabular Editor and then using the **File > Save to Folder...** option. +The only exception is, if you decide to use Tabular Editor's [Save-to-folder](xref:save-to-folder) feature, as this file format is not supported by Visual Studio. However, you can easily recreate a Model.bim file for use with Visual Studio, using the **File > Save As...** option in Tabular Editor. The opposite conversion can also be performed by loading a Model.bim file in Tabular Editor and then using the **File > Save to Folder...** option. + +> [!TIP] +> If you prefer a text-based, version-control-friendly format, use [Tabular Model Definition Language (TMDL)](xref:tmdl) instead of Model.bim. Tabular Editor 3 supports TMDL for both **File > Save to Folder...** and **File > Save As...**, and recent versions of the Analysis Services projects extension for Visual Studio also support TMDL. This lets you move models between the two tools without converting back to a single Model.bim file. ### Automating file format conversion -If you often face the need to convert back and forth between Tabular Editor's (database.json) folder-based format and Visual Studio's (model.bim) file format, consider writing a small Windows command script using [Tabular Editor 2.x CLI](xref:command-line-options) to automate the conversion process. +If you often face the need to convert back and forth between Tabular Editor's (database.json) folder-based format and Visual Studio's (model.bim) file format, consider writing a small Windows command script using the [Tabular Editor 2.x CLI](xref:command-line-options) to automate the conversion process. + +> [!TIP] +> The cross-platform [Tabular Editor CLI](xref:te-cli) (`te`, in Limited Public Preview) can also convert between formats, including [TMDL](xref:tmdl), and runs on Windows, macOS and Linux. # [Model.bim to folder](#tab/frombim) @@ -53,7 +59,7 @@ tabulareditor.exe database.json -B model.bim *** > [!NOTE] -> The command line script above assumes you have [Tabular Editor 2.x](xref:getting-started-te2) installed. The installation location of Tabular Editor 2.x should also be specified as part of your [PATH environment variable](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/path). +> The command line script above assumes you have [Tabular Editor 2.x](xref:getting-started-te2) installed. The installation location of Tabular Editor 2.x should also be specified as part of your [PATH environment variable](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/path). ## Integrated Workspace server @@ -74,16 +80,12 @@ If you enable the **Use workspace database** option, Tabular Editor will prompt ### Compatibility level requirements -Tabular Editor lets you choose the following compatibility levels for creating Analysis Services databases: - -- 1200 (Azure Analysis Services / SQL Server 2016+) -- 1400 (Azure Analysis Services / SQL Server 2017+) -- 1500 (Azure Analysis Services / SQL Server 2019+) +Tabular Editor lets you create and edit models at compatibility level 1200 and higher, covering Analysis Services, Azure Analysis Services, and Power BI datasets deployed through the [XMLA endpoint](xref:powerbi-xmla). The set of available levels depends on your deployment target, and newer levels unlock features such as custom calendars and DAX user-defined functions. -In addition, Tabular Editor lets you choose compatibility levels suitable for Power BI datasets that will be deployed to the Power BI service through the [XMLA endpoint](xref:powerbi-xmla). +For the full list of levels and guidance on choosing and changing them, see @update-compatibility-level. > [!NOTE] -> Tabular Editor does not support compatibility levels below 1200, as these do not use the [Tabular Object Model (TOM)](https://docs.microsoft.com/en-us/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) metadata format. If you plan on migrating development from Visual Studio to Tabular Editor for a model in compatibility level 1100 or 1103, **you must upgrade the compatibility level to at least 1200** before migrating to Tabular Editor. By doing so, you will no longer be able to deploy the model to SQL Server 2014 Analysis Services. +> Tabular Editor does not support compatibility levels below 1200, as these do not use the [Tabular Object Model (TOM)](https://learn.microsoft.com/analysis-services/tom/introduction-to-the-tabular-object-model-tom-in-analysis-services-amo?view=asallproducts-allversions) metadata format. If you plan on migrating development from Visual Studio to Tabular Editor for a model in compatibility level 1100 or 1103, **you must upgrade the compatibility level to at least 1200** before migrating to Tabular Editor. By doing so, you will no longer be able to deploy the model to SQL Server 2014 Analysis Services. ## Visual Studio projects @@ -103,10 +105,13 @@ If you want to use the [Save-to-folder](xref:parallel-development#what-is-save-t ## Version control -Tabular Editor does not have any integrated version control of model metadata. However, since all model metadata is stored as simple text (JSON) files on the disk, it is straightforward to include the tabular model metadata in any type of version control system. For this reason, most Tabular Editor users prefer to still keep Visual Studio installed, in order to have access to the [Visual Studio Team Explorer](https://docs.microsoft.com/en-us/azure/devops/user-guide/work-team-explorer?view=azure-devops) or, specifically for git, the new [Git Changes window](https://docs.microsoft.com/en-us/visualstudio/version-control/git-with-visual-studio?view=vs-2019) of Visual Studio 2019. +Tabular Editor stores all model metadata as simple text files on disk, so it is straightforward to include the tabular model metadata in any type of version control system. Tabular Editor 3 supports several text-based serialization formats designed for this purpose: -> [!NOTE] -> These days, it seems that [git](https://git-scm.com/) is the preferred version control system by most developers. Git integration in Tabular Editor 3 is planned for a future update. +- [Save to folder](xref:save-to-folder) breaks the model out into many small files, which minimizes merge conflicts during parallel development (see below). +- [TMDL](xref:tmdl) is a concise, human-readable serialization format supported by Tabular Editor and recent versions of Visual Studio. +- [Save with supporting files](xref:save-with-supporting-files) produces the folder structure required for [Git integration in Microsoft Fabric](xref:save-with-supporting-files). + +You can manage these files with [git](https://git-scm.com/) directly, or continue to use the version control tooling built into Visual Studio, such as the [Git Changes window](https://learn.microsoft.com/visualstudio/version-control/git-with-visual-studio). Once you migrate to Tabular Editor, you do not need to keep the original Tabular model project and supporting files created by Visual Studio. You can still use the Visual Studio Team Explorer or Git Changes window to look at code changes, manage version control branches, perform code check-ins, merges, etc. @@ -166,7 +171,7 @@ In Tabular Editor, we use the Messages View to consolidate all error, warning an In the screenshot above, notice how there are three different message-posting sources: -- **Analysis Services**: When metadata changes are saved to a connected instance of Analysis Services, the server updates the TOM metadata to indicate if any objects are in an erroneous state. Specifically, the [State](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) and [ErrorMessage](https://docs.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) properties are updated. Tabular Editor displays these error messages in the Messages View. These messages are not shown when Tabular Editor is used offline (i.e. without a connection to Analysis Services). +- **Analysis Services**: When metadata changes are saved to a connected instance of Analysis Services, the server updates the TOM metadata to indicate if any objects are in an erroneous state. Specifically, the [State](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.state?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_State) and [ErrorMessage](https://learn.microsoft.com/en-us/dotnet/api/microsoft.analysisservices.tabular.measure.errormessage?view=analysisservices-dotnet#Microsoft_AnalysisServices_Tabular_Measure_ErrorMessage) properties are updated. Tabular Editor displays these error messages in the Messages View. These messages are not shown when Tabular Editor is used offline (i.e. without a connection to Analysis Services). - **Tabular Editor Semantic Analysis**: In addition, Tabular Editor 3 performs its own semantic analysis of all DAX expressions in the model. Any syntax or semantic errors encountered are reported here. - **Expression Editor**: Lastly, if any documents are open in Tabular Editor 3, such as the Expression Editor, any DAX syntax or semantic errors encountered in the document are reported here. @@ -212,10 +217,11 @@ Once tables have been added to the diagram, you can create relationship between Tabular Editor lets you easily deploy the model metadata to any instance of Analysis Services. You can invoke Tabular Editor's Deployment Wizard under **Model > Deploy...** or by hitting CTRL+SHIFT+D. -For more information, see [Model deployment](../features/deployment.md). +For more information, see [Model deployment](xref:deployment). ## Next steps - @migrate-from-te2 - @parallel-development +- @save-with-supporting-files - @boosting-productivity-te3 \ No newline at end of file diff --git a/content/includes/feature-comparison.partial.md b/content/includes/feature-comparison.partial.md new file mode 100644 index 000000000..9cf2cbd01 --- /dev/null +++ b/content/includes/feature-comparison.partial.md @@ -0,0 +1,51 @@ +||TE2 (Free)|TE3 (Commercial)|[TE CLI](xref:te-cli) (Preview)| +|---|---|---|---| +|Edit all TOM objects and properties|||| +|Batch editing and renaming|||| +|Copy/paste and drag/drop support|||| +|Undo/redo data modeling operations|||| +|Load/save model metadata to disk||\*|| +|Save-to-folder||\*|| +|[daxformatter.com](https://daxformatter.com) integration|||| +|Advanced data modeling (OLS, Perspectives, Calculation Groups, Metadata Translations, etc.)||\*|| +|Syntax highlighting and automatic formula fixup|||| +|View DAX dependencies between objects|||| +|Import Table Wizard|||| +|Deployment Wizard||\*|| +|Best Practice Analyzer|||| +|C# scripting and automation|||| +|Use as External Tool for Power BI Desktop|||| +|Connect to SSAS/Azure AS/Power BI Premium||\*|| +|Command-line interface ([`TabularEditor.exe`](xref:command-line-options))|||| +|Premium, customizable user-interface with high-DPI, multi-monitor and theming support|||| +|World-class DAX editor with IntelliSenseTM-like features, offline formatting, and more|||| +|Offline DAX syntax checking and column/data type inference|||| +|Improved Table Import Wizard and Table Schema Update check with Power Query support|||| +|DAX querying|||| +|Table preview and Pivot Grids|||| +|Create diagrams for visualizing and editing table relationships|||| +|Execute data refresh operations||\*|| +|C# macro recorder|||| +|Edit multiple DAX expressions in a single document using [DAX scripting](xref:dax-scripts)|||| +|[VertiPaq Analyzer](https://www.sqlbi.com/tools/vertipaq-analyzer/) integration|||| +|[DAX debugger](xref:dax-debugger)|||| +|[Metadata Translation Editor](xref:metadata-translation-editor)|||| +|[Perspective Editor](xref:perspective-editor)|||| +|[Table Groups](xref:table-groups)|||| +|[DAX Optimizer Integration](xref:dax-optimizer-integration)|||| +|[Code Actions](xref:code-actions)|||| +|[DAX User-Defined Functions (UDFs)](xref:udfs) Assistance, Code Action and Namespaces|||| +|[Calendar Editor](xref:calendars) for enhanced time intelligence|||| +|[DAX Package Manager](xref:dax-package-manager)|||| +|[Built-in Best Practice Analyzer rules](xref:built-in-bpa-rules)|||| +|[Advanced Refresh dialog](xref:advanced-refresh) with [refresh override profiles](xref:refresh-overrides) (Business/Enterprise Edition)||\*|| +|[Save with supporting files for Fabric](xref:save-with-supporting-files)|||| +|Semantic Bridge for Databricks Metric Views (Enterprise Edition)||\*|| +|[Localization support](xref:references-application-language) (Chinese, Spanish, Japanese, German, French)|||| +|[Semantic model testing](xref:te-cli-commands#testing) (assertions, snapshots, A/B comparison)|||| +|Cross-platform (Windows, macOS, Linux)|||| +|Structured output (JSON, CSV, TMDL, TMSL) for scripting and AI agents|||| +|[CI/CD integration](xref:te-cli-cicd) with GitHub Actions and Azure DevOps annotations and VSTEST results|||| +|[Interactive shell](xref:te-cli-interactive) (REPL) with shell completions|||| + +\***Note:** Limitations apply depending on which [edition](xref:editions) of Tabular Editor 3 you are using. diff --git a/content/index.md b/content/index.md index 19181bca9..00370b9bb 100644 --- a/content/index.md +++ b/content/index.md @@ -2,7 +2,7 @@ uid: index title: Tabular Editor author: Daniel Otykier -updated: 2021-09-09 +updated: 2026-06-10 --- # Tabular Editor @@ -70,51 +70,7 @@ Tabular Editor 2.x is a lightweight application for quickly modifying the TOM (T The table below lists all the main features of both tools. -||TE2 (Free)|TE3 (Commercial)| -|---|---|---| -|Edit all TOM objects and properties||| -|Batch editing and renaming||| -|Copy/paste and drag/drop support||| -|Undo/redo data modeling operations||| -|Load/save model metadata to disk||\*| -|Save-to-folder||\*| -|[daxformatter.com](https://daxformatter.com) integration||| -|Advanced data modeling (OLS, Perspectives, Calculation Groups, Metadata Translations, etc.)||\*| -|Syntax highlighting and automatic formula fixup||| -|View DAX dependencies between objects||| -|Import Table Wizard||| -|Deployment Wizard||\*| -|Best Practice Analyzer||| -|C# scripting and automation||| -|Use as External Tool for Power BI Desktop||| -|Connect to SSAS/Azure AS/Power BI Premium||\*| -|Command-line interface||| -|Premium, customizable user-interface with high-DPI, multi-monitor and theming support||| -|World-class DAX editor with IntelliSenseTM-like features, offline formatting, and more||| -|Offline DAX syntax checking and column/data type inference||| -|Improved Table Import Wizard and Table Schema Update check with Power Query support||| -|DAX querying, table preview and Pivot Grids||| -|Create diagrams for visualizing and editing table relationships||| -|Execute data refresh operations in the background||\*| -|C# macro recorder||| -|Edit multiple DAX expressions in a single document using [DAX scripting](xref:dax-scripts)||| -|[VertiPaq Analyzer](https://www.sqlbi.com/tools/vertipaq-analyzer/) integration||| -|[DAX debugger](xref:dax-debugger)||| -|[Metadata Translation Editor](xref:metadata-translation-editor)||| -|[Perspective Editor](xref:perspective-editor)||| -|[Table Groups](xref:table-groups)||| -|[DAX Optimizer Integration](xref:dax-optimizer-integration)||| -|[Code Actions](xref:code-actions)||| -|[DAX User-Defined Functions (UDFs)](xref:udfs) Assistance, Code Action and Namespaces||| -|[Calendar Editor](xref:calendars) for enhanced time intelligence||| -|[DAX Package Manager](xref:dax-package-manager)||| -|[Built-in Best Practice Analyzer rules](xref:built-in-bpa-rules)||| -|[Advanced Refresh dialog](xref:advanced-refresh) with [refresh override profiles](xref:refresh-overrides) (Business/Enterprise Edition)||\*| -|[Save with supporting files for Fabric](xref:save-with-supporting-files)||| -|Semantic Bridge for Databricks Metric Views (Enterprise Edition)||\*| -|[Localization support](xref:references-application-language) (Chinese, Spanish, Japanese, German, French)||| - -\***Note:** Limitations apply depending on which [edition](xref:editions) of Tabular Editor 3 you are using. +[!include[feature-comparison](includes/feature-comparison.partial.md)] ### Common features From a0981566100f112da4f377ea6c521f32e22d6edf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20L=C3=B8nskov?= Date: Thu, 11 Jun 2026 13:49:35 +0200 Subject: [PATCH 2/4] add includes to build-config --- metadata/build-config.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/metadata/build-config.json b/metadata/build-config.json index aea98afd8..f55724a4b 100644 --- a/metadata/build-config.json +++ b/metadata/build-config.json @@ -12,7 +12,8 @@ "security", "troubleshooting", "tutorials", - "whats-new" + "whats-new", + "includes" ] }, "sharedDirectories": { From a5dbb29f86cc41a48c133a641aa3487fd7f220f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20L=C3=B8nskov?= Date: Thu, 11 Jun 2026 13:58:08 +0200 Subject: [PATCH 3/4] update formatting tick --- content/includes/feature-comparison.partial.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/includes/feature-comparison.partial.md b/content/includes/feature-comparison.partial.md index 9cf2cbd01..75872d764 100644 --- a/content/includes/feature-comparison.partial.md +++ b/content/includes/feature-comparison.partial.md @@ -6,7 +6,7 @@ |Undo/redo data modeling operations|||| |Load/save model metadata to disk||\*|| |Save-to-folder||\*|| -|[daxformatter.com](https://daxformatter.com) integration|||| +|Built in DAX Formating|||| |Advanced data modeling (OLS, Perspectives, Calculation Groups, Metadata Translations, etc.)||\*|| |Syntax highlighting and automatic formula fixup|||| |View DAX dependencies between objects|||| From 991861f314dd5ebdfa60260769ed4d694fbea26c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20L=C3=B8nskov?= Date: Thu, 11 Jun 2026 14:01:10 +0200 Subject: [PATCH 4/4] update features --- content/includes/feature-comparison.partial.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/includes/feature-comparison.partial.md b/content/includes/feature-comparison.partial.md index 75872d764..3f7b217c4 100644 --- a/content/includes/feature-comparison.partial.md +++ b/content/includes/feature-comparison.partial.md @@ -16,9 +16,9 @@ |C# scripting and automation|||| |Use as External Tool for Power BI Desktop|||| |Connect to SSAS/Azure AS/Power BI Premium||\*|| -|Command-line interface ([`TabularEditor.exe`](xref:command-line-options))|||| +|Command-line interface|||| |Premium, customizable user-interface with high-DPI, multi-monitor and theming support|||| -|World-class DAX editor with IntelliSenseTM-like features, offline formatting, and more|||| +|World-class DAX editor with IntelliSenseTM-like features, auto-complete, and more|||| |Offline DAX syntax checking and column/data type inference|||| |Improved Table Import Wizard and Table Schema Update check with Power Query support|||| |DAX querying||||