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


INSERT INTO (расширения интеллектуального анализа данных)

Служит для обработки заданного объекта интеллектуального анализа данных. Дополнительные сведения об обработке моделей и структур интеллектуального анализа данных см. в разделе Обработка объектов интеллектуального анализа данных.

Если задана структура интеллектуального анализа данных, инструкция обрабатывает эту структуру и все связанные с ней модели интеллектуального анализа данных. Если задана модель интеллектуального анализа данных, инструкция обрабатывает только эту модель.

Синтаксис

INSERT INTO [MINING MODEL]|[MINING STRUCTURE] <model>|<structure> (<mapped model columns>) <source data query>
INSERT INTO [MINING MODEL]|[MINING STRUCTURE] <model>|<structure>.COLUMN_VALUES (<mapped model columns>) <source data query>

Аргументы

  • model
    Идентификатор модели.

  • structure
    Идентификатор структуры.

  • mapped model columns
    Разделенный запятыми список идентификаторов столбцов и вложенных идентификаторов.

  • source data query
    Исходный запрос в определенном поставщиком формате.

Замечания

Если не указан аргумент MINING MODEL или MINING STRUCTURE, служба Analysis Services производит поиск типа объекта на основе имени и затем обрабатывает корректный объект. Если сервер содержит структуру и модель интеллектуального анализа данных с одинаковыми именами, возвращается ошибка.

Используя вторую синтаксическую форму, INSERT INTO<объект>.COLUMN_VALUES, можно производить вставку данных непосредственно в столбцы модели без ее обучения. При использовании этого метода данные столбцов поставляются модели в сжатом и упорядоченном виде, что полезно при работе с наборами данных, содержащими иерархии или упорядоченные столбцы.

В случае применения инструкции INSERT INTO к модели или структуре интеллектуального анализа данных, если аргументы <сопоставленные столбцы модели> и <source data query> пропущены, поведение инструкции аналогично функции ProcessDefault, использующей уже существующие привязки. Если привязок не существует, инструкция возвращает ошибку. Дополнительные сведения о функции ProcessDefault см. в разделе Настройка параметров обработки. Следующий пример показывает синтаксис:

INSERT INTO [MINING MODEL] <model>

Если указана модель MINING MODEL и заданы сопоставленные столбцы и запрос исходных данных, модель и связанная с ней структура будут обработаны.

В следующей таблице приводится описание результатов различных форм инструкции в зависимости от состояния объектов.

Инструкция

Состояние объектов

Результат

INSERT INTO MINING MODEL<модель>

Структура интеллектуального анализа данных обрабатывается.

Модель интеллектуального анализа данных обрабатывается.

   

Структура интеллектуального анализа данных не обрабатывается.

Модель и структура интеллектуального анализа данных обрабатываются.

   

Структура интеллектуального анализа данных содержит дополнительные модели.

Ошибка при выполнении процесса. Необходимо произвести повторную обработку структуры и связанных с ней моделей интеллектуального анализа данных.

INSERT INTO MINING STRUCTURE<структура>

Структура интеллектуального анализа данных обрабатывается или не обрабатывается.

Структура интеллектуального анализа данных и связанные с ней модели обрабатываются.

INSERT INTO MINING MODEL<модель>, которая содержит исходный запрос

или

INSERT INTO MINING STRUCTURE<структура>, которая содержит исходный запрос

Либо структура, либо модель уже включает содержимое.

Ошибка при выполнении процесса. Перед выполнением операции необходимо удалить объекты с помощью инструкции DELETE (расширения интеллектуального анализа данных).

Сопоставленные столбцы модели

С помощью элемента <сопоставленные столбцы модели> можно сопоставлять столбцы источника данных со столбцами модели интеллектуального анализа данных. Форма элемента <сопоставленные столбцы модели> следующая:

<column identifier> | SKIP | <table identifier> (<column identifier> | SKIP), ...

С помощью инструкции SKIP можно исключить определенные столбцы, которые должны существовать в исходном запросе, но не существуют в модели интеллектуального анализа данных. Команда SKIP помогает, когда у пользователя нет контроля над управления, включенными во входной набор строк. При написании собственной инструкции OPENQUERY рекомендуется исключить столбец из списка столбцов SELECT, а не использовать SKIP.

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

Согласно синтаксису SKIP, команда SKIP должна занимать положение отдельного столбца во входном наборе строк, в котором соответствующая структура интеллектуального анализа данных отсутствует. Например, в приведенном далее примере вложенной таблицы OrderNumber должно быть выбрано в предложении APPEND так, чтобы его можно было использовать в предложении RELATE для указания соединения; при этом данные OrderNumber не требуется вставлять во вложенную таблицу в структуре интеллектуального анализа данных. Таким образом, вместо OrderNumber в аргументе INSERT INTO используется ключевое слово SKIP.

Source Data Query

Элемент <source data query> может включать следующие типы источников данных:

  • OPENQUERY

  • OPENROWSET

  • SHAPE

  • Любой запрос к службам Analysis Services, возвращающий набор строк

Дополнительные сведения о типах источников данных см. в разделе <source data query>.

Базовый пример

В следующем примере инструкция OPENQUERY применяется для обучения модели упрощенного алгоритма Байеса на основе данных о целевой рассылке из базы данных AdventureWorksDW.

INSERT INTO NBSample (CustomerKey, Gender, [Number Cars Owned],
    [Bike Buyer])
OPENQUERY([Adventure Works DW],'Select CustomerKey, Gender, [NumberCarsOwned], [BikeBuyer] 
FROM [vTargetMail]')

Пример вложенной таблицы

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

INSERT INTO MyAssociationModel
    ([OrderNumber],[Models] (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 [Models]