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


Преобразование «Сведение»

Преобразование «Сведение» делает нормализованный набор данных менее нормализованным, но более компактным, выполняя сведение входных данных по значению столбца. Например, нормализованный набор данных Orders, содержащий имя клиента, продукт и количество приобретенных единиц продукта, обычно содержит множество строк для клиента, купившего несколько наименований продуктов. Каждая строка содержит подробности о различных продуктах. Выполнив сведение набора данных по столбцу продукта, можно получить набор данных, который содержит по одной строке для каждого клиента. Каждая строка будет содержать все покупки одного клиента, причем наименования продуктов будут именами столбцов, а количество приобретенных единиц каждого продукта будет значением соответствующих столбцов. Так как не каждый клиент приобретает все виды продукции, многие столбцы могут содержать значения NULL.

При выполнении сведения роли различных входных столбцов различаются. Столбец может выступить в следующих ролях.

  • Столбец передается в результирующий набор данных без изменения. Так как несколько входных строк могут попасть в одну выходную, то при преобразовании копируется только первое значение входного столбца.

  • Столбец выступает в качестве ключа или части ключа, который определяет набор записей.

  • Столбец определяет сведение. То есть множество значений данного столбца определяет множество новых столбцов в результирующем наборе данных.

  • Столбец содержит значения, которые переносятся в столбцы, созданные сведением.

Это преобразование содержит один вход, один обычный вывод и один вывод ошибок.

Сортировка и повторяющиеся строки

Для эффективного выполнения сведения необходимо, чтобы данные были отсортированы по столбцу, выбранному для сведения. Эффективным считается такое сведение, при котором создается минимально возможное количество записей в новом наборе данных. Если данные не отсортированы, преобразование «Сведение» может создать несколько записей для каждого значения в ключе набора. Например, если в наборе данных выполняется сведение по столбцу Name без сортировки имен, то результирующий набор данных может иметь более одной строки на каждого заказчика, потому что формирование новой строки возникает при каждом изменении значения в поле Name.

Введенные данные могут содержать повторяющиеся строки, которые могут вызвать сбой преобразования «Сведение». " Повторяющиеся строки — это строки, имеющие одинаковые значения в наборе ключевых столбцов и столбцов сведения. Чтобы предотвратить сбой, можно либо настроить преобразование для перенаправления ошибочных строк в выход ошибок, либо заранее вычислить значения во избежание повторяющихся рядов.

Параметры в диалоговом окне «Сведение»

Операция сведения настраивается путем установки параметров в диалоговом окне Сведение. Чтобы открыть диалоговое окно Сведение, добавьте преобразование «Сведение» в пакет в среде SQL Server Data Tools (SSDT), а затем щелкните компонент правой кнопкой мыши и выберите команду Редактировать.

В следующем списке описаны параметры диалогового окна Сведение.

  • Ключ сведения
    Указывает столбец для использования в качестве значений верхней строки (строки заголовка) таблицы.

  • Ключ набора
    Указывает столбец для использования в качестве значений левого столбца таблицы. Входные данные должны быть отсортированы по этому столбцу.

  • Значение сведения
    Указывает столбец для использования в качестве значений таблицы, отличающихся от значений в строке заголовка и левом столбце.

  • Игнорировать несопоставленные значения ключей сведения и сообщать их после выполнения DataFlow
    Выберите этот параметр, чтобы настроить преобразование «Сведение» на игнорирование строк, содержащих нераспознанные значения в столбце Ключ сведения, и вывод всех значений ключей сведения в сообщение журнала при запуске пакета.

    Также вы можете настроить преобразование для вывода значений, установив для пользовательского свойства PassThroughUnmatchedPivotKeys значение True.

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

    1. Выберите параметр Игнорировать несопоставленные значения ключей сведения и сообщать их после выполнения DataFlow, а затем нажмите кнопку ОК в диалоговом окне Сведение, чтобы сохранить изменения в преобразовании «Сведение».

    2. Запустите пакет.

    3. После успешного выполнения пакета выберите вкладку Ход выполнения и найдите информационное сообщение журнала о преобразовании «Сведение», которое содержит значения ключей сведения.

    4. Щелкните сообщение правой кнопкой мыши и выберите пункт Копировать текст сообщения.

    5. Выберите пункт Остановить отладку в меню Отладка, чтобы переключиться в режим конструктора.

    6. Щелкните правой кнопкой мыши преобразование «Сведение» и выберите команду Редактировать.

    7. Снимите флажок Игнорировать несопоставленные значения ключей сведения и сообщать их после выполнения 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 (маленький) Будьте в курсе новых возможностей служб Integration Services

Чтобы получить новейшую документацию, статьи, образцы и видеоматериалы корпорации Майкрософт, а также лучшие решения участников сообщества, посетите страницу служб Службы Integration Services на сайте MSDN:


Чтобы получать автоматические уведомления об этих обновлениях, подпишитесь на RSS-каналы, предлагаемые на этой странице.

См. также

Основные понятия

Преобразование отмены свертывания

Поток данных

Преобразования служб Integration Services