Compartir a través de


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, el objeto AdomdConnection proporciona acceso a la información de cubos de procesamiento analítico en línea (OLAP) y modelos de minería definidos en un origen de datos analíticos, así como de objetos relacionados como dimensiones, conjuntos con nombre, y algoritmos de minería de datos.

Recuperar metadatos de OLAP

Cada objeto AdomdConnection tiene una colección de objetos CubeDef que representa los cubos disponible para el usuario o aplicación. El objeto CubeDef expone información acerca del cubo, así como varios objetos relacionados con el cubo, como dimensiones, indicadores de rendimiento clave, medidas, conjuntos con nombre, etc.

Siempre que sea posible, debería usar el objeto CubeDef para representar metadatos en aplicaciones cliente diseñadas para admitir varios servidores OLAP o para mostrar y obtener acceso a metadatos generales.

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 Trabajar con conjuntos de filas de esquema en ADOMD.NET.

En el ejemplo siguiente se usa el objeto CubeDef 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 objeto AdomdConnection tiene varias colecciones que proporcionan información sobre las capacidades de la minería de datos del origen de datos:

Para determinar cómo consultar contra un modelo de minería en el servidor, realice iteraciones en la colección Columns. Cada objeto MiningModelColumn expone las características siguientes:

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

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

  • Los valores asociados a una columna discreta (Values)

  • El tipo de datos de la columna (Type).