-
玳玳我 小试身手Lv3
发表于2023-2-17 21:22
楼主
本帖最后由 玳玳我 于 2023-2-17 21:34 编辑
用户权限设置数据级次权限时,其实已经从sql层面做了数据过滤,但是由于主题集属性里数据级次维只能绑定一个,导致使用单位级次下拉的维表也只能有一个,当用户数据级次权限涉及多个维表时,希望计算分析表时,维下拉组件也能控制只显示对应数据级次的节点。
解决方法一:(此方法只适合报表只设置一个数据级次维表)
1、给用户设置分析表数据级次权限,选择对应维表,注意只能设置一个维表,但节点可以多选。
2、分析表内维下拉绑定对应维表后,组件根节点显示属性写 login.datalevels.join(";")获取数据级次维选项数组,并把数组转换成;分割的字符串,勾选“包含根节点”
3、计算效果:
解决方法二:(多个数据级次维表场景)
由于login.datalevels对象表达式只能取到单个维表的数据级次维选项数组,所以多个数据级次维表时没办法使用。
解决思路:
1、给用户维护扩展字段如“机构维表1” ->JG1_、 "机构维表2"->JG2_
2、用户信息里同样给用户维护数据级次权限信息,多个维表节点需要用英文;分割
3、报表维下拉组件根节点显示可以用login.JG1_表达式获取数据级次信息。
用户权限设置数据级次权限时,其实已经从sql层面做了数据过滤,但是由于主题集属性里数据级次维只能绑定一个,导致使用单位级次下拉的维表也只能有一个,当用户数据级次权限涉及多个维表时,希望计算分析表时,维下拉组件也能控制只显示对应数据级次的节点。
解决方法一:(此方法只适合报表只设置一个数据级次维表)
1、给用户设置分析表数据级次权限,选择对应维表,注意只能设置一个维表,但节点可以多选。
2、分析表内维下拉绑定对应维表后,组件根节点显示属性写 login.datalevels.join(";")获取数据级次维选项数组,并把数组转换成;分割的字符串,勾选“包含根节点”
3、计算效果:
解决方法二:(多个数据级次维表场景)
由于login.datalevels对象表达式只能取到单个维表的数据级次维选项数组,所以多个数据级次维表时没办法使用。
解决思路:
1、给用户维护扩展字段如“机构维表1” ->JG1_、 "机构维表2"->JG2_
2、用户信息里同样给用户维护数据级次权限信息,多个维表节点需要用英文;分割
3、报表维下拉组件根节点显示可以用login.JG1_表达式获取数据级次信息。