聚合、联接或合并数据
对数据进行聚合、联接或合并,以便将数据分组或合并来进行分析。
注意:从版本 2020.4.1 开始,您现在可以在 Tableau Server 和 Tableau Cloud 中创建和编辑流程。除非特别指出,本主题中的内容适用于所有平台。有关在 Web 上制作流程的详细信息,请参见 Tableau Server(链接在新窗口中打开) 和 Tableau Cloud(链接在新窗口中打开) 帮助中的 Web 上的 Tableau Prep。
对值进行聚合和分组
有时,您将需要调整某些数据的粒度,以便减少从流程中生成的数据量,或将数据与可能需要联接或合并在一起的其他数据对齐。例如,在将销售额表与客户表联接之前,您可能需要按客户聚合销售额数据。
如果需要调整数据的粒度,请使用“聚合”选项创建用于分组和聚合数据的步骤。对数据进行聚合还是分组取决于数据类型(字符串、数字或日期)。
在“流程”窗格中,单击加号 图标,并选择“聚合”。一个新的聚合步骤将显示在“流程”窗格中,并且“配置”窗格将更新以显示聚合和分组配置。
将字段从左侧窗格拖动到“分组字段”窗格(构成行的字段)或拖动到“聚合字段”窗格(将在分组字段级别聚合和显示的数据)。
您还可以:
在两个窗格之间中拖放字段。
在列表中搜索字段,并仅选择要包括在聚合中的字段。
双击字段,将其添加到左侧或右侧窗格。
更改字段的函数以将其自动添加到适当的窗格。
单击“全部添加”或“全部移除”以批量应用或移除字段。
将特定清理操作应用于字段。有关可以使用哪些清理选项的详细信息,请参见关于清理操作(链接在新窗口中打开)。
以下示例将显示利润和数量的总和,以及按地区和销售年份划分的平均折扣。
字段基于其数据类型分布在“分组字段”和“聚合字段”列之间。单击分组或聚合类型(例如,AVG 或 SUM)标题以更改分组或聚合类型。
在聚合和分组配置下方的数据网格中,您可以看到分组或聚合成员的示例。
系统会在“更改”窗格中跟踪对字段执行的所有清理操作。
联接数据
要分析的数据通常由与特定字段相关的表的集合组成。联接是一种在这些公共字段上合并相关数据的方法。使用联接合并数据后会产生一个通常通过添加数据字段横向扩展的表。
联接是一种可在流程中的任何地方执行的操作。在流程前期进行联接可帮助您了解您的数据集,并揭示出需要立即关注的区域。
Tableau Prep 支持以下联接类型:
联接类型 | 描述 |
---|---|
左联接 | 对于每一行,包括左侧表的所有行,以及右侧表中任何对应的匹配项。当左侧表中的值在右侧表中没有对应匹配项时,您将在联接结果中看到 null 值。 |
内部联接 | 对于每一行,包括在两个表中具有匹配项的值。 |
右联接 | 对于每一行,包括右侧表中的所有值,以及左侧表中的对应的匹配项。当右侧表中的值在左侧表中没有对应匹配项时,您将在联接结果中看到 null 值。 |
仅左联接 | 对于每一行,仅包括左侧表中与右侧表中的任何值不匹配的值。右侧表中的字段值在联接结果中显示为 null 值。 |
仅右联接 | 对于每一行,仅包括右侧表中与左侧表中的任何值不匹配的值。左侧表中的字段值在联接结果中显示为 null 值。 |
非内部联接 | 对于每一行,包括右侧和左侧表中不匹配的所有值。 |
完全联接 | 对于每一行,包括两个表中的所有值。当任一表中的值在另一个表中没有匹配项时,您将在联接结果中看到 null 值。 |
若要创建联接,请执行以下操作:
使用以下方法之一联接两个表:
- 将至少两个表添加到“流程”窗格,则选择并将相关的表拖到其他表上,直至显示“联接”选项。
- 单击 图标并从菜单中选择“联接”,然后将其他输入手动添加到联接,并添加联接子句。
注意:如果连接到表关系已定义并包含相关字段的表,则可以选择“联接”,并从相关表列表中进行选择。Tableau Prep 基于组成两个表之间的关系的字段创建联接。
有关包含表关系的连接器的详细信息,请参见在“输入”步骤中联接数据(链接在新窗口中打开)。将会向流程中添加一个新联接步骤,并且配置窗格将更新以显示联接配置。
若要查看和配置联接,请执行以下操作:
查看“联接结果汇总”,查看由于联接类型和联接条件的原因而包括和排除的字段数。
在“联接类型”下的维恩图中单击以指定所需联接的类型。
在“已应用联接子句”下,单击加号 图标,或在为默认联接条件选择的字段上指定或编辑联接子句。您在联接条件中指定的字段是联接中各表之间的共同字段。
您可以单击“联接子句建议”下显示的建议联接子句,将子句添加到已应用联接子句的列表。
检查联接的结果
联接配置中的汇总显示有关联接的元数据,帮助您验证联接是否包括预期的数据。
已应用联接子句:默认情况下,Tableau Prep 基于所联接的表中的共同字段名称定义第一个联接子句。根据需要添加或移除联接子句。
联接类型:默认情况下,当您创建联接时,Tableau Prep 在表之间使用内部联接。根据您连接到的数据,您也许能够使用左联接、内部联接、右联接、仅左联接、仅右联接、非内部联接或完全联接。
联接结果汇总:“联接结果汇总”显示包括在联接的表中和从中排除的值的分布。
单击每个“已包括”条形以隔离并查看包括在联接中的联接配置中的数据。
单击每个“已排除”条形以隔离并查看从联接中排除的联接配置中的数据。
单击“已包括”和“已排除”条形的任何组合以查看数据的累积性洞察。
联接子句建议:单击建议联接子句旁边的加号 图标以将其添加到“已应用联接子句”列表。
“联接子句”窗格:在“联接子句”窗格中,您可以看到联接子句中每个字段中的值。不符合联接子句条件的值将以红色文本显示。
“联接结果”窗格:如果在“联接结果”窗格中看到要更改的值,您可以在此窗格中编辑值。
常见联接问题
如果在联接数据后未看到预期结果,您可能需要对字段值执行一些额外的清理操作。以下问题会导致 Tableau Prep 将值读取为非匹配值,并将其从联接中排除:
大小写不同:“My Sales”和“my sales”
拼写不同:“Hawaii”和“Hawai'i”
拼写错误或数据录入错误:“My Company Health”和“My Company Heath”
名称变化:“John Smith”和“John Smith Jr.”
缩写:“My Company Limited”和“My Company Ltd”
额外的分隔符:“Honolulu”和“Honolulu (Hawaii)”
额外的空格:这包括字符之间的额外空格、制表符空格或者额外的前导或尾随空格
句点的使用不一致:“Returned, not needed”和“Returned, not needed.”
好消息是,如果您的字段值存在任何这些问题,您可以直接在“联接子句”中直接修复这些字段值,或者通过在“联接结果汇总”中单击“已排除”栏使用已排除的值,并在配置卡菜单中使用清理操作。
有关可在“联接”步骤中使用的不同清理选项的详细信息,请参见关于清理操作(链接在新窗口中打开)。
修复不匹配的字段以及更多操作
您可以直接在联接子句中修复不匹配的字段。双击或右键单击值,从要修复的字段上的上下文菜单中选择“编辑值”,并输入一个新值。系统会对您的数据更改进行跟踪,并将更改添加到“联接”步骤中的“更改”窗格。
您也可以在“联接子句”窗格中选择要保留、排除或筛选的多个值,或在“联接结果”窗格中应用其他清理操作。根据您更改的字段以及这些字段位于联接过程中的何处,将会在联接之前或之后应用您所做的更改,以便为您提供更正的结果。
有关清理字段的详细信息,请参见应用清理操作(链接在新窗口中打开)。
合并数据
并集是一种通过将一个表的行附加于是另一个表来合并数据的方法。例如,您可能需要将一个表中的新事务添加到另一个表中的过去的事务列表。确保您合并的表具有相同的字段数、相同的字段名称,并且字段的数据类型相同。
提示:为了最大程度地提升性能,一个并集最多可以有 10 个输入。如果需要合并超过 10 个文件或表,请尝试在输入步骤中合并文件。有关这种类型的合并的详细信息,请参见在输入步骤中合并文件和数据库表(链接在新窗口中打开)。
与联接类似,您可以在流程中的任何地方使用合并操作。
若要创建并集,请执行以下操作:
将至少两个表添加到流程窗格之后,选择并将相关的表拖到其他表上,直至显示“并集”选项。您也可以单击 图标,并从菜单中选择“并集”。将会在“流程”窗格中添加一个新的并集步骤,并且“配置”窗格将更新以显示并集配置。
通过将表拖到合并的表,直至看到“添加”选项,向并集中添加其他表。
在并集配置中,查看有关并集的元数据。您可以从并集中移除表,以及查看有关任何不匹配字段的详细信息。
检查并集的结果
创建并集之后,请检查并集的结果以验证并集中的数据符合预期。若要验证合并数据,请检查以下区域:
查看并集元数据:并集配置显示有关并集的一些元数据。在这里您可以看到组成并集的表、生成的字段数以及任何不匹配的字段。
查看每个字段的颜色:并集摘要中列出的每个字段的旁边以及并集配置中每个字段的上方有一组颜色。这些颜色与并集中的每个表对应。
如果为该字段显示所有表颜色,则该字段的合并操作执行正确。缺少一种表颜色表明有不匹配的字段。
不匹配的字段是指可能包含类似数据但在某些方面有所不同的字段。您可以在并集摘要中看到不匹配字段的列表,以及它们所来自的表。如果想要更仔细地查看字段中的数据,请选中“仅显示不匹配字段”复选框来隔离并集配置中的不匹配字段。
若要修复这些字段,请按照下面修复不匹配的字段部分中的建议之一进行操作。
修复不匹配的字段
当并集中的表不匹配时,合并操作将会生成额外的字段。这些额外字段是从其对应上下文中排除的有效数据。
为了解决字段不匹配问题,您必须将不匹配的字段合并在一起。
字段之所以可能不匹配,有很多原因。
对应的字段名称不同:如果表之间的对应字段的名称不同, 您可以使用并集建议手动合并“不匹配字段”列表中的字段,或者重命名并集配置中的字段,将不匹配的字段合并在一起。
若要使用并集建议,请执行以下操作:
在“不匹配字段”列表中,单击某个不匹配的字段。如果存在建议的匹配项,则匹配字段将以黄色突出显示。
建议的匹配项基于具有类似数据类型和字段名的字段。
将光标悬停在突出显示的字段上,并单击加号图标来合并字段。
若要手动合并“不匹配字段”列表中的字段,请执行以下操作:
在列表中选择一个或多个字段。
右键单击或按住 Ctrl 单击 (MacOS) 所选字段,如果合并有效,“合并字段”菜单选项将出现。
如果在右键单击字段时看到“无可用选项”,这是因为字段不符合合并条件。例如,尝试合并来自同一输入的两个字段就不符合条件。
单击“合并字段”来合并所选字段。
若要在并集配置窗格中重命名字段,请右键单击字段名,并单击“重命名字段”。
对应的字段名称相同,但类型不同:默认情况下,如果对应字段的名称匹配,但字段的数据类型不匹配,Tableau Prep 将会更改其中一个字段的数据类型,使它们相互兼容。如果 Tableau Prep 进行此更改,则会在合并的字段上用一个“更改数据类型”图标加以注明。
某些情况下,Tableau Prep 可能无法选取正确的数据类型。如果发生这种情况,并且您想要撤消合并,请右键单击或按住 Ctrl 单击 (MacOS)“更改数据类型”图标,并选择“分隔具有不同类型的输入”。
然后,您可以通过以下方式再次合并字段:首先更改其中一个字段的数据类型,然后按照其他合并字段选项中的建议进行操作。对应的表的字段数不同:为了合并表,并集中的每个表必须包含相同数量的字段。如果并集产生了额外的字段,请将字段合并到一个现有字段中。
其他合并字段选项
除了上面有关合并字段的部分中介绍的方法外,您还可以使用以下方法之一来合并字段。您可以在除“输出”步骤之外的任何步骤中合并字段。
有关如何合并同一文件中的字段的信息,请参见合并字段。
若要合并字段,请执行以下操作之一:
将一个字段拖放到另一个字段上。将显示“放置以合并字段”指示符。
选择多个字段,并在所选范围内右键单击以打开上下文菜单 ,然后单击“合并字段”。
选择多个字段,然后在上下文相关工具栏上单击“合并字段”。