Skip to content

不同用户订阅同一份报表数据内容不同

需求场景

某一家大型全国连锁店的数据分析师,在一个报表中展示公司每个城市分部的日运营情况,该报表需要展示给全公司人看,确保每个城市用户只能查看自己管辖城市的日常运营情况。

解决方法

数据分析师新建数据集,通过用户属性对数据内容进行控制,使不同用户看到的数据内容不同,在此基础上搭建的分析报表展示的内容也不同。 HENGSHI SENSE 系统在数据内容控制上比较灵活,本文介绍常用的两种控制数据集内容展示的方法。

适用人群: 数据分析师(拥有数据分析角色的人) 适用条件: 应用中数据集满足以下条件

  1. 应用中所有数据集都是应用中新建的数据集,不涉及数据集市中的数据集。
  2. 应用的数据模式设置为应用作者或数据集作者。

在数据创建过程中控制数据内容展示

  1. 数据分析师小王创建分析应用,将应用的模式设置为应用所有者或数据集所有者。

  2. 小王创建数据集,包括本地文件、数据连接和 SQL 查询数据集及派生数据集,并且要求用户只能查看自己所在城市的数据。小王注意到数据集中有地区字段与用户属性 city 存在对应关系,所以小王在创建数据集的时候使用用户属性 city 对数据中的地区字段进行匹配, 这样用户只能看到与自己地址一致的数据信息。 示例中是展示了数据连接和 SQL 查询数据两种数据集在创建过程使用用户属性 city 匹配数据集中地区字段的情况,其他数据集可参考设置。

3. 分析师小王使用创建的数据集制作报表,小王的用户属性 city 是天津,所以相关报表也只看到了天津的数据信息。

4. 将报表分享给其他用户,与预期的一样。 用户 A 的 city 属性是陕西,查看的报表仅展示陕西地区运营数据。 用户 B 的 city 属性是成都,查看的报表仅展示成都地区的数据。 用户 C 的 city 属性是南京,查看的报表仅展示南京地区的数据。 5. 从上面步骤可以看出在数据创建(示例中演示的是数据集创建过程,还包括新增字段、原子指标、参数等数据创建)过程使用用户属性对数据内容进行控制以达到对不同用户展示不同数据内容。

在数据创建后控制数据内容展示

  1. 分析师小王创建应用并将数据模式设为应用作者或数据集作者。

  2. 小王创建数据集,包括本地文件、数据连接和 SQL 查询数据集及派生数据集(在数据创建过程中不使用用户属性筛选数据)。

  3. 小王使用数据集进行建模分析,制作公司销售、回款、客户相关信息的日常运营报表,展示如下,能够看到全部地区信息。

  4. 该报表要求不同城市用户只能查看自己所在城市的信息,所以分析师小王在应用设置->权限控制中对数据内容进行控制。将数据中地区的信息与用户属性 city 进行匹配,用户只能查看自己用户属性 city 匹配到的数据,即自己城市的相关数据信息。

5. 权限控制设置后,分析师小王检查自己的报表,自己只能看到所在城市天津的运营数据,符合预期。 6. 将做好的报表分享给其他同事查看。同事 A 的 city 属性是陕西,查看的报表仅展示陕西地区运营数据。 用户 B 的 city 属性是成都,查看的报表仅展示成都地区相关数据。 用户 C 的 city 属性是南京,查看的报表仅展示南京地区相关数据。 7. 从上面示例可以看出,当数据创建完成后可以对数据进行权限控制使不同用户查看不同数据内容。

小结:

本实践中介绍两种控制数据展示的方法。第一种是在数据创建过程进行,第二种是在数据创建后进行。 第一种方法比较灵活,但是也有局限性,在上述示例中如果用户并没有在属性 city 记录用户所在城市,那么第一种方式将无法控制数据内容展示。 第二种方法则有较强的普适性,通过选择用户信息,针对不同用户设置不同的数据内容,使不同城市的用户查看到自己所在城市运营数据。

衡石分析平台使用手册