0
 药物项目计数 总成本 成本/项目 % 总成本 累计 % 总成本
 优泌乐 10 250 $25.00 6.7% 6.7%
 Novolog 5 100 $20.00 2.7% 9.4%
 阿皮德拉 20 600 $30.00 16.1% 25.5%
 Velosulin 10 800 $80.00 21.5% 47.0%
 来得时 50 1200 $24.00 32.3% 79.3%
 勒维米尔 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

关于如何获取这个累积总和并获得累积百分比的任何想法?

4

1 回答 1

1

显示运行总数很简单(正如您在问题中所展示的那样)。运行百分比的问题是您需要先知道总数。正如您所指出的,从概念上讲,您需要稍后评估分母。但没有办法具体说明。

当我过去这样做时,我是这样做的:将您当前的整个报告视为子报告。报告中唯一需要的更改是添加一个名为 $P{GrandTotal} 的参数。然后创建一个重新使用相同查询的全新报表。它计算 GrandTotal 并将其传递给子报表。主报表根本不需要任何显示元素。现在子报表将总计作为参数,您可以将运行百分比设置为$F{RUNNING_SUM} / $P{GrandTotal}.

注意:主报表实际上并不需要运行完全相同的查询。使用修改后的查询来计算数据库中的总数可能是有意义的。只要它以某种方式计算总数,您就可以了。

于 2012-07-31T21:18:37.020 回答