Jaspersoft Studio:绘制图形时出现问题

时间:2014-10-27 13:26:28

标签: csv charts jasper-reports

我是 JasperReports / Jaspersoft Studio 的新用户,并且在使用Charts方面苦苦挣扎。专家们可能会发现它非常原始,我可能会在这里遗漏一些非常基本的东西......以下是我要做的事情的简要说明 1)数据源是csv,带有以下字段
Sr_No,URI,total_time_taken,no_of_requests,avg_time_per_req,most_expensive_req,timestamp_of_exp_req
2)csv中有大约40,000行 3)我想创建一个包含所有40,000行的报告(基于所有字段的简单列式报告,按降序排列no_of_requests)。这是JasperStudio的一块蛋糕! 4)接下来,我想要一个摘要页面"前10"饼图中的URI,其中饼图系列的值为no_of_requests,键为URI(非常简单)

我在JasperStudio中创建了一个报告,数据源为csv。我已经选择了所有字段,并且没有对我的主数据集查询应用过滤器(即我在创建报告时获得的默认数据集)。这有助于我在"详细信息"中打印所有40,000行。报告的一部分...所以第一部分要小心了。

对于摘要页面,我需要一个饼图,我的挑战是获得"前10名"来自整个数据集的记录。谢天谢地,我的" top"条件基于no_of_requests字段,我的数据已根据该字段进行排序。不过,我需要一个数据子集来绘制有意义的图表。为了实现这一点,我尝试创建一个只有两个字段的新数据集,即URI(它是Pie的键)和no_of_requests(它是值)。我还应用了过滤表达式"($ V {REPORT_COUNT}> new Integer(10))? false:true"到我的新数据集,以便我得到"前10"来自我已排序数据的记录。我通过在"数据预览"中运行它来验证过滤器是否正常工作"数据集和查询"的选项卡对话。我选择了新的数据集作为"数据集"为我的饼图..

当我运行报告时(在JasperStudio的预览模式下),我得到40,00行打印更正(在详细信息区域中),但摘要为空。它没有绘制饼图。 我尝试使用条形图,但结果是一样的。在这种情况下的摘要仅显示X轴和Y轴,没有数据点。该图表为空。

我错过了什么吗?

在这方面的任何帮助将受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

我创建了两个变量,我将在饼图中使用它来从数据集中选择前N个值。为了达到这个目的,我使用了$ V {REPORT_COUNT}变量,如下所示

IF($ V {REPORT_COUNT}< = N,$ F {Your_Field},"") - 如果变量是字符串IF($ V {REPORT_COUNT}< = N,$ F {Your_Variable},0) - 如果变量是整数。

用您想要的数字替换N.如果您需要前10个值,那么N = 10

现在我使用这两个变量来创建我的饼图。

我写了一篇博客,因为我无法在这里上传图片。

请检查相同的详细解决方案。

http://www.rajeshsirsikar.com/selecting-top-n-values-from-a-csv-datasource-jaspersoft-studio/