Работа с объектной моделью ADOMD.NET
Компонент ADOMD.NET предоставляет модель объектов для просмотра кубов и подчиненных объектов, содержащихся в источниках аналитических данных. Однако эта модель объектов предоставляет доступ не ко всем метаданным для источника аналитических данных. Модель объектов обеспечивает доступ только к наиболее полезным сведениям, которые будет отображать клиентское приложение, чтобы пользователь мог составлять команды в интерактивном режиме. Представляемые метаданные имеют менее высокую сложность, поэтому модель объектов ADOMD.NET проще использовать.
В модели объектов ADOMD.NET объект AdomdConnection предоставляет доступ к сведениям в кубах оперативной аналитической обработки (OLAP) и моделях интеллектуального анализа данных, определенных для источника аналитических данных, а также таких связанных объектах, как измерения, именованные наборы и алгоритмы интеллектуального анализа.
Извлечение метаданных OLAP
Каждый объект AdomdConnection имеет коллекцию объектов CubeDef, которые представляют кубы, доступные для пользователя, или приложения. Объект CubeDef выдает информацию о кубах, а также о различных объектах, связанных с кубами, таких как измерения, ключевые показатели эффективности, меры, именованные наборы и т. д.
При возможности используйте объект CubeDef для представления метаданных в клиентских приложениях, предназначенных для поддержки нескольких серверов OLAP или для достижения общих целей отображения метаданных и доступа.
Примечание |
---|
Для извлечения метаданных, характерных для поставщика, или для отображения и доступа к подробным метаданным используйте наборы строк схемы. Дополнительные сведения см. в разделе Работа с наборами строк схемы в ADOMD.NET. |
В следующем примере объект CubeDef используется для извлечения видимых кубов и их измерений из локального сервера:
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();
}
Извлечение метаданных интеллектуального анализа данных
Каждый объект AdomdConnection имеет несколько коллекций, предоставляющих сведения о возможностях источника данных по интеллектуальному анализу данных.
Коллекция MiningModelCollection содержит список всех моделей интеллектуального анализа данных в источнике данных.
Коллекция MiningServiceCollection содержит сведения о доступных алгоритмах интеллектуального анализа данных.
Коллекция MiningStructureCollection предоставляет доступ к сведениям о структурах интеллектуального анализа данных на сервере.
Чтобы определить, как выполнять запросы к модели интеллектуального анализа на сервере, последовательно просмотрите коллекцию Columns. Каждый объект MiningModelColumn выдает следующие характеристики.
Является ли объект входным столбцом (IsInput).
Является ли объект прогнозируемым столбцом (IsPredictable).
Значения, связанные с дискретным столбцом (Values).
Тип данных в столбце (Type).