在 Azure 数据工厂中使用动态日期过滤器查询 SQL 表Azure 突触分析

问题描述

如何将日期时间参数传递给 ADF/突触分析中数据流活动源中的 sql 查询

我正在构建一个在事实表中执行增量加载的突触分析管道。首先,使用查找活动查询表获取最新的 LoadDate 值。然后将返回值设置为变量并作为参数传递给数据流活动。

pipeline1

我正在努力使数据流正常运行。我试图将 sql 查询与“Setvariable”活动中的过滤器值连接起来,但得到“未定义商店配置”。错误。当我仅将转换后的 LoadDate 值传递给数据流活动中的源查询时,也会发生同样的情况:

"SELECT top 10 * FROM dbo.facts WHERE timestamp > @pipeline().parameters.LastLoadedDate"

解决方法

请试试这个 SQL:

concat('select top 10 * FROM dbo.facts WHERE timestamp >',$yourParameterName)

在数据流中,不能使用像@pipeline().parameters.LastLoadedDate这样的管道表达式,而应该在数据流中使用参数值。

,

经过多次尝试和错误尝试后,此语法对我有用:

concat("SELECT * FROM dbo.facts WHERE timestamp > CONVERT(datetime2,'",$LastLoadedDate,"')")

关键是使用双引号来包装连接的字符串...