我正在尝试修改现有SQL报告的代码。此报告使用命令对象。目前,SQl代码说明如下:
WHERE **dept.definition_id ={?Measure}**
AND (({?Period Interval}=2
AND dept_qd_later.sum_facts_id IS NULL
AND dept_qd.DENOMINATOR_QUARTER IS NOT NULL)
OR ({?Period Interval}=3
AND dept_md_later.sum_facts_id IS NULL
AND dept_md.DENOMINATOR_MONTH IS NOT NULL))
LAST
我想修改"测量参数"接受多个价值观。我更新了命令参数框以接受多个值。我试图在下面的语句中修改SQL:
WHERE **dept.definition_id in({?Measure})**
AND (({?Period Interval}=2
AND dept_qd_later.sum_facts_id IS NULL
AND dept_qd.DENOMINATOR_QUARTER IS NOT NULL)
OR ({?Period Interval}=3
AND dept_md_later.sum_facts_id IS NULL
AND dept_md.DENOMINATOR_MONTH IS NOT NULL)))
LAST
但是,当我尝试插入多个度量ID时,报表不会运行。有人能帮我弄清楚我做错了什么吗?我是水晶新手所以请用简单的语言回答。谢谢!
答案 0 :(得分:0)
我认为大卫是对的。我尝试了类似于命令对象的东西,它在将逗号分隔列表输入参数提示时起作用。这意味着您不需要设置"允许多个值"参数选项。 如果字段是字符串,则必须使用引号输入值,就好像它们是SQL语句的一部分一样。