内置参数的使用

<< Click to Display Table of Contents >>

当前位置:  制作可视化报告 > 参数 

内置参数的使用

复制链接

1. 值已确定的内置参数

这些参数直接引用即可,一部分参数根据登录用户来获取值(比如_USER_,_IP_等),一部分参数根据当前时间来获取值(比如_LAST_YEAR_,_THIS_MONTH_等),可以用于过滤,填报,参数值显示等任何需要用到内置参数的场景。

场景

参数名称

说明

用户信息

_CURRENT_LOCALE_

返回当前环境的区域和语言

_USER_

返回当前的用户名称

_GROUP_

返回当前用户所在的组名

_GROUPS_

返回当前用户所在的组名(多个组)

_ROLE_

返回当前用户所承担的角色

_ROLES_

返回当前用户所承担的角色(多个角色)

_BLANK_

返回数据中的空值。参见_BLANK_示例

_USER_ALIAS_

返回当前登录用户的昵称

_IP_

返回当前登陆用户的IP

 

日期时间

_NOW_

返回当前时间(类型为时间戳)

_NOW_LONG_

返回当前时间(类型为数值)

_LAST_YEAR_

返回当前时间的上一年年份,值为整数,如今年是2013年,则返回值为2012

_THIS_YEAR_

返回今年的年份,值为整数

_NEXT_YEAR_

返回下一年的年份,值为整数

_LAST_QUARTER_

返回当前季度的上一季度值,值为整数

_THIS_QUARTER_

返回当前季度值,值为整数

_NEXT_QUARTER_

返回当前季度的下一季度值,值为整数

_LAST_MONTH_

返回当前月份的上一月份值,值为整数

_THIS_MONTH_

返回当前月份值,值为整数

_NEXT_MONTH_

返回当前月份的下一月份值,值为整数

_LAST_WEEK_

返回在一年中当前周的上一周值,值为整数,如今天是2013-01-18,是2013年中的第3周,则返回值为2

_THIS_WEEK_

返回当前日期是今年的第几周,值为整数,如今天是2013-01-18,是2013年中的第3周,则返回值为3

_NEXT_WEEK_

返回在一年中当前周的下一周值,值为整数,如今天是2013-01-18,是2013年中的第3周,则返回值为4

_LAST_DAY_

返回当前日期的前一天是几号,值为整数,如今天是2013-01-18,则返回值为17

_THIS_DAY_

返回当前日期是几号,值为整数,如今天是2013-01-18,则返回值为18

_NEXT_DAY_

返回当前日期的下一天是几号,值为整数,如今天是2013-01-18,则返回值为19

_LAST_YEAR_QUARTER_

返回当前季度的上一季度的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-01-01

_THIS_YEAR_QUARTER_

返回当前季度第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-01

_NEXT_YEAR_QUARTER_

返回当前季度的下一季度的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-07-01

_LAST_YEAR_MONTH_

返回当前月份的上一月份的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-03-01

_THIS_YEAR_MONTH_

返回当前月份的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-01

_NEXT_YEAR_MONTH_

返回当前月份的下一月份的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-05-01

_LAST_YEAR_WEEK_

返回当前周的上一周的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-07。注意星期是根据java提供的规范进行计算的,把周日当做一周的起点

_THIS_YEAR_WEEK_

返回当前周的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-14

_NEXT_YEAR_WEEK_

返回当前周的下一周的第一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-21

_LAST_FULL_DAY_

返回当前日期的前一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-17

_THIS_FULL_DAY_

返回当前日期,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-18

_NEXT_FULL_DAY_

返回当前日期的后一天,返回值为日期类型,如今天是2013-04-18,则返回值为2013-04-19

_LAST_WEEKDAY_

返回当前日期的前一天是周几,返回值为整数,如今天是2013-04-18,则返回值为4。注意星期是根据java提供的规范进行计算的,把周日当做一周的起点

_THIS_WEEKDAY_

返回当前日期的是周几,返回值为整数,如今天是2013-04-18,则返回值为5

_NEXT_WEEKDAY_

返回当前日期的后一天是周几,返回值为整数,如今天是2013-04-18,则返回值为6

流程审批

_EXECUTION_ID_

返回流程审批获取当前流程的分支id。

_INSTANCE_ID_

返回流程审批中获取当前流程id。

报告

_P_

返回当前预览页面页码

_PT_

返回当前报告总页数

汇总过滤、高亮、预警

_AVG_

返回当前汇总数据的平均值。例如:字段A在4个分组下的汇总结果分别为10,20,30,40,参数的返回值为25。

_MEDIAN_

返回当前汇总数据的中位数。例如:字段A在5个分组下的汇总结果分别为10,20,30,40,50,参数的返回值为30。

_QUARTILE1_

返回当前汇总数据的较小四分位数。例如:字段A在7个分组下的汇总结果分别为10,20,30,40,50,60,70,参数的返回值为20。

_QUARTILE3_

返回当前汇总数据的较大四分位数。例如:字段A在7个分组下的汇总结果分别为10,20,30,40,50,60,70,参数的返回值为60。

_BLANK_示例

假设数据库表中的数据如下:

Blank1

过滤里定义条件:string 是 = ?{_BLANK_},则过滤出string为空字符串的数据,也就是上图数据库表里的最后一行数据。

