系统内置的函数如下:
分类 | 函数 | 说明 |
---|---|---|
字符串 | GetSubDepartments() | 获取当前用户子组。 |
CurrentUserDefaultDepartmentAndSubDepartments() | 获取当前用户默认组和子组。 | |
CurrentResourceTypes() | 获取资源类型列表。 | |
CurrentMonth() | 获取当前月份。 | |
CurrentDatetime() | 获取当前日期和时间。 | |
CurrentUserAllRoleIDs() | 获取当前用户拥有的角色id。 | |
CurrentUserAllRoleNames() | 获取当前用户拥有的角色名字。 | |
Concat() | 拼接字符串。参数:[字符串...]。 | |
CurrentUserAlias() | 获取当前用户别名。无参数。 | |
CurrentUserID() | 获取当前用户的编号。无参数。 | |
CurrentUserName() | 获取当前用户的名称。无参数。 | |
GetCookie() | 获取Cookie信息。参数1:cookiePropertyName[字符串]。 | |
GetFirstDayOfFrequencyParameter() | 获取频度日期参数值对应的第一天,例如获取2012年第1周的第一天,返回值为2012-01-01。参数:参数值[字符串]。 | |
GetLastDayOfFrequencyParameter() | 获取频度日期参数值对应的最后一天,例如获取2012年第1周的最后一天,返回值为2012-01-07。参数:参数值[字符串]。 | |
GetUserProperty(propertyName) |
获取用户属性的值。参数:propertyName—指系统管理中的“用户属性”名。使用示例可参考设置数据权限 | |
GetUserProperty() | 获取用户属性。参数1:propertyName[字符串]。 |
CurrentUserAllDepartmentIDRecursively() |
当前用户所属机构及其所有子机构的编号。无参数。 | |
CurrentUserDepartments() | 获取用户所属机构的编号,无参数。用法常见于 select 字段 from table where 字段 in (CurrentUserDepartments())。 |
CurrentUserDefaultDepartmentAlias() | 获取用户所属默认用户组的别名。无参数。 |
CurrentUserDefaultDepartmentID() | 获取用户所属默认用户组的编号。无参数。对应知识库中t_group表中的c_orgid字段。 |
CurrentUserDefaultDepartmentName() | 获取用户所属默认用户组的真名。无参数。 |
CurrentReportName() | 获取报表名称的系统函数 |
GetSessionAttribute(AttributeName) | 获取当前会话中的属性值;参数是“属性名称”。 |
Process1000LimitOfIn() | 处理多选树参数或下拉框参数超过1000时报错问题。当参数超过1000时,函数会将其转化为“字段 in (list1) or 字段 in (list2)” 的形式。 参数有两个:
|
GetSelectedMembers() | 获取当前多维分析中指定维度层次下的所有成员。参数是“hierarchy”即维度层次。该函数常用于自定义成员中汇总表达式。 |
GetUserAccessibleMembers() | 获取指定维度层次中当前用户具有数据访问权限的成员。参数有两个:
|
GetUserPropertyWithoutBrackets(propertyName) | 获取用户属性(不使用括号)。参数1:propertyName[字符串]。 |
GetUserIP() | 获取当前用户登录的IP地址。无参数。 |
GetUserExAttr(attrName) | 获取当前用户的指定扩展属性。参数1:attrName[字符串] (扩展属性的属性名)。 |
CurrentDate() | 获取当前应用服务器日期,支持即席查询、透视分析、多维分析和多维探索的页面展示及导出。 |
Now()
Today()
获取当前日期
Date(year, month, day)
生成指定日期(参数支持表达式)
Time(hour, minute, second)
生成指定时间
DateTimeAdd(date, delta...)
获取指定日期
YearAdd(date, delta)
获取指定日期偏移多少年后的日期
MonthAdd(date, delta)
获取指定日期偏移多少个月后的日期
DateAdd(date, delta)
获取指定日期偏移多少天后的日期
Year(date)
获取指定日期中的年
Month(date)
获取指定日期中的月
Day(date)
获取指定日期中的日
Hour(date)
获取指定日期时间中的小时
Minute(date)
获取指定日期时间中的分钟
Second(date)
获取指定日期时间中的秒
DateDif(start_date, end_date, unit)
GetCurrentFlowProperty() | 获取当前流程属性。 | |
GetFlowCreatorID() | 获取当前流程发起人,仅在流程“操作者”的自定义配置使用。 | |
GetVisibleMembers() | 返回当前查询中指定层次结构中非前端隐藏的成员表达式。 | |
数值 | DoubleValue() | |
GetCurrentGroupCount() | 获取系统用户组总数。 | |
GetCurrentOnlineSessionCount() | 获取当前在线会话数。 | |
GetCurrentOnlineUserCount() | 获取当前在线用户数 | |
GetCurrentResourceCount() | 获取系统资源总数。 | |
GetCurrentUserCount() | 获取系统用户总数。 | |
电子表格函数 | ExecNamedSQL() | 执行命名SQL,将查询结果填入当前单元格中。 |
ExecSQL() | 执行SQL语句,将查询结果填入当前单元格中。 | |
FillNamedSQLData() | 将命名SQL结果填入表格,按返回的行、列数向下、向右覆盖填入。 | |
FillSQLData() | 执行SQL结果填入表格,按返回的行、列数向下、向右覆盖填入。 | |
日期时间 | Now() | 获取当前日期时间。无参数。 |
Today() | 获取当前日期。无参数。 | |
Date(year, month, day) | 生成指定日期。year:年;month:月;day:日。 | |
Time(hour, minute, second) | 生成指定时间。hour:时;minute:分;second:秒。 | |
DateTimeAdd(date, delta...) | 获取指定日期。参数有两个:
| |
YearAdd(date, delta) | 获取指定日期偏移多少年后的日期。参数有两个:
| |
MonthAdd(date, delta) | 获取指定日期偏移多少个月后的日期。参数有两个:
| |
DateAdd(date, delta) | 获取指定日期偏移多少天后的日期。参数有两个:
| |
Year(serial_number) | 获取指定日期中的年。serial_number:指定日期。 | |
Month(serial_number) | 获取指定日期中的月(1-12之间的一个数)。serial_number:指定日期。 | |
Day(serial_number) | 获取指定日期中的日( 1-31 的整数)。serial_number:指定日期。 | |
Hour(serial_number) | 获取指定日期时间中的小时(介于 0 (12 A.M.) 到 23 (11 P.M.) 之间的整数)。serial_number:指定日期。 | |
Minute(serial_number) | 获取指定日期时间中的分钟( 0-59 的整数)。serial_number:指定日期。 | |
Second(serial_number) | 获取指定日期时间中的秒(0-59 的整数)。serial_number:指定日期。 | |
Lunar(date) | 获取指定日期的农历(闰月的月份)。date:指定日期。 | |
DateDif(start_date, end_date, unit) | 获取两个指定日期差值(起始日期不得小于结束日期)。参数有三个:
| |
Days360(start_date, end_date) | 按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月) |
,返回两日期间相差的天数。参数有两个:
| ||
WeekNum(serial_number) | 获取指定日期在一年中的第几周。serial_number:指定日期。 | |
WeekDay(serial_num) | 返回指定日期为星期几(1(星期天)到 7(星期六)之间的整数)。serial_num:指定日期。 | |
逻辑函数 | IF() | 参数1:条件(必填),参数2:true结果(必填),参数3:false结果(可选) |
自定义函数
系统允许用户自定义“字符串”类型的系统函数,以实现一些特殊功能需求:如实现“上年同期”、“取年末或是月末的值”等。
在系统中设置自定义函数,请执行下列操作:
(1) 创建扩展包,编写自定义系统函数类(使用Java语言编写)。
(2) 将编写好的自定义函数类文件存放在扩展包的以下包名下:smartbi.freequery.expression.function。
(3) 在应用服务器上重新部署扩展包。
(4) 重启应用服务器,在在“系统导航栏”选择 公共设置,展开资源目录区,选择 函数列表 > 系统函数 >
字符串,点击更多操作,选择 增加自定义函数(I)。
(5) 在“字符串”的右键菜单中选择 增加自定义函数,弹出“自定义函数”窗口。
(6) 在“自定义函数”窗口输入名称,该名称必须要与放入到“function”目录中的自定义函数类文件名称一致。
(7) 创建完成后,就可以和系统内置函数一样在产品中拖拽使用了。
borderColor | #BBBBBB |
---|---|
bgColor | #F0F0F0 |
borderWidth | 1 |
borderStyle | solid |