Jasper reports 如何使用查询对iReport中的特定行求和?

Jasper reports 如何使用查询对iReport中的特定行求和?,jasper-reports,ireport,Jasper Reports,Ireport,我正在尝试使用iReport创建摘要表。我的数据集正在返回一个购买清单和价格。差不多 牛奶1.23美元 鸡肉,5.45美元 牛奶1.44美元 等等。我希望我的表能够按产品细分我的项目。我想要一个包含列的表: #购买产品的次数(产品牛奶所在的行) 在产品上花费的美元总额(产品为牛奶时的价格总和) 和产品的平均价格(第2列除以第1列) 我该怎么做?我一直在处理变量,我可以得到所有价格的总和,但我不知道如何使用更复杂的查询来处理数据子集 这很容易。您可以在乘积字段上创建组,并在此组上创建两个变量:

我正在尝试使用iReport创建摘要表。我的数据集正在返回一个购买清单和价格。差不多

牛奶1.23美元

鸡肉,5.45美元

牛奶1.44美元

等等。我希望我的表能够按产品细分我的项目。我想要一个包含列的表:

  • #购买产品的次数(产品牛奶所在的行)
  • 在产品上花费的美元总额(产品为牛奶时的价格总和)
  • 和产品的平均价格(第2列除以第1列)

我该怎么做?我一直在处理变量,我可以得到所有价格的总和,但我不知道如何使用更复杂的查询来处理数据子集

这很容易。您可以在乘积字段上创建组,并在此组上创建两个变量:用于计算结果和平均和。借助内置变量,您可以计算和显示此组中的元素数

这是一个工作示例:


此示例将CSV文件作为数据源。您可以编辑查询-用于使用SQL查询获取数据

iReport中的报表设计为:

结果将是(通过iReport中的预览):

你应该阅读这篇文章和这篇文章

记住在分组使用之前,您应该对数据进行排序。 Jasperproge.org上关于分组和排序的帖子引用如下:


为了获得准确的数据表示,数据源中的数据应该已经根据报表中使用的组表达式进行了排序。您可以通过报表查询执行数据排序,也可以使用元素。

谢谢!我错过的技巧是团体乐队。关于iReport,我一直与之斗争的部分是乐队。同一变量将显示不同的结果,这取决于它进入的波段。为什么数据排序与否很重要?作为我原始问题的补充。。。有没有办法用一个乘数来表示我的总和?我有一个额外的列,state,指示它是在哪个州购买的。我有一个STATE\u SALES\u TAX表,我想查询每个记录。如果我在新泽西买牛奶,销售税是1.06。我在纽约又买了一加仑,是1.08。有没有一种方法可以让我用另一张表中的乘数来计算牛奶的总消费?牛奶消费总额=总和(eachMilkPx*salesax(statePurchased))是的,您可以创建所需的任何变量表达式。