Recuperando metadados - Trabalhando com ADOMD.NET modelo de objeto

ADOMD.NET fornece um modelo de objetos para visualizar os cubos e objetos subordinados contidos por uma fonte de dados analítica. No entanto, nem todos os metadados de uma dada fonte analítica estão disponíveis através do modelo de objetos. O modelo de objetos fornece acesso apenas à informação mais útil para uma aplicação cliente exibir, de modo a permitir que o utilizador construa comandos de forma interativa. Devido à redução da complexidade dos metadados a apresentar, o modelo de objeto ADOMD.NET é mais fácil de usar.

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

Recuperação de Metadados OLAP

Cada AdomdConnection objeto tem uma coleção de CubeDef objetos que representam os cubos disponíveis para o utilizador ou aplicação. O CubeDef objeto expõe informações sobre o cubo, bem como vários objetos relacionados com o cubo, como dimensões, indicadores-chave de desempenho, medidas, conjuntos nomeados, entre outros.

Sempre que possível, deve usar o CubeDef objeto para representar metadados em aplicações cliente concebidas para suportar múltiplos servidores OLAP, ou para fins gerais de visualização e acesso a metadados.

Observação

Para metadados específicos do fornecedor, ou para exibição e acesso detalhado a metadados, use conjuntos de linhas de esquema para recuperar metadados. Para mais informações, consulte Trabalhar com Conjuntos de Linhas de Esquema em ADOMD.NET.

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

Recuperação de Metadados de Mineração de Dados

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

Para determinar como realizar consultas sobre um modelo de mineração no servidor, percorra a coleção Microsoft.AnalysisServices.AdomdServer.MiningModel.Columns. Cada MiningModelColumn objeto expõe 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 na coluna (Type).