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


Преобразование «Статистическая обработка»

Преобразование «Статистическая обработка» применяет статистические функции, такие как Average, к значениям столбцов и копирует результат на выход преобразования. Кроме статистических функций преобразование предоставляет возможность использования предложения GROUP BY, которое можно применять для указания обрабатываемых групп.

Можно настроить преобразование «Статистическая обработка» на уровнях преобразования, вывода, а также на уровне столбцов.

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

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

Это преобразование не пропускает столбцы, однако создает новые столбцы в потоке данных для публикуемых данных. В выход преобразования копируются только входные столбцы, к которым обращаются статистические функции, а также входные столбцы, используемые преобразованием для группирования. Например, преобразование «Статистическая обработка» на входе может иметь три столбца: CountryRegion, City и Population. Преобразование производит группирование по столбцу CountryRegion и применяет функцию Sum к столбцу Population. Поэтому вывод не включает столбец City.

Можно добавить несколько выводов преобразования «Статистическая обработка» и направить каждое статистическое выражение в различный вывод. Например, если преобразование «Статистическая обработка» обращается к функциям Sum и Average, то каждое статистическое выражение может быть направлено в различный вывод.

Можно применять несколько статистических выражений к одному входному столбцу. Например, если необходимо получить сумму и среднее значений входного столбца с именем Продажи, можно настроить преобразование для применения обеих функций Sum и Average к столбцу Продажи.

Преобразование «Статистическая обработка» имеет один вход и один или более выводов. Вывод ошибок не поддерживается.

Операции

Преобразование «Статистическая обработка» поддерживает следующие операции:

Операция Описание

Group by

Разделяет наборы данных по группам. Для группирования могут быть использованы столбцы любого типа данных. Дополнительные сведения см. в разделе GROUP BY (Transact-SQL).

Sum

Суммирует значения в столбцах. Суммироваться будут только столбцы с числовыми значениями. Дополнительные сведения см. в разделе SUM (Transact-SQL).

Average

Возвращает среднее значение всех значений в столбце. В операции могут принимать участие только столбцы с числовыми значениями. Дополнительные сведения см. в разделе AVG (Transact-SQL).

Count

Возвращает число элементов в группе. Дополнительные сведения см. в разделе Функция COUNT (Transact-SQL).

Count distinct

Возвращает количество уникальных ненулевых значений в группе. Дополнительные сведения см. в разделе Удаление повторяющихся строк с помощью ключевого слова DISTINCT.

Minimum

Возвращает минимальное значение в группе. Дополнительные сведения см. в разделе MIN (Transact-SQL). В отличие от функции MIN Transact-SQL, эта операция может быть использована только с числовыми типами данных, типами данных даты и времени.

Maximum

Возвращает максимальное значение в группе. Дополнительные сведения см. в разделе MAX (Transact-SQL). В отличие от функции MAX Transact-SQL, эта операция может быть использована только с числовыми типами данных, типами данных даты и времени.

Преобразование «Статистическая обработка» обрабатывает значение NULL так же, как и ядро реляционной СУБД SQL Server. Такое поведение определено в стандарте SQL-92. Применяются следующие правила:

  • В предложении GROUP BY значения NULL обрабатываются так же, как и все значения столбца. Если в столбце, по которому производится группирование, содержится несколько значений NULL, все они помещаются в одну группу.
  • В функциях COUNT (имя столбца) и COUNT (DISTINCT имя столбца) значения NULL не обрабатываются, а результат не включает строк именованного столбца, содержащих значения NULL.
  • В функции COUNT (*) подсчитываются все строки, включая строки со значениями NULL.

Обработка больших чисел в статистических выражениях

Столбец может содержать числовые значения, требующие особого внимания из-за их большого значения или требований высокой точности вычисления. Преобразование «Статистическая обработка» имеет свойство IsBig, которое можно установить на выходные столбцы для вызова особой обработки больших или высокоточных числовых данных. Если значение столбца превысит 4 миллиарда или требуемая точность будет находиться вне пределов данных с плавающей точкой, то значение IsBig должно быть установлено как 1.

Установка свойства IsBig в значение 1 влияет на вывод преобразования «Статистическая обработка» следующим образом:

  • Вместо типа данных DT_R4 используется тип DT_R8.
  • Результаты вычислений хранятся в формате типа данных DT_UI8.
  • Результаты отдельных вычислений хранятся в типе данных DT_UI4.
ms138031.note(ru-ru,SQL.90).gifПримечание.
Нельзя установить значения 1 свойству IsBig для столбцов, используемых в операторах GROUP BY, Maximum или Minimum.

Вопросы производительности

Преобразование «Статистическая обработка» содержит набор свойств, который можно настроить для увеличения производительности преобразования.

  • Установите свойства Keys и KeysScale для компонента и выводов компонента. Используя Keys, можно указать точное количество обрабатываемых преобразованием ключей, а используя KeysScale, можно указать это число приблизительно. При указании значения Keys, которое является значением, получаемым преобразованием при запуске пакета, преобразование будет избегать реорганизации кэшированных итогов, улучшая производительность.
  • Установите свойства компонента CountDistinctKeys и CountDistinctScale . Используя CountDistinctKeys, можно указать точное количество обрабатываемых преобразованием ключей для отдельной операции преобразования. Используя CountDistinctScale, можно указать приблизительное количество ключей для отдельной операции преобразования. Если было указано значение CountDistinctScale, которое является значением, получаемым преобразованием при запуске пакета, то преобразование будет также избегать реорганизации кэшированных итогов, улучшая производительность.

Настройка преобразования «Статистическая обработка»

Свойства задаются через конструктор служб SSIS или программно.

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

Диалоговое окно Расширенный редактор содержит свойства, которые можно установить с помощью программных средств. Дополнительные сведения о свойствах, которые можно задать в диалоговом окне Расширенный редактор или программно, см. в следующих разделах:

Дополнительные сведения о настройке свойств см. в следующих разделах:

См. также

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

Создание потока данных пакета
Преобразования служб Integration Services

Справка и поддержка

Получение помощи по SQL Server 2005