Abrufen von Metadaten – Arbeiten mit ADOMD.NET Objektmodell

ADOMD.NET stellt ein Objektmodell zum Anzeigen der Würfel und untergeordneten Objekte bereit, die in einer analytischen Datenquelle enthalten sind. Allerdings sind nicht alle Metadaten für eine bestimmte analytische Datenquelle über das Objektmodell verfügbar. Das Objektmodell bietet nur Zugriff auf die Informationen, die für eine Clientanwendung am nützlichsten sind, um benutzern das interaktive Erstellen von Befehlen zu ermöglichen. Aufgrund der reduzierten Komplexität der zu präsentierenden Metadaten ist das ADOMD.NET Objektmodell einfacher zu verwenden.

Im ADOMD.NET Objektmodell bietet das AdomdConnection Objekt Zugriff auf Informationen zu den OLAP-Cubes (Online Analytical Processing) und Miningmodellen, die in einer analytischen Datenquelle definiert sind, sowie verwandte Objekte wie Dimensionen, benannte Mengen und Miningalgorithmen.

Abrufen von OLAP-Metadaten

Jedes AdomdConnection Objekt verfügt über eine Auflistung von CubeDef Objekten, die die für den Benutzer oder die Anwendung verfügbaren Cubes darstellen. Das CubeDef Objekt stellt Informationen über den Cube sowie verschiedene mit dem Cube verbundene Objekte bereit, wie Dimensionen, Key Performance Indicators, Maßnahmen, benannte Sets usw.

Wenn möglich, sollten Sie das CubeDef Objekt verwenden, um Metadaten in Clientanwendungen darzustellen, die für die Unterstützung mehrerer OLAP-Server konzipiert sind, oder für allgemeine Anzeige- und Zugriffszwecke für Metadaten.

Hinweis

Für anbieterspezifische Metadaten oder um detaillierte Metadaten anzuzeigen und darauf zuzugreifen, verwenden Sie Schema-Rowsets, um die Metadaten abzurufen. Weitere Informationen finden Sie unter Arbeiten mit Schema-Rowsets in ADOMD.NET.

Im folgenden Beispiel wird das CubeDef Objekt verwendet, um die sichtbaren Cubes und deren 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 verfügt über mehrere Auflistungen, die Informationen über die Data Mining-Funktionen der Datenquelle bereitstellen:

Um zu bestimmen, wie ein Miningmodell auf dem Server abgefragt wird, iterieren Sie durch die Microsoft.AnalysisServices.AdomdServer.MiningModel.Columns-Auflistung. Jedes MiningModelColumn Objekt macht die folgenden Merkmale verfügbar:

  • Gibt an, ob es sich bei dem Objekt um eine Eingabespalte (IsInput) handelt.

  • Gibt an, ob es sich bei dem Objekt um eine Vorhersagespalte (IsPredictable) handelt.

  • Die Werte, die einer einzelnen Spalte zugeordnet sind (Values)

  • Der Datentyp in der Spalte (Type).