页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

报表宏事件分服务端模块和客户端模块:

  • 服务端模块:表示宏的事件在服务端进行处理。在Smartbi中,只为【多维分析】【电子表格】【透视分析】提供了服务端处理的事件;
    • 客户端模块:表示宏的事件在客户端进行处理。在Smartbi中,为所有不同类型的报表【灵活分析、多维分析、页面、仪表分析】提供了客户端处理的事件;因此为任意报表进行宏定制时,都需要创建客户端的模块宏。
面板
borderColor#BBBBBB
bgColor#F0F0F0
borderWidth1
borderStylesolid
 文档目录:

目录

    • 表示宏的事件在服务端(应用服务器)进行处理。在Smartbi中,只为【多维分析】【电子表格】【透视分析】提供了服务端处理的事件
    • 服务端宏底层原理和自定义计划任务脚本一样的,都是使用了 Rhino 工具包,语法遵循Javascript 语法规范,能够引用 Java 类并创建 Java 对象来使用,详细的语法说明见自定义计划任务
    • 服务端宏因为在服务器上运行,对浏览器端展现和导出报表都是生效的。
  • 客户端模块
    • 表示宏的事件在客户端进行处理。在Smartbi中,为所有不同类型的报表【灵活分析、多维分析、页面、仪表分析、电子表格、透视分析、组合分析等】提供了客户端处理的事件
    • 客户端宏的语法就是JavaScript,需要有前端开发的经验才可能灵活编写,调试也是使用浏览器前端调试即可
    • 注意:客户端宏主要影响浏览器端的展现效果,除了图形(直接加在图形对象上的部分宏功能可以对导出生效),其他报表的客户端宏都不会对导出有效果。

所有模块的宏示例请见报表宏开发示例库,更多关于宏的说明请见报表宏功能简介报表宏快速入门

1     ServerSide服务端模块

1.1    olapTable(多维分析表格对象)

olapTable:多维分析报表表格对象。

对应事件

对应事件说明

onRenderTable

  • 事件原型:function main(olapTable) {}
  • 事件说明:
在打开多维分析报表初始化完成后或多维分析报表数据刷新后触发。
  • 在打开多维分析报表初始化完成后或多维分析报表数据刷新后触发,可以使用多维分析的跳转规则生成一个看示例效果
  • 参数说明:
    • olapTable:多维分析表格对象

 

1.2    olapQuery(多维分析报表对象)

olapQuery多维分析报表对象。

对应事件

对应事件说明

onWarning

  • 事件原型:function main(
olapTable
  • reportResult) {}
  • 事件说明:
