-
-
chenl 数据达人Lv4
发表于2018-8-31 10:43
悬赏1
已解决
需求:现在各品牌总监用户登录bi后,只能看到他所管辖品牌的网点及数据,请问怎么实现?
chenl 发表于 2018-8-31 11:44
可能我的需求没描述清楚,我是想该品牌总监用户登录后,bi分析表的单位级次维里,过滤掉其他品牌网点的机构 ...
我们产品维表在过滤里面支持 函数获得指定的属性的值,item.getField("

所以就是可以在维的节点过滤里面写 item.getField("

如果在用户拓展字段里面增加的PP,总监用户都维护了具体品牌,其他用户该拓展字段为空的话
则在维的节点过滤里面设置if(len(login.user.pp)=0,true,item.getField("

12个回答
想确认以下几点:
1、总监用户是否都在“集团”这个机构节点下?
2、总监用户和所管辖品牌是否是一对多的关系?这个对应关系是否在数据库表中有维护?
主题表里有品牌字段吗?如果没有品牌字段,建议增加品牌字段,品牌字段关联品牌维表进行过滤。品牌维表的内容需要和品牌总监的id设置好关联。过滤的做法有两种:1.如果分析表不多,可以在分析表中通过过滤条件限制。 2.如果分析表比较多,可以在权限中设置。在权限中通过数据权限中编辑维过滤来实现。
以上是解决的思路,具体实现方案需要提供更详细的信息。
1.总监用户在集团机构下
2.总监用户只管一个品牌,比如宝马品牌总监只管宝马品牌的网点,在数据库中没对应关系,如果要加对应关系,加在哪些地方
3.主题表中没有品牌字段,但是可以关联其他主题表获取品牌字段。
另外,我提供一个思路,能否在用户加一个扩展品牌的字段,然后在机构维表中加个品牌扩展字段,这样通过什么方式关联过滤
chenl 发表于 2018-8-31 11:31
1.总监用户在集团机构下
2.总监用户只管一个品牌,比如宝马品牌总监只管宝马品牌的网点,在数据库中没对应关 ...
你这个思路,试试用diminf函数写过滤条件看看能不能实现
chenl 发表于 2018-8-31 11:31
1.总监用户在集团机构下
2.总监用户只管一个品牌,比如宝马品牌总监只管宝马品牌的网点,在数据库中没对应关 ...
你说的 两边同时增加拓展字段的方式可以实现,但是需要在每张分析表上都增加过滤条件。。
if(len( login.user.拓展字段)=0,true,diminf(“维表”,id,"品牌字段")= login.user.拓展字段)
本帖最后由 chenl 于 2018-8-31 11:55 编辑
可能我的需求没描述清楚,我是想该品牌总监用户登录后,bi分析表的单位级次维里,过滤掉其他品牌网点的机构,这样最后查询的数据自然是该所辖品牌网点的数据,现在问题是机构维表做的单位级次维里面包含了所有网点。对了,这里分析表需要必须用单位级次维,因为机构的里面的各级需要看自己所辖网点的数据,现在这个品牌有点尴尬,它不在机构级次里,因为品牌网点混杂在各级中,没法归到级次中
chenl 发表于 2018-8-31 11:44
可能我的需求没描述清楚,我是想该品牌总监用户登录后,bi分析表的单位级次维里,过滤掉其他品牌网点的机构 ...
我们产品维表在过滤里面支持 函数获得指定的属性的值,item.getField("

所以就是可以在维的过滤里面写 item.getField("

以上是思路
chenl 发表于 2018-8-31 11:44
可能我的需求没描述清楚,我是想该品牌总监用户登录后,bi分析表的单位级次维里,过滤掉其他品牌网点的机构 ...
我们产品维表在过滤里面支持 函数获得指定的属性的值,item.getField("

所以就是可以在维的节点过滤里面写 item.getField("

如果在用户拓展字段里面增加的PP,总监用户都维护了具体品牌,其他用户该拓展字段为空的话
则在维的节点过滤里面设置if(len(login.user.pp)=0,true,item.getField("

大白 发表于 2018-8-31 12:03
我们产品维表在过滤里面支持 函数获得指定的属性的值,item.getField("") ,PP为品牌字段
所以就是可以 ...
感觉可行,谢谢大神,我试试