-
yangqh 数据老手Lv5
发表于2020-5-9 11:30
楼主
匹配公式
匹配公式中可以使用报表户,服务器用户、机构的所有属性,包括用户表和机构表的系统字段、扩展字段:
旧版本的@形式的公式已全部取消,替换为对象的形式
操作符 | 对象表达式 | 含义 |
@user_字段名 | user.字段名 | 表示用户表的字段,包括扩展字段和系统字段,但不包括password字段。 |
@dp_字段名 | org.字段名 | 表示机构表的字段,包括扩展字段和系统字段。 |
@userid | user.userid | 等价于 @user_userid |
@username | user.caption | 等价于 @user_username |
@department | user.orgid | 等价于 @user_deparment |
@dp_isjc | org.isjc | 表示机构是否为基层机构。 直接书写org.isjc , org.isjc表示匹配基层机构,!org.isjc表示匹配非基层机构。 |
@dp_enabled | org.enabled | 表示机构是否启用。直接书写org.enabled , org.enabled 表示匹配启用的机构, !org.enabled 表示匹配禁用的机构。 |
@user_enabled | user.enabled | 表示用户是否启用。直接书写user.enabled , user.enabled 表示匹配启用的用户, !user.enabled 表示匹配禁用的用户。 |
@bbhid | bbh.userid | 表示报表户的ID,还有类似bbh.username,bbh.upid,bbh.btype。 |
以下列举一些匹配公式的例子:
旧公式 | 新公式 | 说明 |
'320000,9;420000,9' | '320000,9;420000,9' | 匹配ID为320000和420000的报表户 |
@userid^',0' | user.userid^',0' | 匹配同服务器用户ID的基层户 |
@department^',9' | org.orgid^',9' | 匹配同服务器用户所属机构ID的汇总户 |
left(@userid, 4)^'00,9' | left(user.userid,4)^'00,9' | 匹配前四位同服务器用户ID+00的汇总户,如userid=3202XB,则匹配ID为320200的汇总户 |
@userid^',0;'^ @department ^ ',9' | user.userid^',0;'^ org.orgid ^',9' | 多户匹配,匹配同服务器用户ID的基层户 和 所属机构ID的汇总户 二个报表户 |
@bbh_upid='--' | bbh.upid='--' | 匹配报表户列表中的顶级报表户 |
@bbh_id=@userid and @bbh_type='0' | bbh.id=user.userid and bbh.type='0' | 匹配同服务器用户ID的基层户 |
@bbh_id=@department and @bbh_type='9' | bbh.id=org.orgid and bbh.type='9' | 匹配同服务器用户所属机构ID的汇总户 |
@bbh_id=@dp_zdsy | bbh.id=org.zdsy | 匹配同服务器用户所属机构的扩展字段ZDSY值的报表户 |
@bbh_id=@user_zdsy | bbh.id=user.zdsy | 匹配同服务器用户的扩展字段ZDSY值的报表户 |
left(@bbh_id, 2)=left(@userid, 2) | left(bbh.id,2)=left(user.userid,2) | 匹配ID前二位同服务器用户ID的所有报表户 |
@bbhid='320000' OR @bbhid='420000' | bbh.id='320000' or bbh.id='420000' | 匹配ID为320000和420000的报表户 |
旧公式适用于i@Report4、BI3及之前老版本使用;新公式适用于i@Report5+、BI4+及以后新版本