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

正在查看旧版本。 查看 当前版本.

与当前比较 查看页面历史

« 前一个 版本 11 下一个 »

系统函数指与用户信息相关的一类函数,包括内置的系统函数和用户自定义的函数。

例如在数据权限管理、与用户权限相关的查询定义中通常会使用到这些函数。

其中内置的函数不允许删除,自定义的函数允许删除。

系统内置函数

系统内置的函数主要是一些常用的函数,比如当前用户的信息。一般用户在数据权限设置中使用。

系统内置的函数如下:

函数

说明

字符串

CurrentUserAlias()

获取当前用户别名。无参数。

CurrentUserID()

获取当前用户的编号。无参数。

CurrentUserName()

获取当前用户的名称。无参数。

GetCookie()

获取Cookie信息。参数1:cookiePropertyName[字符串]。

GetFirstDayOfFrequencyParameter()

获取频度日期参数值对应的第一天,例如获取2012年第1周的第一天,返回值为2012-01-01。参数:参数值[字符串]。

GetLastDayOfFrequencyParameter()

获取频度日期参数值对应的最后一天,例如获取2012年第1周的最后一天,返回值为2012-01-07。参数:参数值[字符串]。

GetUserProperty(propertyName)

获取用户属性的值。参数:propertyName—指系统管理中的“用户属性”名。

CurrentUserAllDepartmentIDRecursively()

当前用户所属机构及其所有子机构的ID。无参数。

CurrentUserDepartments()

获取用户所属机构的编号,无参数。用法常见于 select 字段 from table where 字段 in (CurrentUserDepartments())。

CurrentUserDefaultDepartmentAlias()

获取用户所属默认用户组的别名。无参数。

CurrentUserDefaultDepartmentID()

获取用户所属默认用户组的编号。无参数。对应知识库中t_group表中的c_orgid字段。

CurrentUserDefaultDepartmentName()

获取用户所属默认用户组的真名。无参数。

GetSessionAttribute(AttributeName)

获取当前会话中的属性值;参数是“属性名称”。

GetSelectedMembers()

获取当前多维分析中指定维度层次下的所有成员。参数是“hierarchy”即维度层次。该函数常用于自定义成员中汇总表达式。

GetUserAccessibleMembers()

获取指定维度层次中当前用户具有数据访问权限的成员。参数有两个:

  • 第一个参数:“hierarchy”即维度层次。
  • 第二个参数:“Self”表示获取顶层成员;“SelfAndChildren”表示获取顶层成员及其子成员;“Children”表示获取顶层成员的子成员。

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)

获取两个指定日期差值(起始日期不得小于结束日期)
Days360(start_date, end_date)按照一年 360 天的算法(每个月以 30 天计,一年共计 12 个月),返回两日期间相差的天数
WeekNum(date)获取指定日期在一年中的第几周
WeekDay(date)返回指定日期为星期几
Lunar(date)获取指定日期的农历(闰月的月份)

 

自定义函数

系统允许用户自定义“字符串”类型的系统函数,以实现一些特殊功能需求:如实现“上年同期”、“取年末或是月末的值”等。

在系统中设置自定义函数,请执行下列操作:

(1)  创建扩展包,编写自定义系统函数类(使用Java语言编写)。

(2)  将编写好的自定义函数类文件存放在扩展包的以下包名下:smartbi.freequery.expression.function。

(3)  在应用服务器上重新部署扩展包。

(4)  重启应用服务器,在在“系统导航栏”选择 公共设置,展开资源目录区,选择 函数列表 > 系统函数 > 字符串,在更多操作,选择 增加自定义函数(I)。

      

(5)  在“字符串”的右键菜单中选择 增加自定义函数,弹出“自定义函数”窗口。

(6)  在“自定义函数”窗口输入名称,该名称必须要与放入到“function”目录中的自定义函数类文件名称一致。

(7)  创建完成后,就可以和系统内置函数一样在产品中拖拽使用了。

  • 无标签