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

На этом занятии с помощью инструкции INSERT INTO (расширения интеллектуального анализа данных) и представлений vAssocSeqLineItems и vAssocSeqOrders из образца базы данных База данных AdventureWorksDW2008R2 будут обработаны структуры и модели интеллектуального анализа данных, созданные на занятиях Занятие 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 column> )
)
SHAPE {
  OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
( 
  {OPENQUERY([<datasource>],'<nested SELECT statement>')
}
RELATE [<case key>] TO [<foreign key>]
) AS [<nested table>]

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

INSERT INTO MINING STRUCTURE [<mining structure name>]

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

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

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

SHAPE {
  OPENQUERY([<datasource>],'<SELECT statement>') }
APPEND
( 
  {OPENQUERY([<datasource>],''<nested SELECT statement>'')
}
RELATE [<case key>] TO [<foreign 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 column> )
    

    вставьте

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

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

  5. Замените:

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

    на:

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

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

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

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

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

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

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

После завершения выполнения запроса можно просмотреть найденные закономерности и наборы элементов, просмотреть взаимосвязи или фильтровать результаты в зависимости от набора элементов, вероятности или важности. Чтобы увидеть эти сведения в среде Среда SQL Server Management Studio, щелкните правой кнопкой мыши модель данных, и выберите Обзор.

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