Jasper reports 累计占总数的百分比 药品项目计数总成本/项目百分比总成本累计百分比总成本 Humalog 10250美元25.00 6.7%6.7% Novolog 5100美元20.00 2.7%9.4% Apidra 20600$30.00 16.1%25.5% Velosulin 10800$80.00 21.5%47.0% 兰特斯50 1200美元24.00 32.3%79.3% Levemir 35770美元22.00 20.7%100.0%

Jasper reports 累计占总数的百分比 药品项目计数总成本/项目百分比总成本累计百分比总成本 Humalog 10250美元25.00 6.7%6.7% Novolog 5100美元20.00 2.7%9.4% Apidra 20600$30.00 16.1%25.5% Velosulin 10800$80.00 21.5%47.0% 兰特斯50 1200美元24.00 32.3%79.3% Levemir 35770美元22.00 20.7%100.0%,jasper-reports,ireport,Jasper Reports,Ireport,我在iReport中有一个细节栏,它成功地计算了每件商品的成本和总成本的百分比——请参见上面的模型。对于总成本的百分比,我取$F{cost}/$V{sum_all_costs}。不过,我在总成本的累计百分比方面有点麻烦。我可以得到一个显示累计和的变量: Drug Item Count Total Cost Cost/Item % Total Cost Cumulative % Total Cost Humalog 10 250

我在iReport中有一个细节栏,它成功地计算了每件商品的成本和总成本的百分比——请参见上面的模型。对于总成本的百分比,我取$F{cost}/$V{sum_all_costs}。不过,我在总成本的累计百分比方面有点麻烦。我可以得到一个显示累计和的变量:

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%
Name:RUNNING\u SUM
计算:总和
重置类型:报告
增量类型:无
变量表达式:$F{cost}

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

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


注意:主报表实际上不需要运行完全相同的查询。使用修改后的查询来计算数据库中的总数可能是有意义的。只要它能算出总数,你就万事俱备。

谢谢,马特!我会试一试如果我不理解你的问题很抱歉但是。。。我认为累计总和/总计=累计百分比(以小数形式)您能澄清“累计百分比”的含义吗?是的,但我必须为(运行总和)/(所有成本总和)设置评估时间。我不知道如何让一个文本字段包含一个等式,其中分子现在被计算,分母在报告完成时被计算。当您在列表中迭代时,每个元素占总数的百分比将占总数的累积百分比。如上所述,Humalog为6.7%,Novolog为2.7%。在Novolog行中,累计占总数的百分比现在是9.4%。我也没有正确理解这个问题。你能告诉我们你有什么以及你需要实现什么吗?
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