页面树结构
转至元数据结尾
转至元数据起始

概述

电子表格的计算公式包含两种,Excel自带的公式和电子表格内置函数,两者可以结合使用。公式函数不区分大小写,公式可以复制并自动变化。

关于Excel公式的详细说明,请参考Excel的帮助文档。下面列举出来一些使用Excel公式的相关示例文档:

关于电子表格内置函数的详细说明,请参考下面的函数介绍。下面列举出来一些使用电子表格扩展公式的相关示例文档:

下面是电子表格扩展公式对应的详细介绍。

 

文档目录:

扩展公式介绍

SSR_GetCell

  • 函数原型:SSR_GetCell(取数单元格,{父单元格,偏移量}*n )
  • 功能说明:获取单元格,支持偏移计算。用于在扩展区域中按位置取单元格的值。其原理是,取出当前单元格的所有父单元格,变换指定的父单元格,其它不变,获取指定取数单元格的值。
  • 参数说明:取数单元格为取得数据的单元格序号。其中父单元格为单元格序号。偏移量是整数,负数表示当前单元格向上偏移,正数表示向下偏移。父单元格和偏移量成对出现,可以一个都不写,也可以出现多次。
  • 函数示例:单个偏移SSR_GetCell(C4,A4,-1),多个偏移SSR_GetCell(D5,B5,-1,C5,1)
  • 参考文档:电子表格的同期值和同期比计算

SSR_GetCurrentUserAlias

  • 函数原型:SSR_GetCurrentUserAlias()
  • 功能说明:获取当前用户别名。
  • 参数说明:无参数。
  • 使用格式:SSR_GetCurrentUserAlias()

SSR_GetCurrentUserName

  • 函数原型:SSR_GetCurrentUserName()
  • 主要功能:获取当前用户名称。
  • 参数说明:无参数。
  • 函数示例:SSR_GetCurrentUserName()

SSR_GetIndex

  • 函数原型:SSR_GetIndex(Cellx)
  • 功能说明:获得单元格位于某个父格中的位置,以实现序列号。
  • 参数说明:Cellx是当前单元格的某个父格,该表达式返回的值是当前单元格在指定父格中的位置。如果Cellx不是最高级别的父格,也就是说在Cellx也有父格的前提下,该表达式返回的值是指在Cellx所属父格分组内的位置。
  • 函数示例::=SSR_GetIndex(A2)

 

SSR_GetParamDisplayValue

  • 函数原型:SSR_GetParamDisplayValue("参数名称")
  • 功能说明:根据参数名称获取参数显示值。
  • 参数说明:参数为参数名称,是字符串。
  • 函数示例:=SSR_GetParamDisplayValue("产品类别"),表示获取参数名称为"产品类别"的参数显示值。

SSR_GetParamValue

  • 函数原型:SSR_GetParamValue("参数名称")
  • 功能说明:根据参数名称获取参数真实值。
  • 参数说明:参数为参数名称,是字符串。
  • 函数示例:=SSR_GetParamValue("产品类别"),表示获取参数名称为"产品类别"的参数真实值。

SSR_GetReportHeat

  • 函数原型:SSR_GetReportHeat()
  • 功能说明:获取当前报表的刷新次数(报表热度)
  • 参数说明:无参数
  • 函数示例:=SSR_GetReportHeat(),表示获取当前报表的刷新次数。
  • 注意说明: 这个函数是依赖于计划任务中的"统计资源访问次数"计划的运行。也就是说该函数的返回值并不是一个实时的值,而是一定时间前的值(默认情况是一天)。若对该值的实时性要求比较高,可以通过修改"统计资源访问次数"计划的执行频率来达到。例如将该计划修改为每小时执行一次,那么看到的将是一小时前该报表的统计情况。

SSR_GetSubCells

  • 函数原型:SSR_GetSubCells(取值单元格,父格单元格)
  • 功能说明:根据父格获取扩展得到的所有单元格。
  • 参数说明:取值单元格为取得数据的单元格序号;父格单元格为设置父格的单元格序号。
  • 函数示例:=sum(SSR_GetSubCells(C4,A4)),表示获取父格A4扩展出来的C4单元格的所有值。
                      =SSR_GetSubCells(B4:C4,A4),表示以A4为父格的B4、C4扩展出来的所有区域。

SSR_GetTotalPage

  • 函数原型:SSR_GetTotalPage()
  • 功能说明:获取电子表格总页数。
  • 参数说明:电子表格分页才可以使用此函数获取值

SSR_GetCurrentPage

  • 函数原型:SSR_GetCurrentPage()
  • 功能说明:获取电子表格当前页数。
  • 参数说明:电子表格分页才可以使用此函数获取值

