INSERT INTO (DMX)

Область применения: 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 выполняет поиск типа объекта в зависимости от имени и обрабатывает правильный объект. Если сервер содержит структуру и модель интеллектуального анализа данных с одинаковыми именами, возвращается ошибка.

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

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

INSERT INTO [MINING MODEL] <model>  

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

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

Оператор Состояние объектов Результат
INSERT В МАЙНИНГ МОДЕЛИ*<модель>* Структура интеллектуального анализа данных обрабатывается. Модель интеллектуального анализа данных обрабатывается.
Структура интеллектуального анализа данных не обрабатывается. Модель и структура интеллектуального анализа данных обрабатываются.
Структура интеллектуального анализа данных содержит дополнительные модели. Ошибка при выполнении процесса. Необходимо произвести повторную обработку структуры и связанных с ней моделей интеллектуального анализа данных.
INSERT В ГОРНУЮ СТРУКТУРУ*<структуру>* Структура интеллектуального анализа данных обрабатывается или не обрабатывается. Структура интеллектуального анализа данных и связанные с ней модели обрабатываются.
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 не требуется вставлять во вложенную таблицу в структуре интеллектуального анализа данных. Поэтому в примере используется ключевое слово SKIP вместо OrderNumber в аргументе INSERT INTO.

Запрос исходных данных

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

  • OPENQUERY

  • OPENROWSET

  • ФОРМА

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

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

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

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

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]