我正在尝试在 OBDC 的表达式生成器 SQL 命令中运行一个变量。
表达式如下所示
"SELECT Date(Curdate()) AS 'Load Date',
Sum(CASE
WHEN pomstatus = 'TBR'
AND Date(portdate) < Curdate() THEN 1
ELSE 0
END) AS 'Total Removes',
Min(CASE
WHEN pomstatus = 'TBR' THEN portdate
ELSE 'N/A'
END) AS 'Oldest Removes',
Sum(CASE
WHEN pomstatus = 'TBR'
AND Date(portdate) < Curdate()
AND Date(portdate) > Subdate(Curdate(), @[User::Days] )THEN 1
ELSE 0
END) AS 'Total New Removes',
Sum(CASE
WHEN pomstatus = 'TBR'
AND acctype = 'b'
AND Date(portdate) < Curdate() THEN 1
ELSE 0
END) AS 'SOHO Removes',
Sum(CASE
WHEN pomstatus = 'C-U'
AND Date(dd) < Curdate() THEN 1
ELSE 0
END) AS 'Total Confirmed U',
Min(CASE
WHEN pomstatus = 'C-U' THEN dd
ELSE 'N/A'
END) AS 'Oldest Confirmed U',
Sum(CASE
WHEN pomstatus = 'C-U'
AND discoservice LIKE '%s%'
AND Date(dd) < Curdate()THEN 1
ELSE 0
END) AS 'Total Confirmed Satellite',
Min(CASE
WHEN pomstatus = 'C-U'
AND discoservice LIKE '%s%' THEN dd
ELSE 'N/A'
END) AS 'Oldest Confirmed Satellite',
Sum(CASE
WHEN pomstatus = 'C-U'
AND Date(dd) < Curdate()
AND Date(dd) > Subdate(Curdate(), @[User::Days] ) THEN 1
ELSE 0
END) AS 'Total New Confirmed U',
Sum(CASE
WHEN pomstatus = 'pwo' THEN 1
ELSE 0
END) AS 'Total Pending WO',
Sum(CASE
WHEN pomstatus = 'etbr' THEN 1
ELSE 0
END) AS 'Total Escalated TBR',
Sum(CASE
WHEN pomstatus = 'wtnr' THEN 1
ELSE 0
END) AS 'Total Waiting TNR'
FROM POM.mainorders
WHERE acctype <> 'c';"
我收到以下错误:
错误弹出窗口
我测试了相同的脚本,但用数字 2 替换了 2 个变量并且它成功了,所以我知道脚本本身正在运行。在我看来,变量没有正确传递。
至于我如何填充变量,该变量是从执行 SQL 任务中填充的,如下图所示:
执行 SQL 任务
执行 SQL 任务
查询生成器结果