Blank2

如果过滤里定义条件:string 是 空,则过滤出string为null,空的数据,也就是上图的数据库表里的第一行数据。

Blank3

内置日期参数示例

比如文本组件输入?{_THIS_FULL_DAY_}可以显示当前最新日期。

过滤里选择日期列,输入?{_THIS_FULL_DAY_}参数,可以过滤出对应列当天的数据。

内置用户信息示例

假设数据如下,希望对当前登录的用户角色进行高亮。

User_information

在高亮对话框中,设置高亮效果为蓝色,高亮条件中设置角色是等于?{_ROLE_}。

User_information_settings

高亮设置完成后,点击确定,查看表格中的角色高亮效果如下。

User_information_result

2. 通过内置参数实现产品功能

参数名称

数据类型

说明

_RESULT_NOT_EMPTY_

Boolean

报表实时刷新时,如果执行的结果为空时,从缓存获取数据,以免组件上出现空数据的现象

_WARNING2HINT_

Boolean

当报表出现错误弹框时,报表不弹出dialog进行提示(弹出后需要手动点击),改为hint进行提示

_MAX_ROWS_

String/Integer

控制报表中组件的显示行数,导出数据也受控制

_M_REFRESH_

Boolean

控制同步到集市的数据集,预览数据和再次物化数据集时是通过集市处理还是数据库处理

_REFRESH_

Boolean

控制每次打开数据集和报表是否刷新数据

_DISABLE_AUTO_LINK_

Boolean

控制是否识别数据内容为超链接

_EXCEL_EXPORT_TYPE_

String/Integer

导出excel时sheet页配置

0:同时导出Dashboard页和所有细节表

1:只导出Dashboard页,不导出细节表

2:只导出所有组件的细节表,不导出Dashboard的整体页面

_EXCEL_EXPORT_SHEETNAME_

String

自定义导出Excel时Dashboard页的名称

_KEEP_EXCEL_DATA_SPAN_

Boolean

控制导出excel时,数据是否带有合并单元格。为true时,导出详细数据也保留合并单元格。默认为false不会合并单元格

_SELF_CTRL_PAGE_

Boolean

控制详细表格设置分页后,查看时是否以真分页方式获取数据。当前Oracle、SQL Server 、MySQL、DB2已经自动支持真分页,对于暂未支持的数据库类型,数据集SQL语句如下:

select * from coffee <_PAGE_> where ID BETWEEN (?{@_PAGE_} - 1) </_PAGE_> <_PAGE_LIMIT_> * ?{@_PAGE_LIMIT_} AND </_PAGE_LIMIT_> <_PAGE_> ?{@_PAGE_} </_PAGE_> <_PAGE_LIMIT_>* ?{@_PAGE_LIMIT_} </_PAGE_LIMIT_>

结合_SELF_CTRL_PAGE_可以实现真分页,有以下两种方式:

在编辑参数中添加_SELF_CTRL_PAGE_=true,对报告中所有的普通表实现真分页。

在脚本中添加图表1.innerParam["_SELF_CTRL_PAGE_"] = true,只对当前设置的普通表实现真分页。

_PAGE_COUNT_AYSN_

Boolean

配合参数_SELF_CTRL_PAGE_一起使用,还未实现真分页的数据库设置了上述真分页,总条数和第一页数据会在一个请求返回,设置为true后,会分开发请求返回数据。

_IMPLEMENT_REAL_PAGE_

Boolean

设置查看报告时是否走真分页;

_IMPLEMENT_REAL_PAGE_=true,不走真分页;

_IMPLEMENT_REAL_PAGE_=false,走真分页。

_EXTRACT_MAX_ROWS_

Integer/Short/Long/Byte

限制基于此数据源的数据集能够抽取到数据集市的数据行数,超过限制的行数会抽取失败。仅在数据源上支持该参数,默认勾选“二次引用时不显示”,并且不能修改,以便于控制通过该数据源创建的数据集和报告的编辑参数中不显示该参数。参考限定抽取数据的数量章节。

_HIDE_SKELETON_

Boolean

控制打开报告时,渲染图表的过程是否屏蔽骨架图。true时,屏蔽骨架图;false时,开启骨架图。

_DECIMAL_KEEP_ACCURACY_  

Boolean

true:decimal数据进行高精度计算,数据展示为精确值。

false:将decimal数据处理为double,不进行高精度计算,数据以科学计数法形式展示粗略值。

数据过小或过大时,数据默认以科学计数法展示粗略值,如需进行高精度计算展示精确值。可在数据集上设置_DECIMAL_KEEP_ACCURACY_  =true,表示数据以decimal存储,进行精确计算。默认mem.decimal.as.double=true,将decimal处理为double,此时数据集的内置参数优先级更高。

_MONGO_META_ALL_COLS_

Boolean

_MONGO_META_ALL_COLS_=true,刷新单个mongo数据集元数据加载所有的列。

_PARAM_LIMIT_

Integer

控制报告中的多个参数组件并行执行的个数,默认值为4,若参数个数超过_PARAM_LIMIT_ 的值则并行执行,可加快执行速度,但可能会出现执行顺序错乱问题,建议酌情考虑。