使用group by子句在Azure Data Factory中创建增量加载

时间:2017-07-29 15:12:28

标签: sql-server azure azure-data-factory

我有以下SQL语句:

Select max(id) as id, device_id, max(current_value) as value, 
RoundTimeUp(Store_time,15) as Displaydate
from table
group by device_id, RoundTimeUp(Store_time,15)

RoundTimeUp是将[store_time]舍入到下一个四分之一小时的函数,即14:04 - > 14:15,19:43 - > 19:45等。

当我尝试创建相同的查询时,数据工厂中的增量加载, 我将sample语句修改为此语句:

$$Text.Format('select max([id]) as [id], device_id, 
max([current_value]) as value, [dbo].[RoundtimeUp](Store_time,15) as 
DisplayDate from table
where store_time >= \'{0:yyyy-MM-dd HH:mm}\' AND 
store_time < \'{1:yyyy-MM-dd HH:mm}\'
group by device_id, RoundtimeUp(Store_time,15)', WindowStart, WindowEnd)

然而,我收到一个错误:

  

System.InvalidOperationException:无效令牌:(Sql-statement),位于13,位于Oopc.Generated.Tokenizer 2.NextToken()位于Microsoft.DataPipeline的Oopc.Generated.ShiftReduceParser 4.Parse(ITokenizer 1 tokenizer)。 MacroLanguage.MacroRuntime.Evaluate(String expression,IDictionary 2 localVariables)。

如果我现在在SQL代码中输入了任何拼写错误,那么SQL语句在没有宏表达式的情况下工作得很好。只要宏表达式结束,常规select语句也可以工作。 如何使此声明生效?我是否需要在组中添加第二个$$文本?

0 个答案:

没有答案