# 如何配置数据角色
数据角色,也叫字段角色,是对数据概念的业务归类,比如“日期"、"手机号码”,“身份证号”。
用户可以将自定义角色添加到自定义字段角色表 (opens new window)(/sysdata/data/tables/dw/DW_FIELD_CUSTOM_ROLES.tbl),表中定义的属性是系统内置属性,设置之后会在系统中自动发挥作用,包括:
- 数据脱敏,用户设置了该角色,且包含这个属性,所有明细查询都会自动返回数据脱敏后的结果。
- 是否合法,业务模块在过滤时可以作为过滤条件进行过滤。
- 数据校验信息,数据校验不合法时可以在界面上提示用户。
- 是否匹配,搜索时可根据该属性判断是否要搜索这个字段。
- 是否为空。
除此之外,用户可以定义个性化的属性在角色的关联维表中,这些属性可以在表达式和过滤条件中使用,使用方法和维项表达式相同。
元数据格式即维表的json结构,需要添加主键作为映射字段名,同时添加自定义计算字段,这些计算字段可以作为属性在模型中使用,可以是有实体的维表,也可以是个虚拟维表。
下面以一个身份证号的字段角色作为例子:
{
"version": "4.0.0",
"properties": {
"modelDataType": "App",
"primaryKeys": ["ID"]
},
"dimensions": [{
"name": "ID", // 主键必需,其他属性可以用这个主键进行表达式判断
"dataType": "C",
"length": 20,
"decimal": 0,
"isDimension": true,
"isPrimaryKey": true,
"originalField": "ID"
}, {
"name": "数据脱敏", // 设置了这个属性,查询明细数据时会自动返回脱敏后的结果
"dataType": "C",
"length": 50,
"decimal": 0,
"isDimension": true,
"originalField": "MASK",
"exp": "CONCAT(LEFT([ID], 3), '****', RIGHT([ID], 4))"
}, {
"name": "是否合法",
"dataType": "I",
"length": 2,
"decimal": 0,
"isDimension": true,
"originalField": "ISVALID",
"exp": "IF(LEN([ID])=18 or LEN([ID])=15, 1, 0)" // 表达式可以自定义修改
}, {
"name": "是否为空",
"dataType": "I",
"length": 2,
"decimal": 0,
"isDimension": true,
"originalField": "ISNULL",
"exp": "[ID] is null"
}, {
"name": "数据校验信息",
"dataType": "C",
"length": 64,
"decimal": 0,
"isDimension": true,
"originalField": "AUDITMSG",
"exp": "'身份证号不合法'"
}],
"measures": []
}
0条评论
评论