页面树结构
转至元数据结尾
转至元数据起始

数据模型的行权限通过参数进行控制,可以通过如下两种方式来实现:

实现方式实现方法适用场景
通过SQL查询设置数据权限

在SQL查询的where条件中设置数据权限表达式。

实现方法请参见:SQL/原生SQL数据集数据权限

数据模型中含有SQL查询。
通过数据模型参数设置数据权限

通过在数据模型参数中应用“用户属性”和“函数”来实现。

详情请参见:数据模型参数设置数据权限

  • 数据模型中SQL查询过多,针对每个SQL查询设置数据权限操作过于繁琐。
  • 只想针对数据模型级别设置数据权限。

若数据模型中含有库表,且库表已经设置了数据行权限,则数据模型会继承该数据权限。

数据模型参数设置数据权限

数据模型中通过在参数定义中应用“用户属性”和“函数”来实现数据权限设置:将当前用户的属性与参数进行关联后,达到控制用户数据权限的目的。

数据权限控制实现主要有两个要点:

  • 私有查询必须含有参数。
  • 私有查询的参数必须在数据模型参数面板中定义好与“用户属性”或“函数”的关联。

下面,我们通过示例来演示效果:当前登录用户只允许查看其所属区域的数据。

参数引用用户属性

引用用户属性在数据模型中实现数据权限控制的具体操作如下:

1、在“公共设置”界面定义好如下用户属性:

2、在数据模型中定义好带“ShipRegion”参数的即席查询。

3、设置好数据模型的维度和度量:

4、在数据模型的参数面板中定义参数引用“用户属性”:

5、保存数据模型。

6、基于该数据模型创建自助仪表盘后,用属于“华南”区域的用户“ddd”登录查看效果:

参数引用函数

引用函数在数据模型中实现数据权限控制的具体操作如下:

1、数据模型中定义好带“ShipRegion”参数的即席查询。

2、设置好数据模型的维度和度量:

3、在数据模型的参数面板中定义参数引用“函数”:

4、保存数据模型。

5、基于该数据模型创建自助仪表盘后,用属于“华南”区域的用户“ddd”登录查看效果:


  • 无标签