我正在使用Pentaho Report Designer和Groovy脚本来构建报告。我已经能够返回数据并利用参数排序。我难以理解的部分是动态地而不是手动地填充我的参数列表。我可以在查找查询后运行限制,但其他文档将添加其他不同的值。
这是我使用groovy的限制: 代码:
def columnNames = ["<columnName"] as String[]
def columnTypes = [String.class] as Class[]
TypedTableModel model = new TypedTableModel(columnNames, columnTypes);
def docs = meter.find(new BasicDBObject("<name>", "<value>")).limit(26)
while (docs.hasNext()) {
def doc = docs.next()
model.addRow([ doc.get("<name>").getString("<sub_docname>")] as Object[]);
}
docs.close()
我尝试添加distinct来获取唯一值而不是find但是收到有关hasNext的错误 没有方法签名:com.mongodb.BasicDBList.hasNext() 代码:
def docs = meter.distinct("<name.subdocname>")
while (docs.hasNext()) {
def doc = docs.next()
model.addRow([ doc.get("<name>").getString("<subdocname>")] as Object[]);
}
docs.close()
任何帮助都将不胜感激。