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


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

Область применения: SQL Server Analysis Services

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

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

Синтаксис

  
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
Идентификатор модели.

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

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

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

Замечания

Если вы не указываете МОДЕЛЬ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА данных или СТРУКТУРУ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА данных, службы Analysis Services выполняет поиск типа объекта в зависимости от имени и обрабатывает правильный объект. Если сервер содержит структуру и модель интеллектуального анализа данных с одинаковыми именами, возвращается ошибка.

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

Если вы используете INSERT INTO с моделью интеллектуального анализа данных или структурой интеллектуального анализа данных, а также оставьте <сопоставленные столбцы моделей и <аргументы> запроса> исходных данных, оператор ведет себя как ProcessDefault, используя привязки, которые уже существуют. Если привязок не существует, инструкция возвращает ошибку. Дополнительные сведения о ProcessDefault см. в разделе "Параметры обработки" и "Параметры" (службы Analysis Services). Следующий пример показывает синтаксис:

INSERT INTO [MINING MODEL] <model>  

Если вы указываете МОДЕЛЬ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА данных и предоставляете сопоставленные столбцы и исходный запрос данных, обрабатывается модель и связанная структура.

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

Оператор Состояние объектов Результат
ВСТАВКА В МОДЕЛЬ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ*<*> Структура интеллектуального анализа данных обрабатывается. Модель интеллектуального анализа данных обрабатывается.
Структура интеллектуального анализа данных не обрабатывается. Модель и структура интеллектуального анализа данных обрабатываются.
Структура интеллектуального анализа данных содержит дополнительные модели. Ошибка при выполнении процесса. Необходимо произвести повторную обработку структуры и связанных с ней моделей интеллектуального анализа данных.
ВСТАВКА В СТРУКТУРУ ИНТЕЛЛЕКТУАЛЬНОГО АНАЛИЗА ДАННЫХ*<СТРУКТУРУ>* Структура интеллектуального анализа данных обрабатывается или не обрабатывается. Структура интеллектуального анализа данных и связанные с ней модели обрабатываются.
INSERT INTO MINING MODEL*<model>*, содержащий исходный запрос

or

INSERT INTO MINING STRUCTURE*<structure>*, содержащий исходный запрос
Либо структура, либо модель уже включает содержимое. Ошибка при выполнении процесса. Перед выполнением этой операции необходимо очистить объекты с помощью DELETE (DMX).

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

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

<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

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

  • OPENQUERY

  • OPENROWSET

  • ФОРМА

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

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

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

В следующем примере используется OPENQUERY для обучения модели Naive Bayes на основе целевых данных рассылки в AdventureWorksDW2022 базе данных.

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

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

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

INSERT INTO MyAssociationModel  
    ([OrderNumber],[Models] (SKIP, [Model])  
    )  
SHAPE {  
    OPENQUERY([AdventureWorksDW2022],'SELECT OrderNumber  
    FROM vAssocSeqOrders ORDER BY OrderNumber')  
} APPEND (  
    {OPENQUERY([AdventureWorksDW2022],'SELECT OrderNumber, model FROM   
    dbo.vAssocSeqLineItems ORDER BY OrderNumber, Model')}  
  RELATE OrderNumber to OrderNumber)   
AS [Models]  

См. также

Инструкции определения данных расширений интеллектуального анализа данных (DMX)
Инструкции по обработке данных расширения интеллектуального анализа данных (DMX)
Справочник по расширениям интеллектуального анализа данных (DMX)