如何获得BIRT中的前10名值

时间:2015-03-22 22:51:18

标签: java charts birt

我有一个麻烦,我需要获得前十大最繁忙的车站,现在,我有这些列(公交车数量,日期时间,车站名称)。现在,我可以根据用户的选择动态更改时间范围。但是,BIRT只是在一个图表中显示所有电台的名称。我怎样才能获得十大电台的名字?我试图在我的图表中添加过滤器,但是在我添加它之后,它只显示了一个站名。任何人都可以帮我解决我的问题吗? (在我的图表中,X轴是站名,Y轴是总线数)

1 个答案:

答案 0 :(得分:1)

这可能是因为站点数据是在图表视图中即时聚合的,而您添加的前10个过滤器是在聚合之前过滤详细信息行。据我所知,我们无法指定应该在组级别应用图表过滤器,例如我们可以使用表格元素。

因此,您应该在渲染图表之前聚合数据。有几种方法可以做到这一点:

  • 汇总数据集中的数据(SQL group by,...)
  • 使用组在隐藏的birt表元素中聚合,并将图表基于此表。请注意,在这种情况下,必须在表元素
  • 中定义前10个过滤器
  • 使用数据立方体进行聚合,并将图表基于此数据立方体或交叉表

如果你不能按预期工作,对于这类问题你应该发布一个基于“经典模型”数据库样本的.rptdesign。