преобразование «Сведение»
Область применения: среда выполнения интеграции SSIS SQL Server в Фабрика данных Azure
Преобразование «Сведение» делает нормализованный набор данных менее нормализованным, но более компактным, выполняя сведение входных данных по значению столбца. Например, нормализованный набор данных Orders , содержащий имя клиента, продукт и количество приобретенных единиц продукта, обычно содержит множество строк для клиента, купившего несколько наименований продуктов. Каждая строка содержит подробности о различных продуктах. Выполнив сведение набора данных по столбцу продукта, можно получить набор данных, который содержит по одной строке для каждого клиента. Каждая строка будет содержать все покупки одного клиента, причем наименования продуктов будут именами столбцов, а количество приобретенных единиц каждого продукта будет значением соответствующих столбцов. Так как не каждый клиент приобретает все виды продукции, многие столбцы могут содержать значения NULL.
При выполнении сведения роли различных входных столбцов различаются. Столбец может выступить в следующих ролях.
Столбец передается в результирующий набор данных без изменения. Так как несколько входных строк могут попасть в одну выходную, то при преобразовании копируется только первое значение входного столбца.
Столбец выступает в качестве ключа или части ключа, который определяет набор записей.
Столбец определяет сведение. То есть множество значений данного столбца определяет множество новых столбцов в результирующем наборе данных.
Столбец содержит значения, которые переносятся в столбцы, созданные сведением.
Это преобразование содержит один вход, один обычный вывод и один вывод ошибок.
Сортировка и повторяющиеся строки
Для эффективного выполнения сведения необходимо, чтобы данные были отсортированы по столбцу, выбранному для сведения. Эффективным считается такое сведение, при котором создается минимально возможное количество записей в новом наборе данных. Если данные не отсортированы, преобразование «Сведение» может создать несколько записей для каждого значения в ключе набора. Например, если в наборе данных выполняется сведение по столбцу Name без сортировки имен, то результирующий набор данных может иметь более одной строки на каждого заказчика, потому что формирование новой строки возникает при каждом изменении значения в поле Name .
Введенные данные могут содержать повторяющиеся строки, которые могут вызвать сбой преобразования «Сведение». Повторяющиеся строки — это строки, имеющие одинаковые значения в наборе ключевых столбцов и столбцов сведения. Чтобы предотвратить сбой, можно либо настроить преобразование для перенаправления ошибочных строк в выход ошибок, либо заранее вычислить значения во избежание повторяющихся рядов.
Параметры в диалоговом окне «Сведение»
Операция сведения настраивается путем установки параметров в диалоговом окне Сведение . Чтобы открыть диалоговое окно сводной таблицы, добавьте преобразование сводной таблицы в пакет в SQL Server Data Tools (SSDT), а затем щелкните компонент правой кнопкой мыши и нажмите кнопку "Изменить".
В следующем списке описаны параметры диалогового окна Сведение .
Ключ сведения
Указывает столбец для использования в качестве значений верхней строки (строки заголовка) таблицы.
Ключ набора
Указывает столбец для использования в качестве значений левого столбца таблицы. Входные данные должны быть отсортированы по этому столбцу.
Значение сведения
Указывает столбец для использования в качестве значений таблицы, отличающихся от значений в строке заголовка и левом столбце.
Игнорировать несопоставленные значения ключей сведения и сообщать их после выполнения DataFlow
Выберите этот параметр, чтобы настроить преобразование "Сведение" для игнорирования строк, содержащих нераспознанные значения в столбце Ключ сведения , и вывода всех значений ключей сведения в сообщение журнала при запуске пакета.
Также вы можете настроить преобразование для вывода значений, установив для пользовательского свойства PassThroughUnmatchedPivotKeys значение True.
Создание выходных столбцов сведения на основе значений
Введите в это поле значения ключей сведения, чтобы позволить преобразованию «Сведение» создать выходные столбцы для каждого значения. Вы можете либо ввести значения до запуска пакета, либо выполнить следующие действия.
Выберите параметр Пропускать несовпадающие значения ключа сведения и создать по ним отчет после выполнения DataFlow , а затем нажмите кнопку ОК в диалоговом окне Сведение , чтобы сохранить изменения в преобразовании "Сведение".
Запустите пакет.
После успешного выполнения пакета выберите вкладку Ход выполнения и найдите информационное сообщение журнала о преобразовании «Сведение», которое содержит значения ключей сведения.
Щелкните сообщение правой кнопкой мыши и выберите пункт Копировать текст сообщения.
Выберите пункт Остановить отладку в меню Отладка , чтобы переключиться в режим конструктора.
Щелкните правой кнопкой мыши преобразование "Сведение" и выберите команду Редактировать.
Снимите флажок Пропускать несовпадающие значения ключа сведения и создать по ним отчет после выполнения DataFlow , а затем вставьте значения ключей сведения в поле Создавать выходные столбцы сведения из значений в следующем формате.
[значение1],[значение2],[значение3]
Сформировать столбцы сейчас
Щелкните, чтобы создать выходной столбец для каждого значения ключа сведения, перечисленного в поле Создавать выходные столбцы сведения из значений .
Выходные столбцы отображаются в поле Существующие выходные столбцы сведения .
Существующие выходные столбцы сведения
Выводит список выходных столбцов для значений ключей сведения
В следующей таблице показан набор данных до их сведения в столбце Год .
Год | Название продукта | Итог |
---|---|---|
2004 | Шина для велосипеда HL Mountain | 1504884.15 |
2003 | Камера для шоссейного велосипеда | 35920.50 |
2004 | Фляга для воды — 30 унций. | 2805.00 |
2002 | Шина для туристического велосипеда | 62364.225 |
В следующей таблице показан набор данных после их сведения по столбцу Год .
Название продукта | 2002 | 2003 | 2004 |
---|---|---|---|
Шина для велосипеда HL Mountain | 141164.10 | 446297.775 | 1504884.15 |
Камера для шоссейного велосипеда | 3592.05 | 35920.50 | 89801.25 |
Фляга для воды — 30 унций. | NULL | NULL | 2805.00 |
Шина для туристического велосипеда | 62364.225 | 375051.60 | 1041810.00 |
Для сведения данных по столбцу Год , как показано выше, в диалоговом окне Сведения задаются следующие параметры.
В списке Ключ сведения выбирается «Год».
В списке Ключ набора выбирается «Название продукта».
В списке Значение сведения выбирается «Итог».
Следующие значения вводятся в поле Создание выходных столбцов сведения на основе значений .
[2002],[2003],[2004]
Настройка преобразования «Сведение»
Свойства могут быть заданы с помощью конструктора SSIS или программным путем.
Дополнительные сведения о свойствах, которые вы можете задать в диалоговом окне Расширенный редактор , см. в следующих разделах:
См. также
Дополнительные сведения о настройке свойств компонента см. в разделе Установление свойств компонента потока данных.
См. также
Преобразование отмены свертывания
Поток данных
Преобразования служб Integration Services