共用方式為


AMO 概念和物件模型

適用於: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

本文說明 Analysis Management Objects (AMO)、AMO 如何與 Analysis Services 架構中提供的其他工具和連結庫相關,以及 AMO 中所有主要物件的概念說明。

AMO 是管理類別的完整集合,可在 Managed 環境中的 Microsoft.AnalysisServices命名空間下,以程式設計方式使用。 類別會包含在 AnalysisServices.dll 檔案中,通常可在安裝程式安裝檔案的位置,位於資料夾 \100\SDK\Assemblies\。 若要使用 AMO 類別,請在專案中加入這個元件的參考。

藉由使用 AMO,您可以建立、修改和刪除物件,例如 Cube、維度、採礦結構和資料庫;在所有這些物件上,可以從 .NET Framework 中的應用程式執行動作。 您也可以處理和更新儲存在資料庫中的資訊。

Analysis Services 架構中的 AMO

根據設計,AMO 僅適用於物件管理,而不是用於查詢數據。 如果使用者需要從用戶端應用程式查詢資料,用戶端應用程式應該使用 ADOMD.NET

AMO 架構

AMO 是類別的完整連結庫,其設計目的是從 .NET Framework 2.0 版和更新版本下 Managed 程式代碼中的用戶端應用程式管理 Analysis Services 實例。

類別的 AMO 連結庫設計為類別的階層,其中某些類別必須先具現化,其他類別才能在您的程式代碼中使用。 您也可以在程式代碼中隨時具現化輔助類別,但您可能在使用任何一個輔助類別之前,先具現化一或多個階層類別。

下圖是 AMO 階層的高階檢視,其中包含主要類別。 此圖顯示類別在其容器及其對等之間的位置。 Dimension 屬於 DatabaseServer,而且可以與 DataSourceMiningStructure同時建立。 某些對等類別必須先具現化,才能使用其他類別。 例如,您必須先建立 DataSource 實體,才能新增 DimensionMiningStructure

AMO 類別高階檢視

主要物件 是一個類別,代表整個實體的完整物件,而不是另一個物件的一部分。 主要物件包括 ServerCubeDimensionMiningStructure,因為這些是本身的實體。 不過,Level 不是主要對象,因為它是 Dimension的組成部分。 主要物件可以建立、刪除、修改或處理,與其他對象無關。 次要物件是只能在建立父主要物件的一部分建立的物件。 次要物件通常會在主要物件建立時建立。 次要物件的值應該在建立時定義,因為次要對象沒有預設的建立。

下圖顯示 Server 物件包含的主要物件。

反白顯示的 AMO 主要物件

反白顯示 AMO 主要物件 (2)

使用 AMO 進行程式設計時,類別與自主類別之間的關聯會使用集合類型屬性,例如 ServerDimension。 若要使用自主類別的一個實例,您必須先取得保存或可保存自主類別之集合對象的參考。 接下來,您會在集合中尋找要尋找的特定物件,然後您可以取得對象的參考,以開始使用物件。

AMO 類別

AMO 是類別庫,其設計目的是從用戶端應用程式管理 Analysis Services 的實例。 AMO 連結庫可視為用來完成特定工作的邏輯相關物件群組。 AMO 類別可以透過下列方式分類:

類別集 目的
AMO 基本類別 使用任何其他類別集所需的類別。
AMO OLAP 類別 可讓您管理 OLAP 物件的類別。
AMO 數據採礦類別 可讓您管理數據採礦對象的類別。
AMO 安全性類別 可讓您控制其他物件的存取權並維護安全性的類別。
AMO 其他類別和方法 可協助 OLAP 或數據採礦系統管理員完成其日常工作的類別和方法。

使用 AMO

AMO 特別適用於自動化重複的工作,例如根據事實數據表中的新數據在量值群組中建立新的數據分割,或根據新數據重新定型採礦模型。 建立新對象的這些工作通常會以每月、每周或每季為基礎執行,而且應用程式可以輕鬆地根據新數據來命名新物件。

Analysis Services 系統管理員

系統管理員可以使用 AMO 將資料庫處理自動化。 若要設計和部署資料庫,請使用 Visual Studio。

開發人員

開發人員可以使用 AMO 來開發指定使用者集合的系統管理介面。 這些介面可以限制對物件的存取,並將使用者限制為特定工作。 例如,藉由使用 AMO,您可以建立備份應用程式,讓使用者查看所有資料庫對象、選取其中一個資料庫,並將它備份至任何一組指定的裝置。

開發人員也可以在其應用程式中內嵌邏輯。 為此,開發人員可以根據使用者輸入或其他因素來建立 Cube、維度、採礦結構和採礦模型。

OLAP 進階使用者

OLAP 進階使用者通常是具有強大程式設計背景的數據分析師或其他有經驗的數據使用者,且想要使用更緊密的數據物件使用來增強其數據分析。 對於離線工作所需的使用者,AMO 對於在離線之前自動建立本機 Cube 非常有用。

數據採礦進階使用者

針對數據採礦進階使用者,如果您有大量定期必須重新定型的模型,AMO 最有用。

使用 AMO 將系統管理工作自動化

大部分重複的工作最好是使用 Integration Services 來開發、部署和維護,而不是以您選擇的任何語言開發為應用程式。 不過,對於無法使用 Integration Services 進行自動化的重複工作,您可以使用 AMO。

自動物件管理

使用 AMO,根據使用者輸入或新取得的數據,輕鬆地建立、更新或刪除物件(例如 DatabaseDimensionCube、採礦 MiningStructureMiningModelRole)。 AMO 非常適合用來設定必須從獨立軟體廠商部署到最終客戶的已開發解決方案的應用程式。 安裝程式應用程式可以確認舊版存在,而且可以更新結構、移除不再有用的物件,以及建立新的物件。 如果沒有舊版,則可以從頭開始建立所有專案。

根據新數據建立新的分割區時,AMO 可能很強大,而且可以移除已超出專案範圍的舊分割區。 例如,對於與過去 36 個月數據搭配運作的財務分析解決方案,只要收到新一個月的數據,就可以移除第 37 個舊月份。 為了將效能優化,您可以根據使用量設計新的匯總,並套用至過去12個月。

自動物件處理

您可以使用 AMO 來回應使用 Integration Services 的一般流程數據和排程工作以外的特定事件,來達成對象處理和更新的可用性。

自動安全性管理

安全性管理可以自動化以包含新使用者的角色和許可權,或在其時間到期后立即移除其他使用者。 您可以建立新的介面,以簡化安全性系統管理員的安全性管理。 這比使用Visual Studio更簡單。

自動備份管理

您可以使用 Integration Services 工作,或建立自動執行的特製化 AMO 應用程式,來完成自動備份管理。 藉由使用 AMO,您可以開發操作員的備份介面,以協助操作員進行日常工作。

工作 AMO 不適用於查詢數據

AMO 無法用來查詢數據。 若要查詢數據,包括 Cube 和採礦模型,請使用使用者應用程式的 ADOMD.NET。 如需詳細資訊,請參閱使用 ADOMD.NET進行開發