映射数据流中的排名转换

适用于: Azure 数据工厂 Azure Synapse Analytics

数据流可在Azure 数据工厂管道和Azure Synapse Analytics管道中使用。 本文适用于映射数据流。 如果你不熟悉转换,请参阅介绍性文章: 使用映射数据流转换数据

根据用户指定的排序条件,使用排名转换生成已排序的排名。

配置

排名设置

不区分大小写: 如果排序列的类型为字符串,则大小写将纳入排名中。

密集: 如果启用,排名列将采用密集排名方式。 每个排名计数都将是连续数字,并且在出现并列时不会跳过排名值。

排名列:生成的排名列的名称。 此列的类型是长整型。

排序条件:选择要作为排序依据的列以及确定排序的顺序。 该顺序决定排序优先级。

该配置采用传入的篮球数据,并创建一个名为“pointsRanking”的排名列。 列 PTS 的最大值所在的行,其 pointsRanking 值为 1。

数据流脚本

语法

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

示例

排名设置

排名配置的数据流脚本位于以下代码片段中。

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

根据排名值,使用筛选器转换筛选行。