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


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

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

Совет

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

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

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

Список оконных функций

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

Оконная функция Задача
cumeDist Функция CumeDist вычисляет позицию значения относительно всех значений в разделе. Результатом является количество строк, предшествующих или равных текущей строке в упорядоченном наборе раздела, деленное на общее количество строк в разделе окна. Любые значения времени в упорядоченном наборе будут вычисляться в той же позиции.
denseRank Вычисляет ранг значения в группе значений, указанных в предложении order by окна. Результатом является единица плюс количество строк, предшествующих или равных текущей строке в упорядоченном наборе раздела. Значения не будут создавать промежутки в последовательности. Функция denseRank работает, даже если данные не отсортированы, и ищет изменения в значениях.
lag Возвращает значение первого параметра, вычислившего n строк перед текущей строкой. Второй параметр — это количество строк для ретроспективного анализа, значение по умолчанию — 1. При наличии небольшого количества строк возвращается значение NULL, если не указано значение по умолчанию.
lead Возвращает значение первого параметра, вычислившего n строк после текущей строки. Второй параметр — это количество строк, идущих после текущей, значение по умолчанию — 1. При наличии небольшого количества строк возвращается значение NULL, если не указано значение по умолчанию.
nTile Функция NTile делит строки для каждого раздела окна на n групп от 1 до n. Значения сегментов будут отличаться максимум на 1. Если количество строк в разделе не делится поровну на количество сегментов, то остальные значения распределяются по одному на сегмент, начиная с первого. Функция NTile полезна для расчета tertiles, квартилей, децилей и других общих сводных статистических данных. Функция вычисляет две переменные во время инициализации: размер обычного контейнера будет содержать одну дополнительную строку, добавленную в нее. Обе переменные зависят от размера текущего раздела. В процессе вычисления функция отслеживает текущее число строк, номер текущего сегмента и номер строки, на которой изменяется сегмент (bucketThreshold). Когда текущий номер строки достигает порога сегмента, значение сегмента увеличивается на единицу, а порог увеличивается на размер сегмента (плюс единица, если текущий сегмент заполняется).
rank Вычисляет ранг значения в группе значений, указанных в предложении order by окна. Результатом является единица плюс количество строк, предшествующих или равных текущей строке в упорядоченном наборе раздела. Значения будут создавать промежутки в последовательности. Функция rank работает, даже если данные не отсортированы, и ищет изменения в значениях.
rowNumber Назначает последовательную нумерацию строк для строк в окне, начиная с 1.