Занятие 3. Обработка структуры интеллектуального анализа данных «Потребительская корзина»

Добавления: 5 декабря 2005 г.

На этом занятии с помощью инструкции INSERT INTO (расширения интеллектуального анализа данных) и представлений vAssocSeqLineItems и vAssocSeqOrders из образца базы данных AdventureWorksDW обрабатываются структуры и модели интеллектуального анализа данных, созданные на занятиях Занятие 1. Создание структуры интеллектуального анализа «Потребительская корзина» и Занятие 2. Добавление моделей интеллектуального анализа к структуре интеллектуального анализа «Потребительская корзина».

При обработке структуры интеллектуального анализа данных службы Analysis Services считывают исходные данные и создают структуры, поддерживающие модели интеллектуального анализа данных. При обработке модели интеллектуального анализа данных данные, определенные структурой интеллектуального анализа данных, проходят через выбранный пользователем алгоритм интеллектуального анализа данных. Алгоритм находит тренды и шаблоны и сохраняет эти данные в модели интеллектуального анализа данных. Поэтому в модели интеллектуального анализа данных содержатся не фактические исходные данные, а данные, выявленные алгоритмом. Дополнительные сведения об обработке моделей интеллектуального анализа данных см. в разделе Обработка объектов интеллектуального анализа данных.

Повторная обработка структуры интеллектуального анализа данных нужна только в том случае, когда изменяются столбцы структуры или исходные данные. При добавлении модели интеллектуального анализа данных к уже обработанной структуре интеллектуального анализа данных можно использовать инструкцию INSERT INTO MINING MODEL для обучения новой модели интеллектуального анализа данных.

Так как структура интеллектуального анализа данных «Потребительская корзина» содержит вложенную таблицу, потребуется определить столбцы интеллектуального анализа данных, которые нужно обучить с помощью структуры этой таблицы, и использовать команду SHAPE, чтобы определить запросы, которые получат обучающие данные из исходных таблиц.

Инструкция INSERT INTO

Для обучения структуры интеллектуального анализа данных «Потребительская корзина» и связанных с ней моделей интеллектуального анализа данных используется инструкция INSERT INTO (расширения интеллектуального анализа данных). Код инструкции можно разбить на следующие части.

  • Определение структуры интеллектуального анализа данных
  • Список столбцов структуры интеллектуального анализа данных
  • Определение обучающих данных с помощью инструкции SHAPE

В следующем фрагменте показан общий пример инструкции INSERT INTO:

INSERT INTO MINING STRUCTURE [<mining structure name>]
(
   <mining structure columns>
   [<nested table>]
   ( SKIP, <skipped columns> )
)
SHAPE {
  OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
( 
  {OPENQUERY([<MyDataSource>],'<nested SELECT statement>')
}
RELATE [<case key>] TO [<foriegn key>]
) AS [<nested table>]

В первой строчке кода задается структура интеллектуального анализа данных, которую необходимо обучить:

INSERT INTO MINING STRUCTURE [<mining structure name>]

Следующие строки кода указывают столбцы, определенные структурой интеллектуального анализа данных. Необходимо перечислить все столбцы структуры интеллектуального анализа данных, и каждый столбец должен соответствовать какому-либо столбцу из данных исходного запроса. Можно использовать инструкцию SKIP, чтобы не обрабатывать столбцы, существующие в исходных данных, но не в структуре интеллектуального анализа данных. Дополнительные сведения об использовании инструкции SKIP см. в разделе INSERT INTO (расширения интеллектуального анализа данных).

(
   <mining structure columns>
   [<nested table>]
   ( SKIP, <skipped columns> )
)

Последние строки кода определяют данные, которые будут использованы для обучения структуры интеллектуального анализа данных. Так как исходные данные содержатся в двух таблицах, для их связывания будет использована инструкция SHAPE.

SHAPE {
  OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
( 
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')
}
RELATE [<case key>] TO [<foriegn key>]
) AS [<nested table>]

На этом занятии требуется определить исходные данные с помощью инструкции OPENQUERY. Дополнительные сведения о других способах задания исходного запроса см. в разделе <source data query>.

Задачи занятия

На этом занятии требуется выполнить следующую задачу:

  • Обработка структуры интеллектуального анализа данных «Потребительская корзина»

Обработка структуры интеллектуального анализа данных «Потребительская корзина»

Обработка структуры интеллектуального анализа данных с помощью инструкции INSERT INTO

  1. В окне Обозреватель объектов щелкните правой кнопкой мыши экземпляр службы Analysis Services, укажите Создать запрос, а затем выберите пункт Расширения интеллектуального анализа данных.

    Откроется редактор запросов, содержащий новый, пустой запрос.

  2. Скопируйте стандартный пример использования инструкции INSERT INTO в пустое окно запроса.

  3. Вместо

    [<mining structure>]
    

    вставьте:

    Market Basket
    
  4. Вместо

       <mining structure columns>
       [<nested table>]
       ( SKIP, <skipped columns> )
    

    вставьте:

    [OrderNumber],[Products] (SKIP, [Model])
    

    В этой инструкции столбец Products относится к таблице Products, определенной инструкцией SHAPE. Инструкция SKIP используется, чтобы не обрабатывать столбец Model, которая существует в источнике данных под названием Key, но не используется структурой интеллектуального анализа данных.

  5. Вместо

    SHAPE {
      OPENQUERY([<datasource>],'<SELECT statement>') }
    APPEND
    ( 
      {OPENQUERY([<datasource>],''<nested SELECT statement>'')
    }
    RELATE [<case key>] TO [<foriegn key>]
    ) AS [<nested table>]
    

    вставьте:

    SHAPE {
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber
                FROM vAssocSeqOrders ORDER BY OrderNumber')}
    APPEND
    ( 
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, model FROM 
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')
    }
    RELATE OrderNumber to OrderNumber 
    ) AS [Products]
    

    Исходный запрос ссылается на источник данных «AdventureWorksDW», определенный в образце проекта AdventureWorksDW. Он использует этот источник данных для доступа к представлениям vAssocSeqLineItems и vAssocSeqOrders. Эти представления содержат исходные данные, которые будут использованы для обучения модели интеллектуального анализа данных.

    Внутри команды SHAPE будет использоваться предложение OPENQUERY для определения двух запросов. Первый запрос определяет родительскую таблицу, второй — вложенную. Две таблицы связаны с помощью столбца OrderNumber, который присутствует в обеих таблицах.

    Полностью инструкция должна выглядеть следующим образом:

    INSERT INTO MINING STRUCTURE [Market Basket]
    (
       [OrderNumber],[Products] (SKIP, [Model])
    )
    SHAPE {
      OPENQUERY([Adventure Works DW],'SELECT OrderNumber
                FROM vAssocSeqOrders ORDER BY OrderNumber')}
    APPEND
    ( 
      {OPENQUERY([Adventure Works DW],'SELECT OrderNumber, model FROM 
        dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')
    }
    RELATE OrderNumber to OrderNumber 
    ) AS [Products]
    
  6. В меню Файл выберите команду Сохранить DMXQuery1.dmx как.

  7. В диалоговом окне Сохранить как укажите путь к соответствующей папке, и присвойте файлу имя Обработка потребительской корзины.dmx.

  8. На панели инструментов нажмите кнопку Выполнить.

В следующем занятии будут созданы несколько прогнозов, основанных на моделях интеллектуального анализа данных, которые были добавлены в структуру «Потребительская корзина».

Следующее занятие

Занятие 4. Прогнозирование «Потребительской корзины»