过滤 Azure 数据工厂(数据流)中的源数据,以获取最新的值。

问题描述 投票:0回答:1

我的源文件中有以下数据。

enter image description here

我想过滤数据,使输出只包含最近日期的数据,例如: DEF有2个值2.5,3-Jan和4,4-Jan,我想过滤最近日期的行(4,4-Jan),这样输出就会包含以下结果。我如何在数据流中做到这一点?

enter image description here

azure-data-factory azure-data-factory-2
1个回答
2
投票

我试过了,成功了,请按照步骤操作。

第一步:创建一个 source(我用的是csv文件,里面有你提供的数据)。RecentDate 栏目应该是'01-04-2020',而不是'04-Jan',因为'04-Jan'无法排序,投影的设置见图。

第二步:创建一个 aggregate请选择 "电影 "一栏,在 Group By 配置,以及设置 Aggregates 请看图。

第三步:创建一个 new branch(点击源头右下角的 "+")

第四步:创建一个 join 和设置请看图片。

最后一步:创建一个 select 并删除两个重复的列('Movie'和'RecentDate')然后输出 sink.

希望这些能帮到你。

以下是所有图片。

图片


更新答案。

下面是如何只输出最大速率。

这是我的测试数据 Movie,MaxRate,RecentDate ABC,3,02-01-2020 DEF,2.5,03-02-2020 DEF,4,04-01-2020 DEF,6,03-02-2020 这是总流量图像。

总流量

第一步:创建一个源,投影的设置是这样的。

源头

第二步:创建聚合,请在Group By配置中选择'Movie'和'RecentDate'列,聚合的设置如下:。

汇总

第三步:创建聚合,请在Group By配置中选择'电影'一栏,聚合的设置如下:。

汇总2

第四步:创建加盟和设置请看图示。

加入

最后一步:创建一个select并删除两个重复的列('Movie'和'RecentDate'),然后将'Rate'命名为'MaxRate',最后输出汇。

下面是输出。 Movie,MaxRate,RecentDate ABC,3,02-01-2020 DEF,6,03-02-2020

如果你想输出最小速率,只需要把 max($$)min($$) 在第二步中,如果你想同时输出最大和最小流量,请像上面一样(最大流量流量)。

如果你想同时输出最大和最小流量,请像上面一样(最大流量),直到创建了selectNew branch 做最小流量,直到创建 select 完成,最后连接两个选择和删除重复的列。

如果你有其他问题,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.