使用 ADOMD.NET 物件模型
ADOMD.NET 提供的物件模型,可檢視分析資料來源所包含的 Cube 與從屬物件。不過,並非指定的分析資料來源之所有中繼資料,都可透過物件模型取得。物件模型只能存取對用戶端應用程式而言最為實用並加以顯示的資訊,以允許使用者以互動方式建構命令。因為要顯示的中繼資料之複雜性已降低,所以 ADOMD.NET 物件模型使用起來較容易。
在 ADOMD.NET 物件模型中,AdomdConnection 物件可存取定義在分析資料來源中的線上分析處理 (OLAP) Cube 與採礦模型的相關資訊,以及維度、命名集和採礦演算法等相關物件。
擷取 OLAP 中繼資料
每個 AdomdConnection 物件都有 CubeDef 物件的集合,代表可供使用者或應用程式使用的 Cube。CubeDef 物件會公開有關 Cube 的資訊,以及各種與 Cube 相關的物件,例如維度、關鍵效能指標、量值、命名集等等。
對於一般的中繼資料顯示與存取目的而言,或是在支援多個 OLAP 伺服器的用戶端應用程式中,您應該盡可能地使用 CubeDef 物件來代表其中的中繼資料。
[!附註]
對於提供者特定的中繼資料,或是詳細的中繼資料顯示與存取,請使用結構描述資料列集來擷取中繼資料。如需詳細資訊,請參閱<使用 ADOMD.NET 中的結構描述資料列集>。
下列範例使用 CubeDef 物件從本機伺服器擷取可見的 Cube 及其維度:
private string RetrieveCubesAndDimensions()
{
System.Text.StringBuilder result = new System.Text.StringBuilder();
//Connect to the local server
using (AdomdConnection conn = new AdomdConnection("Data Source=localhost;"))
{
conn.Open();
//Loop through every cube
foreach (CubeDef cube in conn.Cubes)
{
//Skip hidden cubes.
if (cube.Name.StartsWith("$"))
continue;
//Write the cube name
result.AppendLine(cube.Name);
//Write out all dimensions, indented by a tab.
foreach (Dimension dim in cube.Dimensions)
{
result.Append("\t");
result.AppendLine(dim.Name);
}
}
//Close the connection
conn.Close();
}
//Return the results
return result.ToString();
}
擷取資料採礦中繼資料
每個 AdomdConnection 物件都有數個集合,以提供資料來源的資料採礦功能之相關資訊:
MiningModelCollection 會包含資料來源中所有採礦模型的清單。
MiningServiceCollection 會提供可用之採礦演算法的相關資訊。
MiningStructureCollection 會公開伺服器上採礦結構的相關資訊。
若要判斷如何針對伺服器上的採礦模型進行查詢,請在 Columns 集合中反覆運算。每個 MiningModelColumn 物件會公開下列特性:
物件是否為輸入資料行 (IsInput)。
物件是否為預測資料行 (IsPredictable)。
與離散資料行關聯的值 (Values)。
資料行中的資料類型 (Type)。