在多维分析报表加载告警信息时触发。
  • 参数说明:
    • olapTable:多维分析表格对象
  •  

    1.3    spreadsheetReport(电子表格报表对象)

    spreadsheetReport电子表格报表对象。

    对应事件

    对应事件说明

    onBeforeOutput

    • 事件原型:function main(spreadsheetReport) {}
    • 事件说明:在电子表格生成输出的html之前触发,实现此事件可以改写电子表格输出结果。
    • 参数说明:
      • spreadsheetReport:电子表格对象
    • 参考示例:电子表格服务端宏示例

     

    1.4   INSIGHT(透视分析报表对象)

    INSIGHT透视分析报表对象。

    对应事件

    对应事件说明

    beforeBuildHTML

    • 事件原型:function main(insightCellList) {}
    • 事件说明:在透视分析生成输出的html之前触发,实现此事件可以改写透视分析的数据输出结果
    • 参数说明:
      • insightCellList:透视分析表格对象
    • 参考示例:透视分析删除特定行—服务端宏

    2     ClientSide客户端模块

    2.1    simpleReport(灵活分析对象)

    simpleReport:灵活报表对象。

    对应事件

    对应事件说明

    onRender

    • 事件原型:function main(simpleReport, simpleReportContext) {}
    • 事件说明:在打开灵活分析报表初始化完成后触发
    • 参数说明:
      • simpleReport:灵活分析报表对象
      • simpleReportContext:灵活分析报表上下文对象

    onRenderTable

    • 事件原型:function main(simpleReport, simpleReportContext) {}
    • 事件说明:在打开灵活分析报表初始化完成后和灵活分析报表数据刷新后触发
    • 参数说明
      • simpleReport:灵活分析报表对象
      • simpleReportContext:灵活分析报表上下文对象

    onParamValueChanged

    • 事件原型:function main(simpleReport, simpleReportContext,param) {}
    • 事件说明:在灵活分析报表参数改变后触发
    • 参数说明
      • simpleReport:灵活分析报表对象
      • simpleReportContext:灵活分析报表上下文对象
      • param:当前改变的参数对象

     

    2.2    olapQuery(多维分析报表对象)

    olapQuery多维分析报表对象。

    对应事件

    对应事件说明

    afterRefreshTable

    • 事件原型:function main(olapQuery) {}
    • 事件说明:在多维分析报表数据刷新后触发
    • 参数说明
      • olapQuery:多维分析报表对象

     

    2.3    olapTable(多维分析表格对象)

    olapTable多维分析报表表格对象。

    对应事件

    对应事件说明

    onClick

    • 事件原型:function main(cell) {}
    • 事件说明:在单击多维分析表格中的内容时触发
    • 参数说明
      • cell:当前点击的单元格对象

    onInitPopupMenu

    • 事件原型:function main(popupMenu, cell) {}
    • 事件说明:在单击多维分析表格进行该事件处理,显示命令菜单,只有单击菜单中相关命令才会执行宏
    • 参数说明
      • popupMenu:子菜单对象
      • cell:当前点击的单元格对象

     

    2.4    page(仪表盘页面对象)

    page:仪表盘页面对象。

    对应事件

    对应事件说明

    onRenderPage

    • 事件原型:function main(page, pageContext) {}
    • 事件说明:在打开页面初始化完成后触发
    • 参数说明
      • page:页面对象
      • pageContext:页面上下文对象

    onDestroyPage

    • 事件原型:function main(page, pageContext) {}
    • 事件说明:页面对象释放时触发
    • 参数说明
      • page:页面对象
      • pageContext:页面上下文对象

    onParamValueChanged

    • 事件原型:function main(page, pageContext,param) {}
    • 事件说明:公共参数改变后触发
    • 参数说明
      • page:页面对象
      • pageContext:页面上下文对象
      • param:当前改变的参数对象

     

    2.5    meterReport(仪表分析/地图分析对象)

    meterReport:仪表分析/地图分析对象。

    对应事件

    对应事件说明

    onRender

    • 事件原型:function main(meterReport) {}

    • 事件说明:仪表分析/地图分析初始化完,刷新数据前触发。

    • 参数说明

      meterReport:仪表分析/地图分析对象。

    onParamValueChanged

    • 事件原型:function main(meterReport) {}

    • 事件说明:仪表分析/地图分析参数改变后触发。

    • 参数说明

      meterReport:仪表分析/地图分析对象。

     

    chart:图形/地图对象

    对应事件

    对应事件说明

    beforeRender

    • 事件原型:function main(chartView) {}
    • 事件说明:图形/地图初始化前触发。
    • 参数说明
      chartView:图形/地图对象。

    afterRender

    • 事件原型:function main(chartView) {}
    • 事件说明:图形/地图初始化完,刷新数据前触发。
    • 参数说明
      chartView:图形/地图对象。

    pointClick

    • 事件原型:function main(chartView, point) {}
    • 事件说明:
    • 参数说明
      chartView:图形/地图对象。
      point:鼠标点击的图形/地图元素对象。

     

    2.6   spreadsheetReport (电子表格对象)

    spreadsheetReport:电子表格对象。

    对应事件

    对应事件说明

    onRenderReport

    • 事件原型:function main(spreadsheetReport) {}
    • 事件说明:在打开电子表格报表初始化完成后触发
    • 参数说明
      • spreadsheetReport电子表格报表对象

    onRender

    • 事件原型:function main(spreadsheetReport) {}
    • 事件说明:在电子表格报表数据刷新后触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象

    onParamValueChanged

    • 事件原型:function main(spreadsheetReport, param) {}
    • 事件说明:在电子表格报表参数改变后触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • param当前改变的参数对象
    • 参考示例:

    onLinkClick

    • 事件原型:function main(spreadsheetReport, ruleName, params) {}
    • 事件说明:在电子表格超链接上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改)。
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • ruleName:跳转规则名称
      • params: 报表参数
    onChartClick
    • 事件原型:function main(spreadsheetReport, spreadsheetReportChart) {}
    • 事件说明:在电子表格图形上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改).
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • spreadsheetReportChart:被点击图形名称(excel设计器上指定的),对象结构,spreadsheetReportChart.name代表图形名称

    onWriteBackInsertedRow

    • 事件原型:function main(spreadsheetReport, editingCellPosition) {}
    • 事件说明:在可回写的电子表格的工具类上点击“插入行”后触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • editingCellPosition:当前编辑单元格,对象结构{row:, column:}
    • 参考示例:电子表格添加新行时自动为单元格赋值

    onWriteBackCellValueChanged

    在可回写的电子表格中,修改某个单元格值的时候触发

    onWriteBackSavedData

    在可回写的电子表格的工具类上点击“保存”,服务器返回后触发

    报表宏事件分服务端模块和客户端模块:

    服务端模块:表示宏的事件在服务端进行处理。在Smartbi中,只为【多维分析】【电子表格】【透视分析】提供了服务端处理的事件;
  • 客户端模块:表示宏的事件在客户端进行处理。在Smartbi中,为所有不同类型的报表【灵活分析、多维分析、页面、仪表分析】提供了客户端处理的事件;因此为任意报表进行宏定制时,都需要创建客户端的模块宏。
    • 在多维分析报表加载告警信息时触发。可以设置一个多维分析告警,然后查看对应的宏示例(多维告警会生成这个事件的宏)
    • 参数说明:
      • reportResult:多维分析表格对象

     

     

    面板
    borderColor#BBBBBB
    bgColor#F0F0F0
    borderWidth1
    borderStylesolid
     文档目录:

    目录

    1     ServerSide服务端模块

    1.1    olapTable(多维分析表格对象)

    olapTable:多维分析报表表格对象。

    对应事件

    对应事件说明

    onRenderTable

    • 事件原型:function main(olapTable) {}
    • 事件说明:在打开多维分析报表初始化完成后或多维分析报表数据刷新后触发。
    • 参数说明:
      • olapTable:多维分析表格对象
     

    1.

    2    olapQuery(多维分析报表对象)

    olapQuery多维分析报表对象。

    对应事件

    对应事件说明

    onWarning

    • 事件原型:function main(olapTable) {}
    • 事件说明:在多维分析报表加载告警信息时触发。
    • 参数说明:
      • olapTable:多维分析表格对象

     

    1.

    3    spreadsheetReport(电子表格报表对象)

    spreadsheetReport电子表格报表对象。

    对应事件

    对应事件说明

    onBeforeOutput

    • 事件原型:function main(spreadsheetReport) {}
    • 事件说明:在电子表格生成输出的html之前触发,实现此事件可以改写电子表格输出结果。
    • 参数说明:
      • spreadsheetReport:电子表格对象
    • 参考示例:电子表格服务端宏示例

     

    1.4   INSIGHT(透视分析报表对象)

    INSIGHT透视分析报表对象。

    对应事件

    对应事件说明

    beforeBuildHTML

    • 事件原型:function main(insightCellList) {}
    • 事件说明:在透视分析生成输出的html之前触发,实现此事件可以改写透视分析的数据输出结果
    • 参数说明:
      • insightCellList:透视分析表格对象
    • 参考示例:透视分析删除特定行—服务端宏

    2     ClientSide客户端模块

    2.1    simpleReport(灵活分析对象)

    simpleReport:灵活报表对象。示例

    对应事件

    对应事件说明

    onRender

    • 事件原型:function main(simpleReport, simpleReportContext) {}
    • 事件说明:在打开灵活分析报表初始化完成后触发
    • 参数说明:
      • simpleReport:灵活分析报表对象
      • simpleReportContext:灵活分析报表上下文对象

    onRenderTable

    • 事件原型:function main(simpleReport, simpleReportContext) {}
    • 事件说明:在打开灵活分析报表初始化完成后和灵活分析报表数据刷新后触发
    • 参数说明
      • simpleReport:灵活分析报表对象
      • simpleReportContext:灵活分析报表上下文对象

    onParamValueChanged

    • 事件原型:function main(simpleReport, simpleReportContext,param) {}
    • 事件说明:在灵活分析报表参数改变后触发
    • 参数说明
      • simpleReport:灵活分析报表对象
      • simpleReportContext:灵活分析报表上下文对象
      • param:当前改变的参数对象

     

    2.2    olapQuery(多维分析报表对象)

    olapQuery多维分析报表对象。示例

    对应事件

    对应事件说明

    afterRefreshTable

    • 事件原型:function main(olapQuery) {}
    • 事件说明:在多维分析报表数据刷新后触发
    • 参数说明
      • olapQuery:多维分析报表对象

     

    2.3    olapTable(多维分析表格对象)

    olapTable多维分析报表表格对象。

    对应事件

    对应事件说明

    onClick

    • 事件原型:function main(cell) {}
    • 事件说明:在单击多维分析表格中的内容时触发
    • 参数说明
      • cell:当前点击的单元格对象

    onInitPopupMenu

    • 事件原型:function main(popupMenu, cell) {}
    • 事件说明:在单击多维分析表格进行该事件处理,显示命令菜单,只有单击菜单中相关命令才会执行宏
    • 参数说明
      • popupMenu:子菜单对象
      • cell:当前点击的单元格对象

     

    2.4    page(仪表盘页面对象)

    page:仪表盘页面对象。示例

    对应事件

    对应事件说明

    onRenderPage

    • 事件原型:function main(page, pageContext) {}
    • 事件说明:在打开页面初始化完成后触发
    • 参数说明
      • page:页面对象
      • pageContext:页面上下文对象

    onDestroyPage

    • 事件原型:function main(page, pageContext) {}
    • 事件说明:页面对象释放时触发
    • 参数说明
      • page:页面对象
      • pageContext:页面上下文对象

    onParamValueChanged

    • 事件原型:function main(page, pageContext,param) {}
    • 事件说明:公共参数改变后触发
    • 参数说明
      • page:页面对象
      • pageContext:页面上下文对象
      • param:当前改变的参数对象

     

    2.5    meterReport(仪表分析/地图分析对象)

    meterReport:仪表分析/地图分析对象。

    对应事件

    对应事件说明

    onRender

    • 事件原型:function main(meterReport) {}

    • 事件说明:仪表分析/地图分析初始化完,刷新数据前触发。

    • 参数说明

      meterReport:仪表分析/地图分析对象。

    onParamValueChanged

    • 事件原型:function main(meterReport) {}

    • 事件说明:仪表分析/地图分析参数改变后触发。

    • 参数说明

      meterReport:仪表分析/地图分析对象。

     

    chart:图形/地图对象

    对应事件

    对应事件说明

    beforeRender

    • 事件原型:function main(chartView) {}
    • 事件说明:图形/地图初始化前触发。
    • 参数说明
      chartView:图形/地图对象。
    • 参考示例:beforeRenderer示例说明

    afterRender

    • 事件原型:function main(chartView) {}
    • 事件说明:图形/地图初始化完,刷新数据前触发。
    • 参数说明
      chartView:图形/地图对象。

    pointClick

    • 事件原型:function main(chartView, point) {}
    • 事件说明:
    • 参数说明
      chartView:图形/地图对象。
      point:鼠标点击的图形/地图元素对象。

     

    2.6  

    spreadsheetReport

     spreadsheetReport (电子表格对象)

    spreadsheetReport:电子表格对象。示例

    对应事件

    对应事件说明

    onRenderReport

    • 事件原型:function main(spreadsheetReport) {}
    • 事件说明:在打开电子表格报表初始化完成后触发
    • 参数说明
      • spreadsheetReport电子表格报表对象

    onRender

    • 事件原型:function main(spreadsheetReport) {}
    • 事件说明:在电子表格报表数据刷新后触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象

    onParamValueChanged

    • 事件原型:function main(spreadsheetReport, param) {}
    • 事件说明:在电子表格报表参数改变后触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • param当前改变的参数对象
    • 参考示例:电子表格根据参数值不同显示不同的报表

    onLinkClick

    • 事件原型:function main(spreadsheetReport, ruleName, params) {}
    • 事件说明:在电子表格超链接上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改)。
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • ruleName:跳转规则名称
      • params: 报表参数
    onChartClick
    • 事件原型:function main(spreadsheetReport, spreadsheetReportChart) {}
    • 事件说明:在电子表格图形上点击后触发,这个事件需要配合服务端宏才能生效,一般不会手动新建,而是通过跳转规则自动生成(可以基于生成的再修改).
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • spreadsheetReportChart:被点击图形名称(excel设计器上指定的),对象结构,spreadsheetReportChart.name代表图形名称

    onWriteBackInsertedRow

    • 事件原型:function main(spreadsheetReport, editingCellPosition) {}
    • 事件说明:在可回写的电子表格的工具类上点击“插入行”后触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • editingCellPosition:当前编辑单元格,对象结构{row:, column:}
    • 参考示例:电子表格添加新行时自动为单元格赋值

    onWriteBackCellValueChanged

    • 事件原型:function main(spreadsheetReport, editingCellPosition, oldValue, newValue, newDisplayValue){}
    • 事件说明:在可回写的电子表格中,修改某个单元格值的时候触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • editingCellPosition:当前编辑单元格,对象结构{row:, column:}
      • oldValue:修改前的值
      • newValue:修改后的值
      • newDisplayValue:修改后的显示值
    • 参考示例:电子表格回写单元格一对多联动

    onWriteBackSavedData

    • 事件原型:function main(spreadsheetReport, succeeded) {}
    • 事件说明:在可回写的电子表格的工具类上点击“保存”,服务器返回后触发
    • 参数说明
      • spreadsheetReport:电子表格报表对象
      • succeeded:bool,回写是否成功
    • 参考示例:电子表格回写保存时记录日志

     

    2.7    INSIGHT(透视分析对象)

     

    INSIGHT:透视分析对象

     

    示例

    对应事件

    对应事件说明

    onRender

    • 事件原型:function main(insight){}

    • 事件说明:在打开透视分析初始化完成后触发。事件说明:在打开透视分析初始化完成后触发

    • 参数说明

      • insight:透视分析

      对象。
      • 对象

    onRenderTable
    • 事件原型:function main(insight){}

    • 事件说明:透视分析刷新数据后触发,每次刷新数据都触发一次。事件说明:透视分析刷新数据后触发,每次刷新数据都触发一次

    • 参数说明insight:透视分析对象。

      • insight:透视分析对象

    • 参考示例:透视分析打开默认收缩

    onParamValueChanged

    • 事件原型:function main(meterReportinsight, param) {}

    • 事件说明:仪表分析/地图分析参数改变后触发。事件说明:透视分析参数改变后触发

    • 参数说明

      meterReport:仪表分析/地图分析对象。

    INSIGHT
      • insight:透视分析对象

      • param:发生变化的参数对象

    chart:图形对象,可以参考meterReport(仪表分析/地图分析对象)中的chart