使用DB2以下查询:如何使用birt报告发送多个变量?
select * from table where num in ('1a2334','1a43432','1a34243','1b34325','1b4545')
现在,每当我得到的数据报告我得到的行像是从用户:
1a23344
1a43432
1a34243
1b34325
1b45454
然后我用记事本+ +更换RF与','因此它变成
'1a2334','1a43432','1a34243','1b34325','1b4545'
什么是我的opti用于创建一个报告,接受普通用户输入足够简单的报告?
这个特定的用户有一个带有多列的Excel工作表,我只使用第一列(上面提到的例子是第一列的行)。
@Simulant提供了一个很好的解决方案,但我需要这个从excel文件中获取值(最好通过复制粘贴)。我注意到他/她的解决方案使用静态值,所以我认为我需要动态值。 为了记录我使用脚本以下错误:
Error evaluating Javascript expression. Script engine error: TypeError: Cannot call method "replace" of null (/report/data-sets/script-data-set[@id="12"]/method[@name="beforeOpen"]#3) Script source: /report/data-sets/script-data-set[@id="12"]/method[@name="beforeOpen"], line: 0, text: __bm_beforeOpen(). (Element ID:1) Error.ScriptEvaluationError (1 time(s)) detail : org.eclipse.birt.report.engine.api.EngineException: There are errors evaluating script "var parameters = params["multiSelectParameter"].value; var replacesPart = "'" + parameters.join("', '") + "'"; this.queryText = this.queryText.replace("replaceMe", replacesPart);":
这看起来是一个很好的解决方案,但它不会像我预期的那样工作,用户将拥有一个包含值的列表(我以前没有,也不应该更新所有内容)。我需要一些东西,这样用户就可以选择一个excel行并将其复制粘贴到此报告中,而无需我的帮助。 – davejal