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


Функции окна в сопоставлении потоков данных

ОБЛАСТЬ ПРИМЕНЕНИЯ: Фабрика данных Azure Azure Synapse Analytics

Tip

Попробуйте Data Factory in Microsoft Fabric, универсальное аналитическое решение для предприятий. Microsoft Fabric охватывает все, от перемещения данных до обработки и анализа данных в режиме реального времени, бизнес-аналитики и отчетности. Узнайте, как бесплатно запустить новую пробную версию !

Потоки данных доступны как в конвейерах Фабрики данных Azure, так и в конвейерах Azure Synapse Analytics. Эта статья относится к потокам данных для сопоставления. Если вы не знакомы с преобразованиями, ознакомьтесь с вводной статьей "Преобразование данных с помощью сопоставления потоков данных".

В этой статье содержатся сведения об оконных функциях, поддерживаемых Azure Data Factory и Azure Synapse Analytics, в потоках сопоставления данных.

Список функций окна

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

Функция окна Task
cumeDist Вычисляет положение значения относительно всех значений в разделе. Результатом является число строк, предшествующих или равных текущей строке в порядке секции, разделенной на общее количество строк в секции окна. Все равнозначные значения в порядке занимают одну и ту же позицию.
denseRank Вычисляет ранг значения в группе значений, указанных в предложении упорядочивания окна. Результатом является число, равное единице плюс количество строк, которые предшествуют текущей строке или равны ей в порядке раздела. Значения не создают пробелы в последовательности. Функция denseRank работает, даже если данные не сортируются и ищут изменения значений.
lag Возвращает значение первого параметра, вычисляемого n строк до текущей строки. Второй параметр — это количество строк для обратного поиска, и значение по умолчанию 1. Если не так много строк, возвращается значение null , если не указано значение по умолчанию.
lead Возвращает значение первого параметра, вычисляемого через n строки после текущей строки. Второй параметр — это число строк, которые нужно просмотреть, а значение по умолчанию — 1. Если не так много строк, возвращается значение null , если не указано значение по умолчанию.
nTile Делит строки для каждой секции окна на n контейнеры, начиная от 1 максимума n. Значения контейнеров отличаются не более чем на 1. Если количество строк в секции не делится равномерно на количество контейнеров, остальные значения распределяются по одному на контейнер, начиная с первого контейнера. Эта NTile функция полезна для вычисления tertiles, квартилей, децилей и других общих статистических данных.

Функция вычисляет две переменные во время инициализации. Размер обычного ведра увеличен на один дополнительный ряд. Обе переменные основаны на размере текущего раздела. В процессе вычисления функция отслеживает текущий номер строки, текущий номер контейнера и номер строки, в котором изменяется контейнер (bucketThreshold). Когда текущий номер строки достигает порогового значения для группы, значение группы увеличивается на единицу. Пороговое значение увеличивается на размер контейнера (плюс один дополнительный, если текущий контейнер заполнен).
rank Вычисляет ранг значения в группе значений, указанных в порядке окна по предложению. Результатом является один плюс число строк, предшествующих или равных текущей строке в упорядочении раздела. Значения создают пробелы в последовательности. Функция rank работает, даже если данные не сортируются и ищут изменения значений.
rowNumber Назначает последовательное нумерирование строк для строк в окне, начиная с 1.