如何实现图表的翻页

<< Click to Display Table of Contents >>

当前位置:  脚本 > 常用脚本案例 

如何实现图表的翻页

Previous pageReturn to chapter overviewNext page

某零售商报表,通过柱状图和表格展示了利润的详细情况。该表包含了上千行数据。受限于报表和屏幕的尺寸,只能通过鼠标滑动,查看数据。可是,对表格进行翻页,无法联动图表,大大限制了我们对数据的多维度分析。

通过脚本,我们就可以对报告进行翻页,翻页时,表格和图表中的数据都会发生变化。

以下面的简单报告为例。我们对它进行分页。

13case1

1.为报告中的条形图和表格,添加排名。

1.1为表格添加排名计算。

13case2

1.2为图表添加排名计算

1.2.1为图表添加一个新的度量字段,并设置为“排名计算”

13case3

1.2.2设置标记的重叠方式为“重叠”。

13case4

1.2.3因为排名的标记,我们不需要在图表中体现出来。所以设置排名标记的颜色为背景色。此时,就看不到图表中的排名标记了。

13case5

2.添加文本组件、文本参数组件、提交组件,为报告增加输入页码的文本框和上下翻页的按钮。其中,可以输入数字的组件,为本文参数组件。

13case6

3.对“跳转”、“上页”、“下页”分别设置脚本,实现跳转到指定页,跳转到上一页,跳转到下一页的功能。

3.1设置“上页”提交按钮的脚本。

例如:

if(文本参数3.value>1){

文本参数3.value=integer(文本参数3.value-1)

param['a']=(文本参数3.value-1)*文本参数1.value+1

param['b']=文本参数1.value*文本参数3.value

}

说明:文本参数3组件,显示了当前报告处于哪一页。用户也可以在该组件中输入新的页码,点击“跳转”,就可以跳转到新的页面。如果用户用来显示当前页码的组件不是文本参数3组件,那么需要在脚本中改成相应的组件名称。

参数a和参数b,用来控制图表和表格中显示多少条数据。具体的用法,请参考步骤4。

 

3.2设置“下页”提交按钮的脚本。

例如:

if(文本参数3.value<文本1.data){

文本参数3.value=integer(parseInt(文本参数3.value)+1)

param['a']=(文本参数3.value-1)*文本参数1.value+1

param['b']=文本参数1.value*文本参数3.value

}

说明:文本参数3组件,显示了当前报告处于哪一页。文本1组件,显示报告共有多少页。文本参数1组件,显示每页中每个组件显示多少条数据。用户需要根据报告中实际的组件名称,在脚本中改成相应的组件名称。

参数a和参数b,用来控制图表和表格中显示多少条数据。具体的用法,请参考步骤4。

 

3.3设置“跳转”提交按钮的脚本。

例如:

if(文本参数3.value<=文本1.data&&文本参数3.value>=1){

param['a']=(文本参数3.value-1)*文本参数1.value+1

param['b']=文本参数1.value*文本参数3.value

}else{

文本参数3.value=integer(1)

debug("请输入正确的页数")

}

说明:文本参数3组件,显示了当前报告处于哪一页。文本1组件,显示报告共有多少页。文本参数1组件,显示每页中每个组件显示多少条数据。用户需要根据报告中实际的组件名称,在脚本中改成相应的组件名称。

参数a和参数b,用来控制图表和表格中显示多少条数据。具体的用法,请参考步骤4。

 

4.设置图表和表格的过滤条件,通过过滤条件,控制数据的显示行数。

表格与图表的过滤器设置方法相同,下文以表格为例。

4.1选中表格,点击右侧窗格中的设置>过滤器。

13case7

4.2在过滤器中的汇总过滤器,设置过滤条件,如下图。

13case8

该条件会筛选出排名在a和b之间的数据。参数a和b的值,取决于步骤3的脚本,也就是取决于文本参数1组件和文本参数3组件。假如参数a的值为1,b的值为4,那么表格中将显示预算利润最多的4项数据。

对报告中所有需要翻页的图表、表格设置过滤条件,就可以实现报告的翻页。