Compartir a través de


Recuperación de metadatos: trabajar con el modelo de objetos ADOMD.NET

ADOMD.NET proporciona un modelo de objetos que permite ver los cubos y los objetos subordinados que contiene un origen de datos analíticos. Sin embargo, no todos los metadatos para un origen de datos analíticos determinado están disponibles a través del modelo de objetos. El modelo de objetos proporciona acceso únicamente a la información más útil para que se muestre una aplicación cliente y permitir que un usuario construya comandos interactivamente. Debido a la complejidad reducida de los metadatos para presentar, el modelo de objetos ADOMD.NET es más fácil de usar.

En el modelo de objetos ADOMD.NET, AdomdConnection el objeto proporciona acceso a información sobre los cubos de procesamiento analítico en línea (OLAP) y los modelos de minería de datos definidos en un origen de datos analíticos, así como objetos relacionados como dimensiones, conjuntos con nombre y algoritmos de minería de datos.

Recuperar metadatos de OLAP

Cada AdomdConnection objeto tiene una colección de objetos CubeDef que representan los cubos disponibles para el usuario o la aplicación. El CubeDef objeto expone información sobre el cubo, así como varios objetos relacionados con el cubo, como dimensiones, indicadores clave de rendimiento, medidas, conjuntos con nombre, y así sucesivamente.

Siempre que sea posible, debe usar CubeDef el objeto para representar metadatos en aplicaciones cliente diseñadas para admitir varios servidores OLAP, o para fines generales de visualización y acceso de metadatos.

Nota

Para metadatos específicos del proveedor, o para mostrar y obtener acceso detallado a metadatos, use conjuntos de filas de esquema para recuperar metadatos. Para obtener más información, vea Working with Schema Rowsets in ADOMD.NET.

En el ejemplo siguiente se usa el CubeDef objeto para recuperar los cubos visibles y sus dimensiones del servidor local:

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();
}

Recuperar metadatos de minería de datos

Cada AdomdConnection objeto tiene varias colecciones que proporcionan información sobre las funcionalidades de minería de datos del origen de datos:

Para determinar cómo realizar consultas en un modelo de minería de datos en el servidor, itera por la colección Microsoft.AnalysisServices.AdomdServer.MiningModel.Columns. Cada MiningModelColumn objeto expone las siguientes características:

  • Si el objeto es una columna de entrada (IsInput).

  • Si el objeto es una columna de predicción (IsPredictable).

  • Valores asociados a una columna discreta (Values)

  • Tipo de datos de la columna (Type).