概述
Tabular Editor 3 可以连接使用 DirectQuery over Analysis Services (DQ‑over‑AS) 的复合模型,但完整的建模支持尚未提供。 大多数创作任务都符合预期;但是,依赖与远程语义模型同步元数据的操作——例如 更新 0表 0架构——目前受到限制。
Important
在完整的 DQ‑over‑AS 支持发布之前,Tabular Editor 3 中编辑的模型元数据不会自动与源数据集保持同步。 每当在底层 Analysis Services 模型中新增列或度量值时,都必须采用下面列出的其中一种变通方法。
当前限制
| 功能 | TE3 中的状态 | 说明 |
|---|---|---|
| 更新 0表 0架构 | ❌ 不支持 | 在 DQ‑over‑AS 表上尝试运行 Model > Update table schema 不会有任何效果。 |
| 度量值同步 | ❌ 不支持 | 在源数据集中创建的度量值不会自动出现在复合模型中。 |
变通方法
1. 手动添加缺失的列
在 TOM Explorer 中,选择需要新增列的表。
选择 添加 > 数据列。
在 属性 窗口中,设置:
- SourceColumnName – 必须与远程表中该列的 Name _完全_一致。
- SourceLineageTag – 从源列复制 LineageTag 值。
保存并部署模型。
Note
列名和 Lineage tag 必须_逐字符_完全一致。 任何不一致都会导致部署错误。
2. 使用“Import tables from remote model” C# 脚本
Daniel Otykier 在 LinkedIn 上的文章提供了一个现成的 C# 自动化脚本:
- 临时从远程模型导入表的完整副本。
- 可将列(以及其他元数据)复制到现有表中。
- 复制完成后删除这些临时表。
当需要更新的表较多时,这种方法更快。
3. 一键宏:拉取新增度量值
rem-bou's 的 GitHub 仓库包含一个高级宏,用于扫描源数据集,查找复合模型中缺失的度量值并自动添加:Create-Update DQ over AS model connection