映射数据流中的排名转换
适用于: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
相关内容
使用筛选器转换根据排名值筛选行。