Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified content/assets/images/basic-ui.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/assets/images/deployment-options.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/assets/images/messages-view-copy.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/assets/images/te-messages.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/assets/images/te3-diagram-view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/assets/images/te3-table-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/assets/images/tom-explorer.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified content/assets/images/user-interface/messages-view.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion content/features/Semantic-Model/direct-lake-sql-model.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ Additionally, on import of new tables Tabular Editor 3 (3.15.0 or higher) frames


## Identifying a Direct Lake model
The top title bar of Tabular Editor shows which type of model is open in that instance of Tabular Editor. Additionally, the TOM Explorer displays the type and mode of every table (Import, DirectQuery, Dual or Direct Lake). If a model contains a mix of table modes, the title bar will show "Hybrid". Currently, it is not possible for a Direct Lake on SQL model to contain tables in Import, DirectQuery or Dual mode.
The Tabular Editor 3 title bar shows the storage mode of the open model after the model name, such as **(Direct Lake)**, **(DirectQuery)** or **(Import)**. If a model contains a mix of table modes, the title bar shows **(Composite)**. The TOM Explorer displays the type and mode of every table (Import, DirectQuery, Dual or Direct Lake). A Direct Lake on SQL model can't contain tables in Import, DirectQuery or Dual mode.


## Converting a Direct Lake model to Import Mode
Expand Down
12 changes: 7 additions & 5 deletions content/features/ai-assistant.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ applies_to:
---
# AI Assistant

The AI Assistant is a chat panel for semantic model development. It explores your model metadata, writes and runs DAX queries, generates C# scripts, runs Best Practice Analyzer checks, queries VertiPaq Analyzer statistics and searches the Tabular Editor knowledge base. [Permission settings](#permissions-and-consent) control what it sends to your AI provider. The AI Assistant has undergone independent penetration testing; see the [Tabular Editor Trust Center](https://trust.tabulareditor.com).
The AI Assistant is a chat panel for semantic model development. It explores your model metadata, writes and runs DAX queries, generates C# scripts, explains and fixes the errors in your model and open documents, runs Best Practice Analyzer checks, queries VertiPaq Analyzer statistics and searches the Tabular Editor knowledge base. [Permission settings](#permissions-and-consent) control what it sends to your AI provider. The AI Assistant has undergone independent penetration testing; see the [Tabular Editor Trust Center](https://trust.tabulareditor.com).

The AI Assistant uses a bring-your-own-key model, where you provide an API key from one of the supported providers and the assistant runs directly against that provider's API.

