共用方式為


表格式物件模型 (TOM)

適用於: SQL Server 2016 和更新版本的 Analysis Services Azure Analysis Services Fabric/Power BI Premium

表格式物件模型 (TOM) 是 Analysis Management Object (AMO) 用戶端連結庫的延伸模組,其建立是為了支援在相容性層級 1200 和更高層級建立之表格式模型的程式設計案例。 如同 AMO,TOM 提供程式設計方式來處理系統管理功能,例如建立模型、匯入和重新整理數據,以及指派角色和許可權。

TOM 會公開原生表格式元數據,例如 模型數據表數據行,以及物件 關聯性。 下面提供之物件模型樹狀結構的高階檢視會說明元件元件的相關方式。

由於 TOM 是 AMO 的延伸模組,因此代表新表格式物件的所有類別都會在新的 Microsoft.AnalysisServices.Tabular.dll 元件中實作。 AMO 的一般用途類別已移至 Microsoft.AnalysisServices.Core 元件。 您的程式代碼必須參考這兩個元件。 如需詳細資訊,請參閱 安裝、散發及參考表格式物件模型 (Microsoft.AnalysisServices.Tabular)

API 適用於受控 .NET 程式代碼。 若要深入瞭解特定的 AMO/TOM 類別,請參閱 Microsoft.AnalysisServices 命名空間參考。 若要檢閱表格式模型程式設計選項的完整清單,包括腳本和查詢語言支援,請參閱 相容性層級 1200 的表格式模型程式設計

表格式物件模型階層

從邏輯觀點來看,所有表格式對象都會形成樹狀結構,其根目錄是 模型,從 Database 遞減。 伺服器資料庫 不會被視為表格式,因為這些物件也可以代表裝載於多維度模式之伺服器上所裝載的多維度資料庫,或是低相容性層級的表格式模型,而該資料庫不會針對物件定義使用表格式元數據。

除了 AttributeHierarchyKPILinguisticMetadata之外,每個子物件都可以是集合的成員。 例如,Model 物件包含一組 Table 物件集合(透過 Tables 属性),而每個 Table 物件都包含一組 Column 物件等等。

此階層中任何父物件的最低層級子代是一個 Annotation 物件,只要您提供程式代碼來處理架構,就可以選擇性地擴充架構。

物件階層圖表

TOM 建置在 AMO 基礎結構之上,其也會容納相容性層級低於 1200 的多維度和表格式資料庫。 這具有一些實際的影響。 當您管理表格式元數據中未指定的物件時(例如 伺服器資料庫),您需要利用描述這些物件的現有 AMO 堆疊部分。 除了舊版 API 之外,還有主要和次要物件的概念,這些物件會提供從伺服器探索到的物件狀態,或儲存至伺服器時的細微描述。 Microsoft.AnalysisServices 命名空間下的 MajorObject 類別會公開 RefreshUpdate的方法。 次要物件只會透過包含次要物件的主要物件重新整理或儲存。

相反地,當您管理屬於表格式元數據的物件時,例如 模型數據表,您會利用全新的表格式堆疊。 在此堆疊中,更新會更精細,這表示衍生自 MetadataObject 類別下Microsoft.AnalysisServices.Tabular 命名空間下的每個元數據物件都可以個別儲存至伺服器。 一般而言,您會探索整個 模型。 接著,您可以變更其底下的個別元資料物件,例如 TableColumn。 接著,呼叫 Model.SaveChanges() 方法,瞭解您在精細層級所做的變更,將命令傳送至伺服器,只更新已變更的物件。

TOM 和 XMLA

在線路上,TOM 會使用 XMLA 通訊協定與伺服器通訊,以及管理物件。 管理非表格式物件時,TOM 會使用 ASSL,這是 XMLA 的 Analysis Services 腳本語言延伸模組。 管理表格式物件時,TOM 會使用 MS-SSAS-T 表格式通訊協定,也是 XMLA 的延伸模組。 若要深入瞭解,請參閱MS-SSAS-T SQL Server Analysis Services 表格式通訊協定檔。

TOM 和 JSON

表格式元數據是結構化為 JSON 檔,透過表格式模型腳本語言 (TMSL) 具有新的命令和物件模型定義語法。 腳本語言會針對要求和回應的主體使用 JSON。

雖然TMSL和TOM都會公開相同的物件,TableColumn 等,但相同的作業 建立DeleteRefresh、TOM 不會在線路上使用TMSL。 TOM 會改用 MS-SSAS-T 表格式通訊協定,如先前所述。

身為使用者,您可以選擇是否要透過 C# 程式或 PowerShell 腳本的 TOM 連結庫,或透過透過 PowerShell、SQL Server Management Studio (SSMS) 或 SQL Server Agent 作業執行的 TMSL 腳本來管理表格式資料庫。

使用其中一個或另一個的決定會歸結到您的需求細節。 相較於TMSL,TOM連結庫提供更豐富的功能。 具體來說,雖然TMSL只會在資料庫、數據表、分割區或角色層級提供粗略的作業,但TOM允許以更精細的粒紋進行作業。 若要以程式設計方式產生或更新模型,您需要 TOM 連結庫中 API 的完整範圍。

搭配 Power BI 使用 TOM

Power BI Premium、Premium Per User 和 Power BI Embedded 工作區支援透過 XMLA 端點的開放平台連線。 透過 XMLA 端點,自訂工具、腳本和自動化程式可用於數據模型化,以及執行工作區和語意模型系統管理工作。

使用 TOM 建立 .Net 應用程式以使用 Power BI 語意模型之前,請務必閱讀 Power BI 檔中的 XMLA 端點連線 語意模型連線。 本文說明如何啟用 XMLA 端點以進行讀寫存取、取得工作區連線 URL,以及使用自定義應用程式、外部工具和腳本進行語意模型管理的其他重要層面。

若要深入瞭解如何使用表格式物件模型來管理語意模型,請參閱 程式設計 Power BI 語意模型 (TOM)

另請參閱

表格式模型的 相容性層級
Analysis Services 用戶端連結庫
XML for Analysis
分析管理物件 (AMO)