在 Azure 数据工厂(数据流)中筛选源数据以获取最新值
Filter source data in Azure Data Factory (Data Flow) to get most recent values
我的源中有以下数据:
我想过滤数据,使输出只包含最近日期的数据。
例如:DEF 有 2 个值 2.5, 3-Jan 和 4, 4-Jan。我想要具有最近日期 (4, 4-Jan) 的行,以便输出将包含以下结果。我如何在数据流中做到这一点?
我试过了successfully.Please按步骤操作
第一步:
创建一个 source
(我将 csv 文件与您提供的数据一起使用),RecentDate
列应该类似于“01-04-2020”而不是“04-Jan”,因为“04-Jan”可以不被排序。
Projection设置见图
第二步:
创建一个aggregate
,请在Group By
配置中选择'Movie'列,Aggregates
的设置请看图
第三步:
创建一个 new branch
(单击源代码右下角的“+”)
第四步:
创建join
和设置请看图片
最后一步:
创建一个 select
并删除两个重复的列('Movie' 和 'RecentDate')然后输出 sink
.
希望这些可以帮到你。
以下是全部图片:
image
更新答案:
下面是如何只输出最大速率:
这是我的测试数据:
Movie,MaxRate,RecentDate
ABC,3,02-01-2020
DEF,2.5,03-02-2020
DEF,4,04-01-2020
DEF,6,03-02-2020
这是总流量图:
total
首先step:create一个source.The这样的投影设置
source
第二步:创建聚合,请在Group By配置中选择'Movie'和'RecentDate'列,Aggregates设置如下:
aggregate
第三步:创建聚合,请在Group By配置中选择'Movie'列,Aggregates设置如下:
aggregate2
第四步:创建连接和设置请看图
join
最后一步:创建一个 select 并删除两个重复的列('Movie' 和 'RecentDate')
然后将'Rate'命名为'MaxRate',最后输出sink。
输出如下:
Movie,MaxRate,RecentDate
ABC,3,02-01-2020
DEF,6,03-02-2020
如果要输出min rate,只需在第二步中将max($$)
更改为min($$)
即可。
如果你想同时输出最大和最小速率,请像上面那样(最大速率流)直到创建select
完成然后New branch
做最小速率流直到创建select
完成,最后加入两个 select 并删除重复的列。
如果您还有其他问题,请告诉我。
我的源中有以下数据:
我想过滤数据,使输出只包含最近日期的数据。 例如:DEF 有 2 个值 2.5, 3-Jan 和 4, 4-Jan。我想要具有最近日期 (4, 4-Jan) 的行,以便输出将包含以下结果。我如何在数据流中做到这一点?
我试过了successfully.Please按步骤操作
第一步:
创建一个 source
(我将 csv 文件与您提供的数据一起使用),RecentDate
列应该类似于“01-04-2020”而不是“04-Jan”,因为“04-Jan”可以不被排序。
Projection设置见图
第二步:
创建一个aggregate
,请在Group By
配置中选择'Movie'列,Aggregates
的设置请看图
第三步:
创建一个 new branch
(单击源代码右下角的“+”)
第四步:
创建join
和设置请看图片
最后一步:
创建一个 select
并删除两个重复的列('Movie' 和 'RecentDate')然后输出 sink
.
希望这些可以帮到你。
以下是全部图片:
image
更新答案:
下面是如何只输出最大速率:
这是我的测试数据:
Movie,MaxRate,RecentDate
ABC,3,02-01-2020
DEF,2.5,03-02-2020
DEF,4,04-01-2020
DEF,6,03-02-2020
这是总流量图:
total
首先step:create一个source.The这样的投影设置
source
第二步:创建聚合,请在Group By配置中选择'Movie'和'RecentDate'列,Aggregates设置如下:
aggregate
第三步:创建聚合,请在Group By配置中选择'Movie'列,Aggregates设置如下:
aggregate2
第四步:创建连接和设置请看图
join
最后一步:创建一个 select 并删除两个重复的列('Movie' 和 'RecentDate') 然后将'Rate'命名为'MaxRate',最后输出sink。
输出如下:
Movie,MaxRate,RecentDate
ABC,3,02-01-2020
DEF,6,03-02-2020
如果要输出min rate,只需在第二步中将max($$)
更改为min($$)
即可。
如果你想同时输出最大和最小速率,请像上面那样(最大速率流)直到创建select
完成然后New branch
做最小速率流直到创建select
完成,最后加入两个 select 并删除重复的列。
如果您还有其他问题,请告诉我。