我必须制作一个包含3个参数的birt报告,这些参数应该在查询中使用。参数是两个日期和一个字符串。
我尝试在beforeOpen数据集中执行此操作,如sql查询所示,但它没有用。
我在beforeOpen表达式数据集中写道:
this.queryText = '{
"findQueryExpr": { "ref": "'+params["ref"].value+'", "sts": { $gt: "'+params["startDate"].value+'" , $lte: "'+params["endDate"].value+'"} } ,
"operationType" : "FIND" ,
"collectionName" : "events",
"queryReadPreference" : "secondary" ,
"selectedFields" : [ "ref" , "sts" , "rts" , "c.value" , "c.type" , "c.quality" , "r.value" , "r.type" , "r.quality"]
}';
无论参数如何,查询都会占用集合中的文档总数。
可以使用参数在Birt中进行mongo查询吗?
答案 0 :(得分:0)
双击您的数据集,选择“属性绑定”并在查询文本中输入您的函数。
您还应将查询字符串设置为全局持久变量,并将其打印在报表上以进行调试,确保最终语句有效。日期可能在报告和数据库中采用不同的格式,导致不限制结果集:
reportContext.setPersistentGlobalVariable("testglobal", queryString);// in the script of your data source.
reportContext.getPersistentGlobalVariable('testglobal');//in a dynamic text fild.