Drug Item Count Total Cost Cost/Item % Total Cost Cumulative % Total Cost Humalog 10 250 $25.00 6.7% 6.7% Novolog 5 100 $20.00 2.7% 9.4% Apidra 20 600 $30.00 16.1% 25.5% Velosulin 10 800 $80.00 21.5% 47.0% Lantus 50 1200 $24.00 32.3% 79.3% Levemir 35 770 $22.00 20.7% 100.0%
我在iReport中有一个详细的乐队成功计算每件物品的成本和总成本的百分比 - 见上面的模拟。对于总费用的百分比,我采用$ F {cost} / $ V {sum_all_costs}。不过,我在总成本的累积百分比方面遇到了一些麻烦。我可以得到一个显示累积和的变量:
Name: RUNNING_SUM
Calculation: Sum
Reset type: Report
Increment type: None
Variable Expression: $F{cost}
Evaluation Time: Now <-- when the variable is used in the detail band
有关如何获取此累计金额并获得累积百分比的任何想法?
答案 0 :(得分:1)
显示运行总计很简单(正如您在问题中所示)。运行百分比的问题在于您需要首先了解总数。正如您所指出的,从概念上讲,您需要稍后评估分母。但是没有办法指明它。
当我在过去这样做时,我这样做:将整个当前报告视为子报告。报告中唯一需要的更改是添加一个名为$ P {GrandTotal}的参数。然后创建一个重新使用相同查询的全新报告。它计算GrandTotal并将其传递给子报表。主报告根本不需要任何显示元素。既然子报表以总计作为参数,您可以将运行百分比设为$F{RUNNING_SUM} / $P{GrandTotal}
。
注意:主报告实际上不需要运行完全相同的查询。使用修改后的查询来计算数据库中的总数可能是有意义的。只要它以某种方式计算总数就可以了。