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


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

Применимо к: SQL Server Integration Runtime служб SSIS в Фабрика данных Azure

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

Operations

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

Операция Описание
Group by Разделение наборов данных на группы. Для группирования могут быть использованы столбцы любого типа данных. Дополнительные сведения см. в статье GROUP BY (Transact-SQL).
SUM Суммирование значений в столбце. Допускается суммирование только столбцов, содержащих числовые данные. Дополнительные сведения см. в статье SUM (Transact-SQL).
Среднее значение Определение среднего арифметического значения по столбцу. Допускается определение среднего значения только по столбцам, содержащим числовые данные. Дополнительные сведения см. в статье AVG (Transact-SQL).
Количество Возвращает количество элементов в группе. Дополнительные сведения см. в статье COUNT (Transact-SQL).
Count distinct Определение числа уникальных ненулевых значений в группе.
Минимальные Возвращает минимальное значение в группе. Дополнительные сведения см. в статье MIN (Transact-SQL). В отличие от функции MIN Transact-SQL, эта операция может быть использована только с числовыми типами данных, типами данных даты и времени.
Максимум Возвращает максимальное значение в группе. Дополнительные сведения см. в статье 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.

Примечание

Нельзя установить значение 1 свойству IsBig для столбцов, используемых в операторах GROUP BY, Maximum или Minimum.

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

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

  • При выполнении операции Группировать по задайте свойства Keys или KeysScale компонента, а также выходные данные компонента. С помощью свойства Key можно указать точное количество обрабатываемых преобразованием ключей. (В этом контексте свойство Keys ссылается на ожидаемое число групп, являющихся результатом операции Группировать по .) С помощью свойства KeysScale можно указать приблизительное количество ключей. Если указать соответствующее значение для свойства Keys или KeyScale, то производительность повысится, так как преобразование сможет выделить адекватный объем памяти для кэшируемых данных.

  • При выполнении операции Подсчет различных объектов задайте свойства CountDistinctKeys или CountDistinctScale компонента. С помощью свойства CountDistinctKeys можно указать точное количество обрабатываемых преобразованием ключей для отдельной операции преобразования. (В этом контексте свойство CountDistinctKeys ссылается на ожидаемое число отдельных значений, являющихся результатом операции Подсчет различных объектов .) С помощью свойства CountDistinctScale можно указать приблизительное количество ключей для отдельной операции преобразования. Если указать соответствующее значение для свойств CountDistinctKeys или CountDistinctScale, то производительность повысится, так как преобразование сможет выделить адекватный объем памяти для кэшируемых данных.

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

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

  • На уровне преобразования настраивается производительность преобразования «Статистическая обработка», для чего указываются следующие значения.

    • Ожидаемое число групп, являющихся результатом операции Группировать по .

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

    • Процент возможного увеличения занимаемой памяти во время статической обработки.

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

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

  • На уровне столбца указываются следующие значения.

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

    • Параметры сравнения статистической обработки.

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

  • Ожидаемое число групп, являющихся результатом операции Группировать по в столбце.

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

Также можно определить столбцы как IsBig, если столбец содержит большие числовые значения или числовые значения высокой точности.

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

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

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

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

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

Значения свойств можно задавать с помощью конструктора Integration Services или программными средствами.

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

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

Статистическая обработка значений в наборе данных с помощью преобразования «Агрегатная обработка»

Редактор преобразования «Статистическая обработка» (вкладка «Агрегаты»)

На вкладке Агрегаты диалогового окна Редактор преобразования «Статистическая обработка» можно указать столбцы для статистической обработки и свойства статистических выражений. Можно применять одновременно нескольких агрегатов. Это преобразование не приводит к формированию вывода ошибок.

Примечание

Если параметры числа ключей, масштаба ключей, числа различающихся ключей и масштаба различающихся ключей определены на вкладке Дополнительно , они действуют на уровне компонентов; если они определены в расширенном режиме просмотра вкладки Агрегаты — на уровне вывода; а если они определены в списке столбцов внизу на вкладке Агрегаты — на уровне столбцов.

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

Параметры

Дополнительные или Простые
Отобразить или скрыть параметры настройки нескольких агрегатов для нескольких выходов. По умолчанию дополнительные параметры скрыты.

Имя агрегата
В режиме просмотра дополнительных параметров введите понятное имя агрегата.

Группировать по столбцам
В режиме просмотра дополнительных параметров выберите столбцы для группирования из списка Доступные входные столбцы , как описано ниже.

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

Значение Описание
Не указан Свойство «Масштаб ключей» не используется.
Низкий Агрегат может записывать около 500 000 ключей.
Средний Агрегат может записывать около 5 000 000 ключей.
Высокий Агрегат может записывать более 25 000 000 ключей.

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

