本帖最后由 James.Lv 于 2023-1-5 19:09 编辑
BI商业智能工具是基于数据进行可视化展示和分析,数据安全性控制比较重要。
在某些特殊情况下,需要对原始数据在展示的时候就行脱敏处理。
例如,员工姓名、客户姓名、联系方式、身份证号等等。
在Wyn Enterprise当中,可以通过函数和字符串截取组合,来对敏感信息进行处理。
核心:字符串截取函数的表达式写法。
例如:对订单信息中的客户联系人、联系电话进行特殊处理。联系人显示为:张**,电话显示为:(029)****2291,
这样,对外提供脱敏之后的报表或仪表板。对内可以查看原始数据。
具体实现方法示例:
方法一:在数据集中进行脱敏处理;
1.创建数据集:使用示例Excel数据源WynDemoData,Sales_订单关联Sales_客户,查询预览出客户的联系人、联系电话。
2.基于原始字段进行处理:分别对联系人、联系电话进行脱敏处理。
在字段列表中选中【联系人】字段,添加计算字段,对联系人只显示姓,表达式为:concat(substring([联系人姓名],1,1),'**')
含义为:截取姓氏,名字用*号代替,将姓氏和*号再拼接。
3.对电话号码中间4位进行脱敏。
选中【电话】字段,添加计算字段,表达式:concat(substring([电话],1,instr([电话],')')),'****',right([电话],4))
含义为:以区号后括号为分割点,找到其位置,截取区号,对之后的4位数加掩码,再拼接最后4位数。
4.预览数据,发现在原始数据中增加了两个计算字段,并且分别用掩码替换了敏感信息。
在设计报表和仪表板时可以用脱敏的数据绑定。
方法二、在报表中对原始数据列进行隐藏,同时,用表达式进行脱敏处理。
1.使用sales_客户表,创建明细表格;
2.联系人列和电话列添加表达式;
联系人:=Fields!联系人姓名.Value.SubString(0,1) & "**"
电话:=Fields!电话.Value.SubString(0,InStr(Fields!电话.Value,")")) & "****" & right(Fields!电话.Value,4)
3.选中原始姓名列和电话列,打开【隐藏】属性。
4.预览报表,脱敏成功。
|
|