|
| 1 | +--- |
| 2 | +uid: dq-over-as-limitations |
| 3 | +title: Direct Query over Analysis Services |
| 4 | +author: Morten Lønskov |
| 5 | +updated: 2025-07-14 |
| 6 | +applies_to: |
| 7 | + versions: |
| 8 | + - version: 2.x |
| 9 | + - version: 3.x |
| 10 | + editions: |
| 11 | + - edition: Desktop |
| 12 | + - edition: Business |
| 13 | + - edition: Enterprise |
| 14 | +--- |
| 15 | + |
| 16 | +## Overview |
| 17 | + |
| 18 | +Tabular Editor 3 can **connect** to composite models that leverage **DirectQuery over Analysis Services (DQ‑over‑AS)**, but full modeling support is **not yet available**. Most authoring tasks work as expected; however, operations that rely on synchronising metadata with the remote semantic model—such as *Update table schema*—are currently limited. |
| 19 | + |
| 20 | +>[!IMPORTANT] |
| 21 | +> Until full DQ‑over‑AS support ships, model metadata edited in Tabular Editor 3 **is not automatically kept in sync** with the source dataset. You must apply one of the work‑arounds listed below whenever columns or measures are added to the underlying Analysis Services model. |
| 22 | +
|
| 23 | +## Current limitations |
| 24 | + |
| 25 | +| Feature | Status in TE3 | Notes | |
| 26 | +| --------------------------- | --------------- | ------------------------------------------------------------------------------------------ | |
| 27 | +| **Update table schema** | ❌ Not supported | Attempting to run **Model > Update table schema** on a DQ‑over‑AS table has no effect. | |
| 28 | +| **Measure synchronisation** | ❌ Not supported | Measures created in the source dataset do not appear automatically in the composite model. | |
| 29 | + |
| 30 | +## Work‑arounds |
| 31 | + |
| 32 | +### 1. Manually add missing columns |
| 33 | + |
| 34 | +1. In **TOM Explorer**, select the table that requires the new column. |
| 35 | +2. Choose **Add > Data Column**. |
| 36 | +3. In the *Properties* window, set: |
| 37 | + |
| 38 | + * **SourceColumnName** – *exactly* match the **Name** of the column in the remote table. |
| 39 | + * **SourceLineageTag** – copy the **LineageTag** value from the source column. |
| 40 | +4. Save and deploy the model. |
| 41 | + |
| 42 | +>[!NOTE] |
| 43 | +> Column names and lineage tags must match *character‑for‑character*. Any mismatch will cause deployment errors. |
| 44 | +
|
| 45 | +### 2. Use the “Import tables from remote model” C# script |
| 46 | + |
| 47 | +Daniel Otykier’s article on LinkedIn provides a [ready‑made C# automation script](https://www.linkedin.com/pulse/composite-models-tabular-editor-daniel-otykier/) that: |
| 48 | + |
| 49 | +1. Temporarily imports full copies of tables from the remote model. |
| 50 | +2. Lets you copy columns (and other metadata) into existing tables. |
| 51 | +3. Deletes the temporary tables after the copy is complete. |
| 52 | + |
| 53 | +This approach is faster when several tables require updates. |
| 54 | + |
| 55 | +### 3. One‑click macro to pull new measures |
| 56 | + |
| 57 | +[rem-bou's](https://github.com/rem-bou) GitHub repository contains an advanced macro that scans the source dataset for measures that are **missing** in the composite model and adds them automatically: [Create-Update DQ over AS model connection](https://github.com/rem-bou/TabularEditor-Scripts/blob/main/Advanced/One-Click%20Macros/Create-Update%20DQ%20over%20AS%20model%20connection.csx) |
0 commit comments