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


Ранжирование преобразования в потоке данных для сопоставления

Область применения:Фабрика данных Azure Azure Synapse Analytics

Совет

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

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

Используйте преобразование ранжирования, чтобы сформировать упорядоченное ранжирование на основе условий сортировки, заданных пользователем.

Настройка

Rank settings

Без учета регистра. Если столбец сортировки имеет тип строки, то регистр будет разделяться на ранги.

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

Столбец ранга. Имя созданного столбца ранжирования. Этот столбец будет иметь тип long.

Условия сортировки. Выберите столбцы, по которым выполняется сортировка, и порядок сортировки. Порядок определяет приоритет сортировки.

Приведенная выше конфигурация принимает входящие данные о баскетболе и создает столбец ранга с именем "pointsRanking". Строка с самым высоким значением столбца PTS будет иметь значение pointsRanking, равное 1.

Скрипт потока данных

Синтаксис

<incomingStream>
    rank(
        desc(<sortColumn1>),
        asc(<sortColumn2>),
        ...,
        caseInsensitive: { true | false }
        dense: { true | false }
        output(<rankColumn> as long)
    ) ~> <sortTransformationName<>

Пример

Rank settings

Сценарий потока данных для приведенной выше конфигурации ранжирования находится в следующем фрагменте кода.

PruneColumns
    rank(
        desc(PTS, true),
        caseInsensitive: false,
        output(pointsRanking as long),
        dense: false
    ) ~> RankByPoints

Фильтрация строк на основе значений ранжирования с помощью преобразования фильтра.