Graph BIRT设计器:确定列中值占总值的百分比

Graph BIRT设计器:确定列中值占总值的百分比,graph,scripting,birt,Graph,Scripting,Birt,我在BIRT Designer中有一个数据集,有两列,一列是星期几的缩写名称(Su、M、Tu等),另一列是星期几的数字表示,从0开始到6(0、1、2等)。我想确定一周中的每一天占总行数的百分比。例如,如果我总共有100行,其中12行对应于Su/0,那么总行的12%由Su组成 我想在BIRT和graph(条形图)中执行相同的计算,即每天占总数的百分比。我正在学习如何使用BIRT,并假设在创建数据集或在创建图表时指定行时需要编写一些脚本。任何提示都将不胜感激。使用计算列 编辑数据集>计算列 最简单的

我在BIRT Designer中有一个数据集,有两列,一列是星期几的缩写名称(Su、M、Tu等),另一列是星期几的数字表示,从0开始到6(0、1、2等)。我想确定一周中的每一天占总行数的百分比。例如,如果我总共有100行,其中12行对应于Su/0,那么总行的12%由Su组成

我想在BIRT和graph(条形图)中执行相同的计算,即每天占总数的百分比。我正在学习如何使用BIRT,并假设在创建数据集或在创建图表时指定行时需要编写一些脚本。任何提示都将不胜感激。

使用计算列

编辑数据集>计算列

最简单的方法是为一周中的每一天,列出一列对每一行进行计数。如果一周中的某一天是特定值,则可以使用单独的列添加计数

if (row["Day"] == "Su"){
1
}
我应该补充一点:您可以在表中使用“数据”元素来计算百分比。也可以使用“动态文本”项,但数据项提供了一个绑定值,您可以在以后需要时更好地使用该值

编辑 为了得到总行数,我给我的列命名为“All”


对于表达式,使用值“1”

并从詹姆斯·詹金斯那里得到一些灵感,我想我找到了答案。最后它非常简单,但我所需要做的只是创建一个新的计算列,而不是添加一个表达式,我只是将聚合设置为“COUNT”。这将统计表中的所有行,并将总数计入每行。这样你就可以在你可能需要做的任何计算中使用这个总数。为了清晰起见,我添加了一个屏幕截图


谢谢你的建议,但我想我可能已经想出了一个非常简单的方法来做我想做的事情,我只是需要更多的信息。我所做的是计算每天的行数,然后除以总行数得到百分比。这目前可以使用,但不可扩展。您是否知道如何提取总行数并在BIRT Designer中的表达式中使用它?您现在如何计算行数?我不知道如何在不使用代码计算行数的情况下获取行数。您知道我可以使用什么代码以及将其放在何处(定义数据时计算列或脚本)?我浏览了互联网和他们的文档,但似乎找不到如何获得总行数。