Partilhar via


Trabalhando com o modelo de objeto do ADOMD.NET

O ADOMD.NET oferece um modelo de objeto para a exibição dos cubos e dos objetos subordinados contidos em uma fonte de dados analítica. No entanto, nem todos os metadados de uma determinada fonte de dados analítica estarão disponíveis por meio do modelo de objeto. O modelo de objeto só fornece acesso às informações mais úteis para que um aplicativo cliente as exiba e permita que um usuário crie comandos de forma interativa. Por causa da complexidade reduzida dos metadados em apresentar, o modelo de objeto do ADOMD.NET é mais fácil usar.

No modelo de objeto do ADOMD.NET, o objeto AdomdConnection fornece acesso a informações nos cubos OLAP (processamento analítico online) e nos modelos de mineração definidos em uma fonte de dados analítica e objetos relacionados, como dimensões, conjuntos nomeados e algoritmos de mineração.

Recuperando metadados OLAP

Cada objeto AdomdConnection tem uma coleção de objetos de CubeDef que representam os cubos disponíveis para o usuário ou para o aplicativo. O objeto CubeDef exibe informações sobre o cubo, além de vários objetos relacionados ao cubo, como dimensões, indicadores chave de desempenho, medidas, conjuntos nomeados e assim por diante.

Sempre que possível, use o objeto CubeDef para representar metadados em aplicativos cliente criados para dar suporte a vários servidores OLAP ou para fins de acesso e exibição de metadados gerais.

ObservaçãoObservação

Para provedor metadados específicos, ou para acesso e exibição detalhados de metadados, use conjuntos de linhas do esquema para recuperar metadados. Para obter mais informações, consulte Trabalhando com conjuntos de linhas do esquema no ADOMD.NET.

O exemplo a seguir usa o objeto CubeDef para recuperar os cubos visíveis e suas dimensões a partir do 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();
}

Recuperando metadados de mineração de dados

Cada objeto AdomdConnection tem várias coleções que oferecem informações sobre as capacidades de mineração de dados da fonte de dados:

Para determinar como consultar um modelo de mineração no servidor, itere pela coleção Columns. Cada objeto MiningModelColumn exibe as seguintes características:

  • Se o objeto é uma coluna de entrada (IsInput).

  • Se o objeto é uma coluna de previsão (IsPredictable).

  • Os valores associados a uma coluna discreta (Values)

  • O tipo de dados da coluna (Type).