Доступные входные столбцы
Выберите столбцы из списка имеющихся входных столбцов, установив флажки в таблице.

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

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

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

Операция Описание
GroupBy Разделение наборов данных на группы. Для группирования подходят столбцы любого типа данных. Дополнительные сведения см. в описании ключевого слова GROUP BY.
Sum Суммирование значений в столбце. Допускается суммирование только столбцов, содержащих числовые данные. Дополнительные сведения см. в описании ключевого слова SUM.
Среднее значение Определение среднего арифметического значения по столбцу. Допускается определение среднего значения только по столбцам, содержащим числовые данные. Дополнительные сведения см. в описании ключевого слова AVG.
Count Возвращает количество элементов в группе. Дополнительные сведения см. в описании ключевого слова COUNT.
CountDistinct Определение числа уникальных ненулевых значений в группе. Дополнительные сведения см. в описании ключевых слов COUNT и Distinct.
Минимальные Возвращает минимальное значение в группе. Допускается поиск только среди числовых данных.
Максимум Возвращает максимальное значение в группе. Допускается поиск только среди числовых данных.

Флаги сравнения
Если выбран параметр Группировать по, для управления параметрами сравнения при преобразовании используются флажки. Дополнительные сведения о параметрах сравнения строк см. в разделе Comparing String Data.

Count Distinct Scale
Дополнительно можно указать приблизительное количество различающихся значений, которое может записывать агрегат. По умолчанию значение этого параметра Не указано. Если заданы оба свойства Масштаб различающихся ключей и Различающиеся ключи , приоритет имеет значение свойства Масштаб различающихся ключей .

Значение Описание
Не указан Свойство CountDistinctScale не используется.
Низкий Статистическая функция может записывать примерно 500 000 уникальных ключей.
Средний Агрегат может записывать примерно 5 000 000 различных значений.
Высокий Агрегат может записывать более 25 000 000 различающихся ключей.

Count Distinct Keys
При необходимости можно указать точное количество различающихся значений, которое может записывать агрегат. Если заданы оба свойства Масштаб различающихся ключей и Различающиеся ключи , приоритет имеет значение свойства Масштаб различающихся ключей .

Редактор преобразований «Статистическая обработка» (вкладка «Дополнительно»)

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

Примечание

Если параметры числа ключей, масштаба ключей, числа различающихся ключей и масштаба различающихся ключей определены на вкладке Дополнительно , они действуют на уровне компонентов; если они определены в расширенном режиме просмотра вкладки Агрегаты — на уровне вывода; а если они определены в списке столбцов внизу на вкладке Агрегаты — на уровне столбцов.

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

Параметры

Порядок числа ключей
Дополнительно можно указать примерное число ключей, ожидаемых статистической функцией. Преобразование использует эти сведения для оптимизации исходного размера своего кэша. По умолчанию значение этого параметра Не указано. Если указаны и Порядок числа ключей , и Число ключей , то Число ключей имеет более высокий приоритет.

Значение Описание
Не указан Свойство Порядок числа ключей не используется.
Низкий Агрегат может записывать около 500 000 ключей.
Средний Агрегат может записывать около 5 000 000 ключей.
Высокий Агрегат может записывать более 25 000 000 ключей.

Число ключей
Также можно указать точное число ключей, ожидаемых после статистической обработки. Преобразование использует эти сведения для оптимизации исходного размера своего кэша. Если указаны и Порядок числа ключей , и Число ключей , то Число ключей имеет более высокий приоритет.

Порядок числа различных ключей
Дополнительно можно указать приблизительное количество различающихся значений, которое может записывать агрегат. По умолчанию значение этого параметра Не указано. Если указаны и параметр Порядок числа различных ключей , и параметр Количество различных ключей , то параметр Количество различных ключей имеет более высокий приоритет.

Значение Описание
Не указан Свойство CountDistinctScale не используется.
Низкий Статистическая функция может записывать примерно 500 000 уникальных ключей.
Средний Агрегат может записывать примерно 5 000 000 различных значений.
Высокий Агрегат может записывать более 25 000 000 различающихся ключей.

Количество различных ключей
При необходимости можно указать точное количество различающихся значений, которое может записывать агрегат. Если указаны и параметр Порядок числа различных ключей , и параметр Количество различных ключей , то параметр Количество различных ключей имеет более высокий приоритет.

Коэффициент автоматического расширения
Значение от 1 до 100 указывает процент, на который может увеличиваться объем памяти при статистической обработке. По умолчанию значение этого параметра — 25%.

См. также:

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