<< Click to Display Table of Contents >> 报告的脚本 |
用户可通过脚本来实现对整个报告的控制,例如通过脚本来实现对报告定时刷新。通过报告的脚本也可实现对各个组件的整体控制。
报告的脚本分为装载时运行的脚本和变化时运行的脚本,两个类型的脚本的执行条件不同,装载时运行的脚本是在报告打开时运行,而变化时运行的脚本是在组件有变化时运行。
❖打开方式
在报告的菜单栏的更多中选择脚本,即可打开脚本对话框。
【装载时运行】即在新打开报告时,或预览报告时运行脚本内容。
【变化时运行】即在对组件变化时运行脚本内容。
脚本函数的详细介绍见顶级作用域的函数介绍以及报告级别的函数。
❖报告脚本函数描述
在报告脚本函数上点击一下,右边框中即出现对应的描述。
报告组件脚本、顶级作用域脚本、以及动态计算器脚本都有相应的脚本函数描述。
❖应用举例 1
如下图用户需要在查看报告中或预览模式下实现当选择一个产品类型时,该类型的所有产品均被勾选,并在图表上显示出来。即一个参数内容改变时,另一个参数内容自动全选。
用户需要在图表上设定过滤器,过滤条件为产品 是 其中一个 ?{产品},其中复选框的名称为产品,作为参数传递给图表。同时需要在列表参数上设定过滤器,过滤条件为产品类型 =?{产品类型},其中下拉列表的名称为产品类型,作为参数传递到列表参数。用户需要在上方菜单栏选择更多-脚本,选择装载时运行,脚本内容为:
则在查看报告中或在预览模式中打开该报告时,切换产品类型参数中的选项,则产品参数中的内容全选,如下图所示。
❖应用举例 2
1. 假设存在一张表,如下图所示。
2. 为了实现对“总和 _SALES” 的排名统计,需要使用高级排序,如下图所示。使用高级排序的前提是表组件处于聚合状态。
高级排序适用于聚合状态的表、交叉表以及处于聚合状态的图表。只有维度数据段才具有高级排序属性,度量类型的数据段不具有此属性,高级排序可实现对聚合的度量字段的排序。
3. 如下图实现了表组件中的数据按照 SALES 字段的总和信息进行降序排列,即按照总和 _SALES 字段降序排列。
4. 排序结果如下图所示。
5. 当在高级排序对话框中的TopN选项设置4 时,则表中的数据将被过滤,只保留“总和 _SALES” 的前四个数据,勾选 “TopN外数据显示为其他”时,除保留的 TopN 数据,剩余数据以其它显示。
6. 保留结果如下图所示。
7.当用户需要实时更改保留个数时,可通过脚本来实现。
7.1 首先创建一个列表参数并修改为单选,绑定任一查询中的数字类型数据,如下图所示。
7.2 在菜单栏更多中选择脚本。
7.3 在脚本对话框中的变化时运行选项卡中输入脚本:
if(!isNaN(param[' 列表参数1'])) {
var col = 表1.binding.getCol(0);
col.sortRank=parseInt(param['列表参数1']);
表1.binding.setCol(0, col);
}
实现将列表参数 1 中的参数值传递给高级排序对话框中的TopN选项。
8. 在参数列表 ID 中选择任一选项实现对表组件的动态筛选,即按照“总和 _Sales”字段的降序顺序进行筛选。