Expand Down Expand Up @@ -193,7 +193,8 @@ Within your [permission grants](#permissions-and-consent), the AI Assistant work
- **C# script generation**: creates C# scripts for model changes. Depending on your settings, the assistant opens the script in an editor window for you to run, or runs it itself; see [Letting the assistant change your model](#letting-the-assistant-change-your-model)
- **Best Practice Analyzer**: runs BPA analysis, lists rule violations and creates or modifies BPA rules
- **VertiPaq Analyzer**: queries memory usage statistics and column cardinality
- **Document access**: reads and modifies open documents: DAX queries, C# scripts and DAX scripts
- **Model errors**: lists the model's errors, warnings and Analysis Services messages, the same ones the [Messages view](xref:messages-view) shows, with root causes first. The assistant is told when the model's errors change.
- **Document access**: reads and modifies open DAX queries, C# scripts and DAX scripts, and reads the errors and warnings of every open document, Pivot Grids included. The active document is part of the assistant's context, so you can ask "why am I seeing this error in this query?". It can't read or change a Pivot Grid's layout
- **Knowledge base search**: searches the embedded Tabular Editor documentation
- **UI navigation**: generates `te3://` action links that open specific Tabular Editor dialogs and features

Expand All @@ -213,6 +214,7 @@ The setting is off by default and unavailable until **Model metadata** is set to
- If **Preview changes** is on (the default), the [preview dialog](xref:csharp-scripts#run-c-scripts-with-preview) appears before the changes are applied. **Cancel** reverts them and reports the rejection to the assistant. If **Preview changes** is off, the changes are applied without a dialog.
- The script's changes are one undo entry, **C# script (AI Assistant)**. Focus stays in the chat box, where **Ctrl+Z** doesn't undo model changes. To undo the whole script, click the TOM Explorer and press **Ctrl+Z**, or select **Undo C# script (AI Assistant)** in the **Edit** menu.
- If the script fails part-way through, the model is left unchanged and the assistant reports the error.
- If the script succeeds and introduces or resolves DAX errors, the assistant receives a list of those errors, grouped by root cause.
- A script that accesses files, the network or external assemblies doesn't run. It opens as a script artifact with an **Unsafe** badge and **Execute** disabled, and the assistant's reply names what the script used.

If you ask for a script, for example "Write me a script that renames every measure to sentence case", the assistant opens it as a script document that you run yourself, even with this setting on.
Expand Down Expand Up @@ -329,10 +331,10 @@ Set an access level for each resource to control what the AI Assistant can acces

| Resource | What it covers | Levels | Default |
| -- | -- | -- | -- |
| **Model metadata** | Table, column and measure names, expressions, descriptions and similar. Read also covers VertiPaq Analyzer statistics | Deny / Read / Write | **Read** |
| **Model data** | Data values from your model, such as DAX query results. Requires a live connection | Deny / Read | **Deny** |
| **Model metadata** | Table, column and measure names, expressions, descriptions and similar. Read also covers VertiPaq Analyzer statistics and the model's error and warning messages | Deny / Read / Write | **Read** |
| **Model data** | Data values from your model, such as DAX query results, and the text of errors returned by Analysis Services, which can contain data values. DAX queries require a live connection | Deny / Read | **Deny** |
| **Best Practice Analyzer** | Read lists rules and runs the analysis; Write adds or modifies rules | Deny / Read / Write | **Read** |
| **Documents** | Your open documents: DAX queries, C# scripts and DAX scripts. Read is their contents; Write is needed to create or modify them | Deny / Read / Write | **Write** |
| **Documents** | Your open documents: DAX queries, C# scripts, DAX scripts and Pivot Grids. Read is their contents and their errors and warnings; Write is needed to create or modify them. Pivot Grid layouts can't be read or modified | Deny / Read / Write | **Write** |
| **Macros** | Your macro library. Read lists and reads macros; Write is reserved for future macro-editing tools | Deny / Read / Write | **Write** |

**Write** (labeled **Read/Write** in the dropdowns) includes Read.
Expand Down
6 changes: 3 additions & 3 deletions content/features/auto-reload.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
uid: auto-reload
title: Auto-reload from disk
author: Morten Lønskov
updated: 2026-09-23
updated: 2026-10-11
applies_to:
products:
- product: Tabular Editor 2
Expand All @@ -25,7 +25,7 @@ When the metadata files of a model you loaded from a file or folder change on di
![Diagram: File > Save writes the model in Tabular Editor to the files on disk; another tool writes to the files; an automatic reload loads the changed files back into Tabular Editor](~/content/assets/images/features/auto-reload-sync.png)

> [!NOTE]
> Auto-reload monitors files and is independent of **Track external model changes** and **Refresh local Tabular Object Model metadata automatically** under [Tools > Preferences > Tabular Editor > Miscellaneous](xref:preferences#miscellaneous). Those settings use an Analysis Services trace to detect changes to a connected database.
> Auto-reload monitors files and is independent of **Track external model changes** and **Refresh local Tabular Object Model metadata automatically** under [Tools > Preferences > Tabular Editor > Miscellaneous](xref:preferences#tabular-editor--miscellaneous). Those settings use an Analysis Services trace to detect changes to a connected database.

## Monitored files

Expand Down Expand Up @@ -77,4 +77,4 @@ Auto-reload is enabled by default, and you turn it off by clearing **Automatical

Turn it off if a continuously running process also writes to the model folder, such as a file sync client or a CI checkout that refreshes in the background. Each change triggers a reload, or the modal prompt when you have unsaved changes.

With the setting cleared, use **File > Reload from disk** to load external changes, or **File > Save** to overwrite them with the model in Tabular Editor. See [Preferences](xref:preferences#miscellaneous) for the other settings on that page.
With the setting cleared, use **File > Reload from disk** to load external changes, or **File > Save** to overwrite them with the model in Tabular Editor. See [Preferences](xref:preferences#tabular-editor--miscellaneous) for the other settings on that page.
2 changes: 1 addition & 1 deletion content/features/dax-debugger.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Once the debugger is started, you are presented with a number of new views that
- Drag a measure from the TOM Explorer, or
- Right-click on a measure in the TOM Explorer and choose **Add to pivot grid**, or
- Select the measure from the Pivot Grid field list (**Pivot Grid > Show fields**)
3. (Optional) Add one or more columns to the Pivot Grid in the Filter area, Columns area or Row area.
3. (Optional) Add one or more columns or hierarchies to the Pivot Grid in the Filter area, Columns area or Row area.
4. Right-click on the value cell within the Pivot Grid and choose **Debug this value**.

![Debug From Pivot](~/content/assets/images/features/debug-from-pivot.png)
Expand Down
6 changes: 3 additions & 3 deletions content/features/dax-editor.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
uid: dax-editor
title: DAX Editor
author: Daniel Otykier
updated: 2026-09-14
updated: 2026-10-11
applies_to:
products:
- product: Tabular Editor 2
Expand Down Expand Up @@ -42,7 +42,7 @@ DAX calltips update as you cycle syntax alternatives using the Up/Down arrows.

![Dax Code Assist](~/content/assets/images/dax-code-assist.png)

Most aspects of code assist can be configured under [**Tools > Preferences > Text Editors > DAX Editor > Code Assist**](xref:preferences#dax-editor--code-assist).
Most aspects of code assist can be configured under [**Tools > Preferences > Text Editors > DAX Editor > Code Assist**](xref:preferences#text-editors--dax-editor--code-assist).

## Peek Definition

Expand Down Expand Up @@ -86,7 +86,7 @@ If the measure's expression cannot be analyzed, the wrap is added, on the princi

## Format DAX

The DAX Editor in Tabular Editor 3 automatically formats your code as you type, i.e. fixing casing of functions and object references, adding proper indentation and spaces between parentheses, etc. All of this can be configured under [**Tools > Preferences > Text Editors > DAX Editor > Auto Formatting**](xref:preferences#dax-editor--auto-formatting).
The DAX Editor in Tabular Editor 3 automatically formats your code as you type, i.e. fixing casing of functions and object references, adding proper indentation and spaces between parentheses, etc. All of this can be configured under [**Tools > Preferences > Text Editors > DAX Editor > Auto Formatting**](xref:preferences#text-editors--dax-editor--auto-formatting).

However, sometimes it is necessary to format the entire document. This can be done by hitting [F6] or [Shift+F6] if you prefer more frequent line breaks. For DAX Queries, you may also use [Alt+F6] to reformat the code to always add commas at the front of a line, which is useful when debugging.

Expand Down
4 changes: 2 additions & 2 deletions content/features/dax-optimizer-integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
uid: dax-optimizer-integration
title: DAX Optimizer Integration
author: Daniel Otykier
updated: 2024-10-30
updated: 2026-10-11
applies_to:
products:
- product: Tabular Editor 2
Expand Down Expand Up @@ -95,7 +95,7 @@ Here, you can choose whether the VPAX should be uploaded as a new model within t
Once you click the **OK** button, the VPAX file will be uploaded to DAX Optimizer, and you will be able to start analyzing the model.

> [!NOTE]
> If no VertiPaq Analyzer statistics are available in Tabular Editor 3, these statistics will be collected for the current model before the VPAX file is uploaded. We will also automatically re-collect statistics if the last statistics collection is older than or equal to the statistics of the last VPAX file upload, for the specific model.
> If no VertiPaq Analyzer statistics are available in Tabular Editor 3, statistics are collected for the current model before the VPAX file is uploaded. Statistics are also re-collected if the last collection is older than or equal to the last VPAX upload for the model. Statistics for an upload are always read from the model's data. If they can't be read, the upload doesn't start.

### Obfuscation

Expand Down
10 changes: 8 additions & 2 deletions content/features/dax-query.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
uid: dax-query
title: DAX Queries
author: Morten Lønskov
updated: 2026-09-14
updated: 2026-10-11
applies_to:
products:
- product: Tabular Editor 2
Expand Down Expand Up @@ -49,7 +49,13 @@ The DAX query window has six different query options.
- **When query is modified**: Sorting and filtering reset only when the query structure changes.
- **Always**: Sorting and filtering persist as long as columns remain in the new query.

The default values of "Auto Execute Query" and "Keep Sorting and Filtering" preferences can be set up in the Preferences dialog: **Tools > Preferences... > Data browsing > DAX Query** > Basic.
The default values of "Auto Execute Query" and "Keep Sorting and Filtering" preferences can be set up in the Preferences dialog: **Tools > Preferences... > Data browsing > DAX Query** > Basic. The **Keep documents open when switching models** section on the same page controls what happens to open DAX queries when you open a different model. See [Switching models](#switching-models).

### Switching models

When you open a different model, open DAX queries stay open and connect to the new model. If **Automatically execute DAX queries by default** is selected, the query runs again against the new model; otherwise, it runs against the new model the next time you execute it. If the new model has no database to run against, such as a model loaded from a file without a workspace database, the query stays open and can't be executed.

To close DAX queries when you open a different model, clear **Keep DAX Queries open when a different model is opened** under **Tools > Preferences > Data Browsing > DAX Query**. The option is selected by default.

### Adding or Updating Measures, Columns and Tables with DAX Queries

Expand Down
Loading