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íticos. No entanto, nem todos os metadados de uma determinada fonte de dados analíticos 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íticos 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çã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:
MiningModelCollection contém uma lista de todos os modelo de mineração da fonte de dados.
MiningServiceCollection oferece informações sobre os algoritmos de mineração disponíveis.
MiningStructureCollection exibe informações sobre as estruturas de mineração no servidor.
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).