优阅达 | Tableau 微课堂(66):Tableau Prep 分组和替换

published: 2023-05-31

Tableau Prep 分组和替换

数据清洁中一个常见问题是存在多个代表同一含义的值,如 GB 和 Great Britain(大不列颠)。

为了在 Tableau Prep 中解决这个问题,可以在清洁步骤中利用分组和替换选项。这个选项允许我们对多个值进行分组并用统一值替换它们。

首先,添加一个清洁步骤。在概要窗格中,可以看到数据集中的所有字段。


手动选择

Airbnb listing 字段显示了一个常见的数据清洁问题:如何处理特定信息片段的不一致性。

例如,房间信息( bedroom 或 bathroom )被记录成多种不同的方式,暂时没有简便的编程方法让它们保持一致,因此需要手动分组并替换它们。


首先,单击 Airbnb listing 字段的卡片并打开菜单。选择“分组和替换--手动替换”。


无论先选择的是什么,它都会成为替换值,这里使用 “bath”。


选中替换值后,编辑器右侧将显示其余的值。选中所有需被替换的值,加入分组。


编辑器左侧将显示字段新值的预览,“bath” 旁边显示了一个回形针分组图标,这代表它是一个分组值。


对 “bed” 执行相同操作。在左侧选中它,并从右侧选择要设置分组的值(即被替换的值)。


我们可以看到在右侧的顶部,分组值标记的复选框是灰色的。但是其他值却可以被切换至不同组,如有需要可从分组移除它们。


由于刚刚将 “bth” 从 bath 分组转移至 bed 分组中,现在又将其从 bed 分组中移除了,所以它现在是一个未分组的值。单击左侧栏中 “bath” 组,并将它重新添加回组中。


域外值

值得注意的是,如果刷新这些数据或出现新值,例如 “beds” ,在这个字段中弹出,它不会被添加到任何组中。

如果想确定 “beds” 是否被添加到 “bed” 组中,尽管它目前不在数据域,也可以手动添加它。

在编辑器的左侧,单击“+”图标。输入一个新值 “BEDS” 。


除了用一个红点表示它在定义域之外,其他作用和域内值一样。此时单击 “bed” 组,可以添加新红点值 “BEDS” 。

现在,如果数据刷新了且 “BEDS” 出现在字段中,那么在流程运行时,该值将自行分组。

模糊匹配算法-发音

手动选择可以较好处理不正确、不规则或与期望值有明显差异的情况。然而,还有两个选项可以应用算法来对值进行分组。

在 “Misspellings” 一栏中,有四个常见的拼错单词,每个单词有几个变体。


在每个实例中,错误版本的发音至少大致与正确拼写的发音相同。这是拼写检查程序可能捕捉到的错误类型。

我们可以使用“分组和替换--发音”选项,它将使用 Metaphone 3 算法自动处理这些拼写错误。单击卡片并打开菜单,然后选择“分组和替换--发音”。


这里的分组是自动生成的,我们可以在编辑器的左侧看到新组。因为正确的拼写是最常见的值,所以选择它作为替换值。


如果替换值不是期望值,可以右键单击新组,选择“编辑值”,然后将其修改为期望值。


单击组还将打开编辑器的右侧,并公开组中的值。如果需要,可以手动向组添加或从组中删除。


模糊匹配算法-常用字符

最后一个分组和替换选项是“常用字符”。在 “Name Formatting” 列中,我们看到一些名称被列为姓—逗号—名,而不是常见的先名后姓。我们不想让同一个人有两个值,所以将它们进行分组。


“常用字符”选项是使用 N-gram 指纹算法根据单词的唯一字符进行识别,从而实现识别 Dorian Gary 和 Gray,Dorian 是一样的。

与发音一样,分组是自动的,组中最常见的值将成为替换值。


算法说明

重要的是要记住,算法并不100%精确,建议查阅分组以确保数据没有被错误分组。

自动创建的组也可以像手动分组一样通过单击替换值栏并在右侧进行修改。

虽然单次只能执行分组和替换的其中一种方法,但是如果算法遗漏了应该存在的组,除了自动分组之外,还可以在编辑器中手动创建分组。


编辑值

最后,如果我们需要简单地处理 “typo” 列或其他小规模问题,可以直接“编辑值”。例如,如果通过右键单击来纠正 Tableau 的拼写错误并编辑该值,它将自动与正确值分为一组。


本节 Tableau 微课堂到此结束,感谢你的耐心阅读。

下节课将带你学习了解 Tableau Prep 概要窗格。