找文章 / 找答案
精选问答 更多内容

[技术功能] 报表需求源源不断?手把手教你提升报表通用性

寻找新技能 显示全部楼层 发表于 2021-5-28 10:48:09 |阅读模式 打印 上一主题 下一主题
什么是数据行级别的权限过滤?通常,我们拿来制作报表的数据是一张记录了大量数据的长表,这类表中有明显的指标分类,例如省份、大区等,如何用同一张报表,针对不同的用户展示其对应分类的指标数据,这就是我们要实现的数据行级别权限控制。
数据行级别的权限控制,使报表的通用性获得提升,减少业务人员的工作量,增加数据展示的灵活性。下面我们来详细解析数据行级别权限控制的简单应用场景。
01 案例解析
场景:
某企业在各大省份均有分公司,业务人员根据全国销售数据制作了一张季度销售分析报表,期望各省份用户仅能查看对应省份销售数据,对此,我们可以使用“行过滤”功能来实现这类行级别的权限控制,下面我们来简单讲解行权限控制的实现方法。
实现方案:
a、新建一个“用户-省份”对应关系数据集:


b、在此数据集上编辑行过滤,在弹出框中设置行过滤:用户是 等于 [?{_USER_}],保存数据集:


c、打开准备好的全国销售数据,例如数据集“咖啡中国市场销售数据”:


d、在数据集“咖啡中国市场销售数据”中创建参数“权限”,可选值选数据集“权限过滤”,标签和值选择“省份”,不勾选弹出:


e、在数据集“咖啡中国市场销售数据”中添加行过滤:省份是 其中一个 [?{权限}]:


f、进入制作报告,打开报告“北京/报表1”,创建表1,绑定数据集“咖啡中国市场销售数据”上的“省份”等列:


g、用户“北京1”登录,进入查看报告,打开报告“北京/报表1”,查看过滤效果:只显示省份为北京的数据。如下图所示:


02 案例扩展
以上我们讲到简单的“用户-分类”结构的权限控制,深层次挖掘行级别权限控制的使用场景,我们针对“用户层级”结构的数据,也能通过行过滤的方案来实现权限控制,场景如下:
现某企业销售部门有张业务员销售表,数据表结构如下所示
业务员
销售额
User01
200
User02
100
User03
150
User04
130



企业销售部门的人员结构如下:
大区负责人
省份负责人
普通业务员
User01
User01
User01
User01
User01
User02
User01
User03
User03
User01
User03
User04



报表开发人员使用“业务员销售数据”制作了一张“业务员销售分析报表”,期望通过行级别数据权限控制,实现如下效果:
普通业务员只能看到自己的销售数据;
省份负责人可以看到所属省份所有业务员的销售数据;
大区负责人可以看到所属大区所有业务员的销售数据。

分析思路:
1.找出业务员所在最高层级
2.找出业务员对应的最底层所有user
3.用步骤2找到的user用于“业务员销售数据集”的行过滤,筛选出最终数据。
03 结语
数据行级别的权限控制,大大提升了数据展示的灵活性,但是针对复杂场景,需要我们具备足够的sql基础和分析能力。

回复

使用道具 举报

高级模式
您需要登录后才可以回帖 登录 | 免费注册

  • 官方微信

    欢迎关注永洪服务号!收费为0,价值无限

    扫码关注
  • 新浪微博

    让每位用户轻松挖掘数据价值!

    访问新浪微博
  • 智能客服
50W

会员等你来哦

Copyright   ©2012-2024  北京永洪商智科技有限公司  (京ICP备12050607) 京公网安备110110802011451号 |《永洪社区协议》
返回顶部