Получение метаданных — работа с объектной моделью ADOMD.NET
Компонент ADOMD.NET предоставляет модель объектов для просмотра кубов и подчиненных объектов, содержащихся в источниках аналитических данных. Однако эта модель объектов предоставляет доступ не ко всем метаданным для источника аналитических данных. Модель объектов обеспечивает доступ только к наиболее полезным сведениям, которые будет отображать клиентское приложение, чтобы пользователь мог составлять команды в интерактивном режиме. Представляемые метаданные имеют менее высокую сложность, поэтому модель объектов ADOMD.NET проще использовать.
В объектной модели AdomdConnection ADOMD.NET объект предоставляет доступ к информации о КУБАХ OLAP и моделях интеллектуального анализа данных, определенных в источнике аналитических данных, и связанных объектах, таких как измерения, именованные наборы и алгоритмы интеллектуального анализа данных.
Извлечение метаданных OLAP
Каждый AdomdConnection объект имеет коллекцию CubeDef объектов, представляющих Кубы, доступные пользователю или приложению. CubeDefОбъект предоставляет сведения о Кубе, а также различные объекты, связанные с кубом, такие как измерения, ключевые показатели эффективности, меры, именованные наборы и т. д.
По возможности следует использовать CubeDef объект для представления метаданных в клиентских приложениях, предназначенных для поддержки нескольких серверов OLAP, а также для общих задач отображения метаданных и доступа к ним.
Примечание
Для извлечения метаданных, характерных для поставщика, или для отображения и доступа к подробным метаданным используйте наборы строк схемы. Дополнительные сведения см. в статье Working with Schema Rowsets in 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 предоставляет сведения о структурах интеллектуального анализа данных на сервере.
Чтобы определить, как выполнять запросы к модели интеллектуального анализа данных на сервере, выполните итерацию по коллекции Microsoft. AnalysisServices. того объектная AdomdServer. MiningModel. Columns. Каждый MiningModelColumn объект предоставляет следующие характеристики:
Является ли объект входным столбцом ( IsInput ).
Является ли объект столбцом прогноза ( IsPredictable ).
Значения, связанные с дискретным столбцом ( Values )
Тип данных в столбце ( Type ).