在轮廓中,如何按组中的值向下过滤到前N个?

问题描述

在分析中,每行包含航班号,我想过滤掉我的活动数据集,以仅保留每个承运人三个最延迟的航班号。

如何在Contour中完成此操作?

解决方法

这是一个两步过程:(1)分组和排序,以及(2)过滤器。

组和顺序:添加一个表达式面板,并通过为每条记录分配一个行号来创建新列。重置每个运营商组中的行号,并确保按飞行延迟时间的顺序分配行号。

row_number() OVER ( PARTITION BY "carrier" ORDER BY "delay_duration" DESC ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW ) 

过滤器:添加一个过滤器板,然后选择上面创建的小于或等于3的行号,以仅保留每个承运人的三个最延迟的航班。