会话参数是FM当前会话变量,如用户名、邮箱、邮政编码、语言区域都是会话参数。会话参数包含两种:
1、环境变量:存储在Content Manager,默认情况下下列会话参数将会出现在Framework Manger里,点击FM-->Project-->Session Parameters,如下图所示:
建模设计阶段,以下参数显示的是建模者所在的区域;运行报表时,不同用户在各自客户端运行,以下会话参数相应变化:
※runLocale,返回当前FM使用的活动语言,当运行报表时根据用户客户端所在的区域语言动态生成
※account.defaultName 登录FM后,显示身份验证程序定义的登录用户名(first last name),匿名登录则显示 Anonymous。该参数对大多数身份验证程序通用,如LDAP,NTLM
※account.personalInfo.userName,登陆者的ID,和account.defaultName 不同
※current_timestamp 返回当前时间和时间
※machine 返回FM安装所在的机器名
使用它们时前面会带有美元符号$,我们直接引用以上参数到报表数据项展示,显示当期登录用户的会话变量信息,如#sq($machine)#,下图所示
根据身份验证程序的不同,所提供的Session参数也不同,Session参数可以单独使用亦可结合PrameterMap使用。如LDAP则提供了会话参数 account.personalInfo.email 用户邮件地址,account.personalInfo.surname用户别名。
2、模型变量:模型会话参数值可以是静态的,并必须有一个名称和默认值,如下添加一个 ‘模型创建者’静态值
如:ModelCreator shakar
报表数据项引用#sq($ModelCreator)#,运行结果如下
会话参数为报表开发提供了极大的便利,根据不同的报表用户获取各自的会话参数,我们可在报表前段基于这些会话参数做出相应处理,如在报表前段显示用户的名称$account.defaultName,于是我们可以制作更为有好的界面 ‘亲爱的xxxx客户,欢迎您登陆CognosChina报绩效管理系统’,效果图如下:
比如$runlocal变量,对于多语言模型和报表非常有用,这可以根据报表客户所在的区域能看到符合客户喜好语言的报表字体。会话变量的用途还有很多,下一节将会讲解2.3.9.2 Parameter Map。