---
order: 6
---
# 项目数据范围设置

项目数据范围设置用来配置不同权限用户访问项目时能看到的模型数据范围的策略，配合[数据级次权限](../permission/grant/datarange.md)一起使用，不同用户登录系统时可以自动过滤数据，保证数据在企业内部不同部门或分公司之间的相互独立性和安全性。

## 数据范围维表{#dim-range}

一个项目中是存在多个[维表](../data-gov/GLOSSARY.md#dimension-table)的，只有部分与**用户**的某种属性存在关联的维表才会设为**数据范围维表**，比如`行政区划维表`（用来表示模型表数据来源地区，和用户所属地之间存在关系）和`机构表`（用来表示模型表数据来源机构，和用户所在机构存在关系）等等，在一个项目中可以设置多个数据范围维表以支持在同一个[常用数据范围](#data-range)中添加多个条件。

如使用`行政区划`维表与[模型表](../data-gov/GLOSSARY.md#data-model)的地区字段进行关联，此时可以定义`行政区划`维表为**数据范围维表**，当满足[数据范围条件](#data-range)所设置地区范围与用户所属地区相同时，只保留符合条件的数据，需要设置以下几个内容：

![数据范围维表](./images/2021-08-19-18-00-12.png)

- **代号**：表示维表的标识符，也是系统存储这条**数据范围维表**信息的标识符，需要确保该标识符不会轻易被修改，若被修改可能会影响已有的权限设置，如`XZQH`
- **简要概述**：用来描述该维表的文字，在[设置数据范围](#data-range)中选择时展示的是这里设置的内容，如`行政区划（服饰数据）`
- **维表**：代表数据层级的维表，下拉列表中包含了这个项目中可查看到的所有模型表信息

## 常用数据范围{#data-range}

在设置**常用数据范围**后，给用户或用户组分配权限时可以直接选用，如下图所示，详情可见[数据级次权限](../permission/grant/datarange.md)。

![预设数据范围](./images/2022-08-24-16-43-00.png)

在设置常用数据范围时，需要说明的是常用数据范围设定有**用户组**，只有**分配权限的用户至少属于其中一个用户组**或者**管理员**才能在权限数据范围分配时使用。

![常用数据范围](./images/2021-08-19-18-00-59.png)

- **名称**：用来表示定义的数据范围，最好取带有业务意义的名称，即方便与其他数据范围进行区分，又可以快速了解该数据范围的作用
- **用户组**：用于限定哪些用户可以使用这项数据范围，即除了“管理员”之外的用户，必须属于这里选定的用户组才能为其他用户分配该项数据范围
- **数据范围**：在第一个下拉框中选择[数据范围维表](#dim-range)中设置的内容，再设置其具体的范围条件，一个条件仅支持对一个维表作出范围限定，在设置了多个维表的情况下，可支持设置多个条件，多个条件之间是“AND”关系，如满足用户查看“华中地区分公司下”下“湖北省销售情况”的数据（需要设置两个数据范围维表，一个是机构维表，一个是行政区划维表）。设置时有以下两种情况：
  - **添加静态的数据范围**：为用户分配具体的数据范围，可选择多个条件，如为用户指定其可查看的数据为湖北省数据，需要在下拉框中选择**选择维项**，随后在弹出的对话框中选择`湖北省`
  - **添加动态的数据范围**：使用表达式获取当前登录用户的某些信息，并以此作为条件动态的展示其权限范围内的数据，如使用表达式`DEPT_PROPERTY('districtID')`获取当前登录用户的所属地（用户所属部门中包含了部门所在地，通过获取部门所在地得到用户所属地区），并使在[数据范围维表](#dim-range)中添加的`行政区划（服饰数据）`等于该用户的所属地，即可得到仅属于其所属地区的数据

在同一个**常用数据范围**中可以添加多个**数据范围**，与上述添加**数据范围条件**不同的是，一个数据范围的多个条件是“AND”关系，一个常用数据范围里添加的多个**数据范围**是“OR”的关系，即满足其中一个数据范围即可，这使得用户可以访问更多的数据。

## 设置默认数据范围{#default-range}

给用户或用户组设置权限后，数据范围默认使用的是**默认数据范围**，如下图，设置权限后数据范围即**默认(当前用户行政区划)**，详情可见[数据级次权限](../permission/grant/datarange.md)。

![默认数据范围效果](./images/2022-08-24-16-46-00.png)

若绝大多数用户或用户组的数据范围是**默认**，并且希望批量修改其**数据范围**时，可以在这里更改**默认数据范围**，再为特定的用户或用户组选择其他**数据范围**，该属性默认为**全部**，即访问所有数据。

![默认数据范围](./images/2021-08-19-18-01-33.png)
