Arbeiten mit dem ADOMD.NET-Objektmodell
ADOMD.NET bietet ein Objektmodell zum Anzeigen der Cubes und untergeordneten Objekte, die in einer analytischen Datenquelle enthalten sind. Jedoch sind nicht alle Metadaten für eine bestimmte analytische Datenquelle über das Objektmodell verfügbar. Das Objektmodell bietet nur Zugriff auf die Informationen, die von einer Clientanwendung am sinnvollsten angezeigt werden können, damit ein Benutzer interaktiv Befehle erstellen kann. Aufgrund der geringeren Komplexität der darzustellenden Metadaten ist das ADOMD.NET-Objektmodell einfacher zu verwenden.
Beim ADOMD.NET-Objektmodell bietet das AdomdConnection-Objekt Zugriff auf Informationen in den Cubes und Miningmodellen der analytischen Onlineverarbeitung (OLAP), die in einer analytischen Datenquelle definiert sind, sowie zugehörige Objekte wie Dimensionen, benannte Mengen und Mining-Algorithmen.
Abrufen von OLAP-Metadaten
Jedes AdomdConnection-Objekt enthält eine Auflistung von CubeDef-Objekten, die dem Benutzer oder der Anwendung verfügbare Cubes darstellen. Das CubeDef-Objekt macht Informationen über den Cube sowie verschiedene, dem Cube zugehörige Objekte verfügbar, wie zum Beispiel Dimensionen, Key Performance Indicators, Measures, benannte Mengen usw.
Sie sollten nach Möglichkeit das CubeDef-Objekt verwenden, um Metadaten in Clientanwendungen darzustellen, die mehrere OLAP-Server unterstützen sollen; dies gilt ebenfalls für allgemeine Zwecke des Anzeigens und Abrufens von Metadaten.
Hinweis |
---|
Bei anbieterspezifischen Metadaten oder für die Anzeige oder den Abruf detaillierter Metadaten sollten Sie Metadaten mithilfe von Schemarowsets abrufen. Weitere Informationen finden Sie unter Arbeiten mit Schemarowsets in ADOMD.NET. |
Im folgenden Beispiel wird das CubeDef-Objekt verwendet, um die sichtbaren Cubes und die zugehörigen Dimensionen vom lokalen Server abzurufen.
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();
}
Abrufen von Data Mining-Metadaten
Jedes AdomdConnection-Objekt besitzt mehrere Auflistungen, die Informationen über die Data Mining-Fähigkeiten der Datenquelle bereitstellen:
MiningModelCollection enthält eine Liste aller Miningmodelle in der Datenquelle.
MiningServiceCollection stellt Informationen über die verfügbaren Mining-Algorithmen bereit.
MiningStructureCollection macht Informationen über die Mining-Strukturen auf dem Server verfügbar.
Um zu bestimmen, wie Sie eine Abfrage für ein Miningmodell auf dem Server durchführen, gehen Sie die Columns-Auflistung durch. Jedes MiningModelColumn-Objekt macht folgende Merkmale verfügbar:
Ob das Objekt eine Eingabespalte ist (IsInput).
Ob das Objekt eine Vorhersagespalte ist (IsPredictable).
Die einer diskreten Spalte (Values) zugeordneten Werte
Die Art der Daten in der Spalte (Type).