如何获取BIRT中的前10个值
How to get the top 10 value in BIRT
我有一个麻烦,我需要获得前 10 个最繁忙的车站,现在,我有这些列(公共汽车数量、日期时间、车站名称)。现在,我可以根据用户的选择动态更改时间范围。但是,BIRT 只是在一张图表中显示所有站点的名称。如何获得前 10 个电台的名称?我试图在我的图表中添加过滤器,但添加后,它只显示一个站名。谁能帮我解决我的问题? (在我的图表中,X轴是站名,Y轴是公交车数量)
这可能是因为站点数据是在图表视图中即时聚合的,而您添加的前 10 个过滤器在聚合之前过滤了详细信息行。据我所知,我们无法指定应在组级别应用图表过滤器,例如我们可以使用 table 元素来做到这一点。
因此,您应该在呈现图表之前聚合数据。有几种方法可以做到这一点:
- 聚合数据集中的数据(SQL 分组依据,...)
- 将隐藏的 birt table 元素与组聚合,并将图表基于此 table。请注意,在这种情况下,必须在 table 元素
中定义前 10 个过滤器
- 使用数据立方体进行聚合,并将图表基于此数据立方体或交叉表
如果你不能让它按预期工作,对于这种问题你应该post一个基于"Classic models"数据库样本的.rpt设计。
我有一个麻烦,我需要获得前 10 个最繁忙的车站,现在,我有这些列(公共汽车数量、日期时间、车站名称)。现在,我可以根据用户的选择动态更改时间范围。但是,BIRT 只是在一张图表中显示所有站点的名称。如何获得前 10 个电台的名称?我试图在我的图表中添加过滤器,但添加后,它只显示一个站名。谁能帮我解决我的问题? (在我的图表中,X轴是站名,Y轴是公交车数量)
这可能是因为站点数据是在图表视图中即时聚合的,而您添加的前 10 个过滤器在聚合之前过滤了详细信息行。据我所知,我们无法指定应在组级别应用图表过滤器,例如我们可以使用 table 元素来做到这一点。
因此,您应该在呈现图表之前聚合数据。有几种方法可以做到这一点:
- 聚合数据集中的数据(SQL 分组依据,...)
- 将隐藏的 birt table 元素与组聚合,并将图表基于此 table。请注意,在这种情况下,必须在 table 元素 中定义前 10 个过滤器
- 使用数据立方体进行聚合,并将图表基于此数据立方体或交叉表
如果你不能让它按预期工作,对于这种问题你应该post一个基于"Classic models"数据库样本的.rpt设计。