我正在使用 Pentaho 报表设计器和 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 的错误 No signature of method: 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()
任何帮助,将不胜感激。