SSR_ExecSQL

  • 函数原型:SSR_ExecSQL(datasourceid,sql,rowIndex,columnIndex,param1,param2,...)
  • 功能说明:执行SQL语句,将查询结构填入单元格中
  • 参数说明:datasourceid为数据源ID;sql为需要执行的sql语句;rowIndex为结果集中的行位置,可以忽略不填写;columnIndex为结果集中的列位置,可以忽略不填写;param1为SQL中的参数值,可以是静态数据也可以指定单元格;param2同理,可以传多个参数。
  • 函数示例:=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim(?)",0,0,"2012","流动资产"),表示在数据源“回写”中执行sql语句 select qichu from balance_sheet where f_year="2012" and kemu=trim("流动资产"),并将返回的结果集中的第一行第一列的数据放到单元格中 。其中0,0可以省略,如以下公式实现的是同样的功能=SSR_ExecSQL("DS.回写","select qichu from balance_sheet where f_year=? And kemu=trim(?)","2012","流动资产")
  • 补充说明:该函数不支持“清单报表”方式

SSR_ExecQuery

  • 函数原型:SSR_ExecQuery(queryid,rowIndex,columnIndex,param1,param2,...)
  • 功能说明:执行数据集定义的SQL,将查询结果填入单元格中
  • 参数说明:queryid为数据集的 ID;rowIndex为结果集中的行位置,可以忽略不填写;columnIndex为结果集中的列位置,可以忽略不填写;param1数据集参数值,可以是静态数据也可以指定单元格;parameter2,同param1。可以传多个参数。
  • 补充说明:该函数不支持“清单报表”方式

 

SSR_ExecNamedSQL

  • 函数原型:SSR_ExecNamedSQL(datasourceId,name,rowIndex,columnIndex,param1,param2,...)
  • 功能说明:执行命名SQL语句,将查询结果填入单元格中。
  • 参数说明:datasourceId为数据源ID;name为命名SQL,命名SQL可以查看 资源定制->system->分析报表->SQL映射表 获得;rowIndex为结果集中的行位置,可以忽略不填写;columnIndex为结果集中的列位置,可以忽略不填写;param1为SQL中的参数值,可以是静态数据也可以指定单元格;param2同param1。可以传递多个SQL参数值。
  • 补充说明:该函数不支持“清单报表”方式

SSR_FillSQLData

  • 函数原型:SSR_FillSQLData(datasourceid,sql,rowCount,param1,param2,...)
  • 功能说明:将SQL结果集填入表格中,按返回的行、列数向下、向右覆盖填入
  • 参数说明:datasourceid为数据源ID;sql为在数据库中执行的sql语句;rowCount为返回的数据行数;param1为SQL的参数,可以是静态数据也可以指定单元格;param2同param1;可以传递多个参数。
  • 补充说明:该函数不支持“清单报表”方式

SSR_FillQueryData

  • 函数原型:SSR_FillQueryData(queryId,rowCount,param1,param2,...)
  • 功能说明:执行数据集定义中的sql,将查询结果集填入表格中,按返回的行、列数向下、向右覆盖单元格
  • 参数说明:queryId为对应的数据集的ID;rowCount为返回的数据行数;param1为SQL的参数,可以是静态数据也可以指定单元格;param2同param1;可以传递多个参数。
  • 补充说明:该函数不支持“清单报表”方式

SSR_FillNamedSQLData

  • 函数原型:SSR_FillNamedSQLData(datasourceId,sqlName,rowCount,param1,param2,...)
  • 功能说明:根据映射表中的映射名称执行sql,将查询结果集填入表格中,按返回的行、列数向下、向右覆盖单元格
  • 参数说明:datasourceId为数据源ID;sqlName为映射表中的映射SQL名称;rowCount为返回的数据行数;param1为SQL的参数,可以是静态数据也可以指定单元格;param2同param1;可以传递多个参数。
  • 补充说明:该函数不支持“清单报表”方式


SSR_FillFunc

  • 函数原型:SSR_FillFunc(clzName, args1, args2, args3, ...)
  • 功能说明:让项目上的用户扩充自己的Excel函数。在项目扩展包中编写函数类并实现接口,SSR_FillFunc 实现 smartbi.spreadsheetreport.core.func.IGridFunction { List<List<Object>> getDatas(Object[] args);}
  • 参数说明:clzName 是 实现类的全名,如果包名为 smartbi.spreadsheetreport.core.func 则可以忽略包名只写类名,这里可以考虑使用中文类名
  • 补充说明:函数中返回的Object 只可以是数值、字符串或日期类型

 

SSR_ExecFunc

  • 函数原型:SSR_ExecFunc(clzName, args1, args2, ...)
  • 功能说明:让项目上的用户扩充自己的Excel函数。在项目扩展包中编写函数类并实现接口,SSR_ExecFunc 实现 smartbi.spreadsheetreport.core.func.ICellFunction { Object getData(Object[] args);} ,如果实现了 smartbi.spreadsheetreport.core.func.IGridFunction 则只返回第一行第一列的值到单元格中
  • 参数说明:clzName 是 实现类的全名,如果包名为 smartbi.spreadsheetreport.core.func 则可以忽略包名只写类名,这里可以考虑使用中文类名
  • 补充说明:函数中返回的Object 只可以是数值、字符串或日期类型

 

使用帮助

在电子表格中,可以通过点击Excel自身的函数帮助,来查看smartbi内置报表函数。