反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

定时调度支持的公式

  • 文档创建者:Wendy123456
  • 历史版本:16
  • 最近更新:知识库 于 2022-12-15
  • 1. 概述

    1.1 版本

    报表服务器版本

    功能变更
    10.0-
    10.0.17普通报表、聚合报表支持使用跨 sheet 公式进行公式判断

    1.2 功能简介

    本文将详细介绍设置定时调度任务过程中,可以使用的公式及其用法。

    注1:定时调度任务中,无法触发报表的 JS 事件。

    注2:定时调度任务中,「调度周期-执行条件-公式判断」处支持将单元格作为参数传给其他公式使用;除此之外的其他地方,都不支持将单元格作为参数传给其他公式使用。

    注3:定时调度任务中,公式的长度过长、公式解析后的收件人长度过长、公式解析后的主题过长等情况,都有可能导致定时调度任务执行失败。

    2. FineReport 模板

    类型公式/参数/函数使用位置备注
    参数

    用户全局参数:

    ${fine_username}${fine_position}${fine_role}${fr_username}${fr_userposition}${fr_authority}

    调度对象-参数设置

    调度对象-文件名称

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    1)作为参数时,在「调度对象-参数设置」和「调度周期-执行条件-公式判断」中不要加{},例如:$fine_role;其他情况要加{},例如${fine_role}

    2)使用用户全局参数,需要勾选「除通用结果外,根据默认用户组内的用户单独生成结果」 

    3)挂载平台FTP 上传附件打印文件使用通用结果文件夹下的文件,无法使用「用户全局参数」

    数据集参数

    调度对象-参数设置

    调度对象-文件名称

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    1)作为参数时,在「调度对象-参数设置」和「调度周期-执行条件-公式判断」中不要加{},例如:$p;其他情况要加{},例如:${p}

    2)在「调度对象-参数设置」右侧,点击「设置参数默认值」,参数列表加载后,才能在定时调度的其他地方引用数据集参数/模板参数/全局参数

    2)对于数据集参数,只能获取到模板数据集的参数,不能得到服务器数据集的参数和报表函数

    模板参数
    全局参数
    自定义参数

    调度对象-参数设置

    调度对象-文件名称

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    作为参数时,在「调度对象-参数设置」和「调度周期-执行条件-公式判断」中不要加{},例如:$p;其他情况要加{},例如${p}

    结果报表单元格值

    示例:

    sum(B8,C8)>1000

    调度对象-参数设置

    调度对象-文件名称

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    1)作为参数时,在「调度周期-执行条件-公式判断」中,直接使用A2,其他情况下不能作为函数参数,只能使用${A2}的格式

    2)只取默认 sheet 页的单元格值,不能跨 sheet 取数

    3)若 A1 单元格的值可拓展为 1,2,3三个值:
    「调度周期-执行条件-公式判断」功能:2018-12-27 之前的 JAR 中,使用${A1}公式取到的是 1 ;2018-12-27 之后的 JAR 中,使用${A1}公式取到的是包含 1,2,3 三个元素的数组
    其他功能:使用${A1}公式取到的都是 1

    表单公式

    决策报表的组件,可以引用该决策报表的「报表块」中单元格的数据
    公式格式为:「报表块名称~单元格」

    示例:${report0~A1}

    调度对象-文件名称

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    作为参数时,在「调度周期-执行条件-公式判断」中,直接使用report0~A1。其他情况下使用${report0~A1};

    注:2019-11-08 之后的 JAR 支持表单公式的使用。

    报表块公式示例:

    ${block1~A4}

    调度对象-文件名称

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    作为参数时,在「调度周期-执行条件-公式判断」中,直接使用参数名block1~A4就能取数。其他情况下使用${block1~A4}才能取数

    注:2020-04-26 及之后的 JAR 支持聚合报表报表块公式的使用

    跨sheet公式

    示例:

    'sheet1'!A1

    调度周期-执行条件-公式判断

    注1:

    10.0.17 及之后的报表工程支持使用跨sheet公式进行公式判断,其他地方不支持使用,

    10.0.17 之前的报表工程不支持跨sheet公式。

    注2:定时调度跨sheet公式不支持聚合报表。

    常用函数

    SUM、COUNT、

    AVERAGE、CHAR、DATE、MAX、 

    MIN、TIME、

    RANGE

    调度对象-参数设置

    调度对象-文件名称

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    1)作为参数时,在「调度对象-参数设置」和「调度周期-执行条件-公式判断」中不要加${},其他情况要加${}

    例如AND(1+7=8,5+7=12),在定时调度中应该写为${AND(1+7=8,5+7=12)},不要加=

    2)WEIGHTEDAVERAGE的参数只能是常数数组,不能是「A1:A4」这种形式

    3)FORMAT函数,不支持引用模板中的单元格

    4)COLROW写在单元格中,在定时调度中虽然不会报错,但是没有意义,返回值为常数 0 。

    COL() 返回当前单元格的列号。

    例如,若当前单元格是 A5 ,在 A5 中写入:=col(),返回 1 ;若当前单元格是 C6 ,在 A5 中写入:=col(),返回 3

    5)COLCOUNTCOLNAMEMAPROWCOUNTTABLEDATAFIELDSVALUE这些函数的参数中包括有数据集,在定时调度中,只能使用服务器数据集,无法获取模板数据集。

    6)WEBIMAGE用来显示网页上的图片,在定时调度中返回com.fr.file.WebImage@23dd10da类似格式;

    7)REPORTCHECK虽不会报错,但是不生效

    8)CELLSUM虽有返回值,但是无意义

    数学和三角函数ABS、ACOS、ACOSH、ASIN、ASINH、ATAN、ATAN2、AVERAGE、CEILING、COMBIN、COS、SOSH、COUNT、DECIMAL、DEGREES、EVEN、EXP、FACT、FLOOR、INT、LN、LOG、LOG10、MAX、MIN、MOS、ODD、PI、POWER、PRODUCT、PROMOTION、RADIANS、RAND、RANDBETWEEN、ROUND、ROUND5、ROUNDDOWN、ROUNDUP、SIGN、SIN、SINH、SQRT、SUM、SUMPRECISE、SUMSQ、TAN、TANH、TOBINARY、TOHEX、TOOCTAL、TRUNC、WEIGHTEDAVERAGE
    文本函数CHAR、CNMONEY、CODE、CONCATENATE、ENDWITH、ENMONEY、ENNUMBER、EXACT、FIND、FORMAT、INDEXOF、LEFT、LEN、LOWER、MIN、NUMTO、PROPER、REGEXP、REPEAT、REPLACE、RIGHT、SPLIT、STARTWITH、SUBSTITUTE、TODOUBLE、TOINTEGER、TRIM、UPPER
    日期和时间函数DATE、DATEDELTA、DATEDIF、DATEINMONTH、DATEINQUARTER、DATEINWEEK、DATEINYEAR、DATESUBDATE、DATETONUMBER、DAY、DAYS360、DAYSOFMONTH、DAYSOFQUARTER、DAYSOFYEAR、DAYVALUE、HOUR、LUNAR、MINUTE、MONTH、MONTHDELTA、NOW、SECOND、TIME、TODATE、TODAY、WEEK、WEEKDATE、WEEKDAY、YEAR、YEARDELTA
    逻辑函数AND、BITNOT、BITOPERATION、IF、OR、REVERSE、SWITCH
    数组函数ADD2ARRAY、ARRAY、GREPARRAY、INARRAY、INDEXOFARRAY、JOINARRAY、MAPARRAY、RANGE、REMOVEARRAY、REVERSEARRAY、SLICEARRAY、SORTARRAY、UNIQUEARRAY
    报表函数COL、DECODE、ENCODE、I18N、ROW、COLCOUNT、COLNAME、FIELDS、MAP、RECORDS、ROWCOUNT、SQL、TABLEDATAFIELDS、TABLEDATAS、TABLES、VALUE
    其他函数WEBIMAGE、CLASS、CORREL、EVAL、INDEX、ISNULL、LET、MEDIAN、NVL、QUERY、RANK、SEQ、UUID、LUNAR
    层次坐标函数CIRCULAR、CROSSLAYERTOTAL、LAYERTOTAL、MOM、PROPORTION、SORT
    自定义函数REPORTCHECK、UBM、SUBSECTION、CELLSUM

    3. 无调度对象

    类型公式/参数/函数使用位置备注
    参数

    用户全局参数:

    ${fine_username}

    ${fine_position}

    ${fine_role}

    ${fr_username}

    ${fr_userposition}

    ${fr_authority}

    不能使用不能使用
    常用函数SUM、COUNT、AVERAGE、CHAR、DATE、MAX、MIN、TIME、RANGE

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    1)作为参数时,在「调度周期-执行条件-公式判断」中不要加${},其他情况要加${}

    例如AND(1+7=8,5+7=12),在定时调度中应该写为${AND(1+7=8,5+7=12)},不要加=


    数学和三角函数ABS、ACOS、ACOSH、ASIN、ASINH、ATAN、ATAN2、AVERAGE、CEILING、COMBIN、COS、SOSH、COUNT、DECIMAL、DEGREES、EVEN、EXP、FACT、FLOOR、INT、LN、LOG、LOG10、MAX、MIN、MOS、ODD、PI、POWER、PRODUCT、PROMOTION、RADIANS、RAND、RANDBETWEEN、ROUND、ROUND5、ROUNDDOWN、ROUNDUP、SIGN、SIN、SINH、SQRT、SUM、SUMPRECISE、SUMSQ、TAN、TANH、TOBINARY、TOHEX、TOOCTAL、TRUNC、WEIGHTEDAVERAGE
    文本函数CHAR、CNMONEY、CODE、CONCATENATE、ENDWITH、ENMONEY、ENNUMBER、EXACT、FIND、FORMAT、INDEXOF、LEFT、LEN、LOWER、MIN、NUMTO、PROPER、REGEXP、REPEAT、REPLACE、RIGHT、SPLIT、STARTWITH、SUBSTITUTE、TODOUBLE、TOINTEGER、TRIM、UPPER
    日期和时间函数DATE、DATEDELTA、DATEDIF、DATEINMONTH、DATEINQUARTER、DATEINWEEK、DATEINYEAR、DATESUBDATE、DATETONUMBER、DAY、DAYS360、DAYSOFMONTH、DAYSOFQUARTER、DAYSOFYEAR、DAYVALUE、HOUR、LUNAR、MINUTE、MONTH、MONTHDELTA、NOW、SECOND、TIME、TODATE、TODAY、WEEK、WEEKDATE、WEEKDAY、YEAR、YEARDELTA
    逻辑函数AND、BITNOT、BITOPERATION、IF、OR、REVERSE、SWITCH
    数组函数ADD2ARRAY、ARRAY、GREPARRAY、INARRAY、INDEXOFARRAY、JOINARRAY、MAPARRAY、RANGE、REMOVEARRAY、REVERSEARRAY、SLICEARRAY、SORTARRAY、UNIQUEARRAY
    报表函数COL、DECODE、ENCODE、I18N、ROW、COLCOUNT、COLNAME、FIELDS、MAP、RECORDS、ROWCOUNT、SQL、TABLEDATAFIELDS、TABLEDATAS、TABLES、VALUE

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    1)COLROW写在 FineReport 模板的单元格中,在定时调度中虽然不会报错,但没有意义,返回值为常数 0

    2)COLCOUNTCOLNAMEMAPROWCOUNTTABLEDATAFIELDSVALUE这些函数的参数中包括有数据集,在 BI 工程就会获取 BI 的服务器数据集,在 FR 工程就会获取 FR 的服务器数据集

    其他函数WEBIMAGE、CLASS、CORREL、EVAL、INDEX、ISNULL、LET、MEDIAN、NVL、QUERY、RANK、SEQ、UUID、LUNAR

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    1)SEQ虽被执行,但永远只有一次,所以值一直为 1 ,没什么意义

    2)WEBIMAGE用来显示网页上的图片,在定时调度中返回com.fr.file.WebImage@23dd10da类似格式

    自定义函数UBM、SUBSECTION

    调度周期-执行条件-公式判断

    文件处理-平台通知-主题和内容

    文件处理-邮件通知-主题和内容

    文件处理-客户端通知-主题和内容

    文件处理-短信通知-短信参数

    取单元格值的函数在无调度对象中都不能使用


    附件列表


    主题: 数据决策系统
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526