如何在Azure数据流窗口转换中添加条件表达式

iezvtpos  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(100)

如何在窗口函数的窗口列下添加iif条件表达式。我想做的是:

iif(ID>5,(lag(op_hours,0)+lag(op_hours,1)+lag(op_hours,2)+lag(op_hours,3)+lag(op_hours,4)+lag(op_hours,5))/6,toDouble(4455))

。但是,运算式产生器会掷回错误:ID>5处的“列应在聚合/窗口函数中换行”。
任何帮助都将不胜感激。

vaqhlq81

vaqhlq811#

如何在Azure数据流窗口转换中添加条件表达式
在Windows转换中,不能将列名作为单个实体提供。必须使用聚合函数Windows函数传递列名
我试图重现您的场景,但出现类似错误:

要解决此问题,我执行了以下步骤:

首先,我创建了一个Net Sales列,并将Lag表达式提供给windows转换,以获得确切的值:

它用Lag表达式给出了特定窗口的所有值的输出。

在我创建了一个同名的派生列并将条件语句作为

iif(Id>5,{ Net sales },toDouble(4455))

它正在将Id大于5的Net Sales列值更新为十进制的4455。

输出:


指令集

相关问题