如何在PowerBI中匿名/屏蔽字符串的一部分?

弗劳克耶

假设我正在为名为“荷兰航空”的客户创建一个饼图,为此,我想在饼图中显示与其他客户的重叠情况,包括“匈牙利航空”,“爱尔兰爱尔兰”和“冰岛航空”的客户。根据客户的隐私规定,我只能显示部分名称,例如其名称的前三个或四个字母。“荷兰航空”因此更改为“ Air xxxxxxx”

为了现在在饼图中实现此功能,我创建了一个新的CustomerNameMasked列,该列采用客户名称,并将除前四个字符之外的所有字符替换为'x'。理想情况下,我想在饼图中使用CustomerName作为图例,然后将CustomerNameMasked作为标签,以便使用CustomerName创建饼图,但是将显示被屏蔽的名称。

但是,据我所知,这样的标签是不可能的,所以现在我将CustomerNameMasked用作我的图例列。但是,由于这些名称不是唯一的(例如,CustomerNameMasked列中的“ Air匈牙利”和“ Air Holland”均为“ Air xxxxxxx”),因此将不同的客户汇总在一起。

有什么想法如何创建唯一的蒙版客户名吗?还是另一种解决方法,以确保我的饼形图正确显示每个客户的数据,但图例显示带掩码的名称?

用户名

防止匿名名称在可视化中合并的一种方法是确保它们不相同。


添加计算列:

Anonymised = "Airline " & RANKX('MyTable','MyTable'[CustomerName],,ASC,Dense)

结果:

Airline 1
Airline 2
Airline 3
...

如果您喜欢x

添加Anonymised_Name表格

Name             Anonymised Name
"Air Holland"    "Air xxxxxxx"
"Air Hungary"    "Air xxxxxxx "
"Air Iceland"    "Air xxxxxxx  "

使用“假空间”(数字键盘上的alt + 0160)可防止PowerBI吞下它。添加关系并在可视化中使用此列。

我更喜欢以前的选项,因为它可以更容易区分和跟踪单个客户。


如果您不关心“ x”的数目是否与真实姓名匹配:

Anonymised_Name_2 = "Air XXXXXXX" & REPT(" ", 
  RANKX('MyTable','MyTable'[CustomerName],,ASC,Dense))

(再次假空间alt + 0160)


取决于您对报告的处理方式,真实客户名“泄漏”的风险很大,因此,理想情况下,您需要在导入数据之前对数据进行匿名处理。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JavaScript中的“:”之前删除字符串的一部分?

如何在JavaScript中获取字符串的最后一部分?

如何在recyclerview中隐藏字符串的一部分?

如何在PHP中替换字符串的一部分?

如何在Java中检索字符串的一部分?

如何在JavaScript中删除字符串的最后一部分?

如何在python数组中查找字符串的一部分

如何在javascript中替换字符串的一部分

如何在laravel 5.2中仅显示字符串的一部分?

如何在python列表中删除字符串的一部分?

如何在C中删除字符串的最后一部分

如何在 Oracle 中获取 JSON 字符串的一部分

如何在C中打印字符串的一部分

如何在PHP中删除字符串的一部分?

如何在 PHP 中隐藏/替换字符串的一部分?

用正则表达式屏蔽字符串的一部分

使用RegExp屏蔽字符串的一部分

使用正则表达式屏蔽字符串的一部分

如何从特定字符中删除字符串的一部分?

如何在R中替换数据框中的字符串的一部分?

如何在蜂巢中提取字符串的一部分

如何在iOS中将字符串的一部分加粗?

如何在JSON中转换字符串的一部分?

如何在PHP中将“&”作为字符串的一部分传递?

如何在Java中使用字符串的一部分?

如何在RDD中提取一部分字符串?

如何在SQL中将NULL连接为字符串的一部分

如何在python中将字符串用作变量的一部分

如何在javascript中提取字符串的一部分?