多维度分析报表、网页框,多维度分片表,多维度分片报表。
1. 问题描述
用户利用报表分析数据,往往希望在不同的角度对数据进行观察分析。这样的需求,在FR报表中体现出来就是给一组按钮,分别代表用户所需的不同观察角度,然后点击不同的按钮时就会显示出不同的报表。而这些报表都是根据不同角度制作出来的分析报表,具体效果如下:
如下是点击总体概况按钮,展示的报表内容:
如上还可点击其他按钮,查看所需的报表:
2. 报表的设计思路
在一张报表,如:总报表(multi_report.cpt)中,先制作的如上的几个按钮,可把每个按钮当成报表中的一个参数。点击某一个按钮即选择某一个参数时,就会展示相应的报表信息。我们需要做的就是怎么将这多张报表放在一张报表(总报表)中,通过选择参数来展现。
FR已提供网页框控件,可通过设置参数选择不同的报表,通过iframe的方式嵌入到一张主报表中。各报表模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\demo\analytics\multi_report文件夹下。
总体营收情况报表(all.cpt)、时间营收分析报表(datetime.cpt)、各产品营收分析报表(product.cpt)、地区营收分析报表(district.cpt)、各城市营收分析报表(subcompany.cpt)
具体总报表的制作如下。将上面的五张报表,用网页框嵌入到总报表中,设置其对应每张报表的按钮,当用户点击按钮时,可直接加载显示出所需的某张报表。
3. 实现步骤
3.1 添加参数
选择模板>模板参数,如:添加一个模板参数,如:命名为table。
3.2 参数界面样式设置
点击报表主体上方的编辑按钮
进入参数界面,按照下图设置参数界面样式: 其中总体概况,按时间统计,按产品统计,按地区统计,按分公司统计这五个控件为按钮控件,下方的控件为文本控件,并设置属性为不可见。
注:将table参数的默认值设置all.cpt,并将查询按钮和table参数的文本框控件设置为不可见。
3.3 按钮JS事件设置
下面要做的是点击相应的按钮,给参数table赋值为对应的报表名称并直接查询出数据,因此给按钮控件增加点击事件。
如总体概况控件的点击事件的JS如下:
其余控件同样增加点击事件及js代码,只需将js中将table赋值为不同的报表即可。
3.4 网页框控件设置
如上五个按钮意义就是给报表参数table赋不同值,因此我们用网页框嵌入报表时,可根据table参数的值嵌入对应的报表。
点击设计界面上的编辑按钮回到模板设计界面,合并一些单元格,添加如下网页框控件:
其中参数reportlet对应的值为:"demo/analytics/multi_report/"+$table
上面公式的含义:依据table的值,选择嵌入对应的模板。
3.5 保存与预览
模板保存,如这里命名为multi_report.cpt。已完成的模板,可参见%FR_HOME%\WebReport\WEB-INF\reportlets\demo\analytics\multi_report\multi_report.cpt
此报表制作完成,预览总报表(multi_report.cpt)时,地址栏后面加&op=form,然后根据需要点击不同的按钮即可查看到不同的报表。
注:总报表除了可以用上述的模板做之外,同样也可以通过表单完成该需求,已完成的表单可参见%FR_HOME%\WebReport\WEB-INF\reportlets\demo\analytics\multi_report\all.frm
返回顶部