Поделиться через


Работа с моделью объектов 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).