<< Click to Display Table of Contents >> 报告级别的脚本复制链接 |
用户可通过脚本来实现对整个报告的控制,如通过脚本来实现对报告的定时刷新。通过报告的脚本也可以实现对各个组件的整体控制。
报告的脚本分为装载时运行的脚本和变化时运行的脚本,两个类型的脚本的执行条件不同,装载时运行的脚本是在报告打开时运行,而变化时运行的脚本是在组件有变化时运行。
1.脚本入口
在右侧工具栏中选择【报告 > 高级> 脚本】,即可打开脚本对话框。
2.脚本对话框
【装载时运行】即在新打开报告或预览报告时运行脚本内容。装载时运行的脚本只在它第一次加载报告时执行一次。非常适合一次性初始化任务,如定义报告参数和变量。在装载时运行脚本中声明的变量具有全局范围,可以被各个组件脚本访问。要在别处声明同名的局部变量,请在声明中使用“var”关键字来消除歧义。
【变化时运行】即在组件变化时运行脚本的内容。变化时运行处理类似于装载时运行处理,在加载报告时,在装载时运行脚本之后执行。但是,与装载时运行的脚本不同的是,每次刷新报告时都会执行一次变化时运行的脚本。可以从变化时运行里添加脚本,动态修改多个元素。在变化时运行的脚本中声明的变量将具有全局范围,并且可以被各个组件脚本访问。要在别处声明同名的局部变量,请在声明中使用“var”关键字来消除歧义。
3.报告级别的脚本应用举例
例如有以下柱图组件,“图表1”统计了不同产品的总销售额总额,现在想要通过“图表2”柱图对比最高销售额和最低销售的产品。
•实现步骤
1)先对“图表1”中的产品名称设置排序,按照销售额进行降序排列
2)获取总销售额最低和最高的产品名称,并组合为数组。点击右边编辑栏【报告 > 高级> 脚本】,选择【装载时运行】。
脚本写法:
param['firstandlast'] = [getCellData("图表1", 1, 0), getCellData("图表1", -1, 0)];
getCellData("图表1", 1, 0)和getCellData("图表1", -1, 0)分别表示从“图表1”中获取第一个和倒数第一个产品名称。
3)在“图表2”中,设置产品名称过滤条件为param['firstandlast']。
即可看到“图表2”数据已展示为最高销售额和最低销售的产品。
4.其他
如果您不希望在查看报告时看到报错信息,您可以在bi.properties文件中配置ignore.viewer.hint控制报告报错的弹窗。
当值为true时,查看报告会屏蔽报错信息,当值为false时,查看报告会正常弹出报错信息。