报表需求源源不断?手把手教你提升报表通用性

今日头条

1142人已加入

描述

什么是数据行级别的权限过滤?通常,我们拿来制作报表的数据是一张记录了大量数据的长表,这类表中有明显的指标分类,例如省份、大区等,如何用同一张报表,针对不同的用户展示其对应分类的指标数据,这就是我们要实现的数据行级别权限控制。

数据行级别的权限控制,使报表的通用性获得提升,减少业务人员的工作量,增加数据展示的灵活性。下面我们来详细解析数据行级别权限控制的简单应用场景。

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基础和分析能力。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分