Compartir a través de

映射数据流中的排名转换

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

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

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

Configuration

排名设置

不区分大小写:如果排序列的类型为 string,则大小写会影响排名结果。

密集:如果启用,则排名列将会是密集排名的排名列。 每个排名计数都将是连续数字,并且在出现不相上下的结果后不会跳过排名值。

排名列:生成的排名列的名称。 此列的类型为 long。

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

上述配置将使用传入的篮球数据,并创建一个名为“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

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