创建空间计算和联接
在 Tableau Prep Builder 版本 2026.1 及更高版本以及 Web 上受支持。
今天,您可以在 Tableau Prep Builder 中或 Web 上的 Tableau Prep 中连接到空间文件和空间数据源。现在,从版本 2026.1 开始,您还可以使用计算字段的空间函数清理和转换空间数据。您也可以在“联接”步骤中创建空间联接。这使您能够在 Tableau Prep 中执行复杂的空间任务,从而使 Tableau 中的空间数据分析更易于访问和高效。有关可以连接到哪些空间文件格式和数据库的信息,请参见连接到数据(链接在新窗口中打开)中的“连接到空间文件和数据库”。
Tableau Prep 支持许多与 Tableau Desktop 相同的空间计算函数。例如,您可以使用 MAKEPOINT 函数将纬度和经度字段数据转换为文本文件中的 Tableau 点值。使用 VALIDATE 函数确认点、多边形或线字段值的拓扑正确性。您甚至可以要求 Tableau Agent 为您创建这些计算。
在 Tableau 中联接空间数据可能会消耗宝贵的资源并影响整体性能。通过在 Tableau Prep 中执行空间联接,您可以提前加载此过程,并在开始空间分析之前使用干净的空间数据简化可视化项制作。
限制
虽然 Tableau Prep 支持许多与 Tableau Desktop 相同的空间特性和函数,但也有一些限制。
Tableau Agent 可以创建空间计算,但还不能创建空间联接。
无法将 .mif 和 .shp 文件上载到 Web 制作。
Tableau Prep 无法将 Tableau 空间值转换为 WKT(众所周知的文本格式)、GeoJSON 或任何其他空间数据类型格式。
此功能不支持高级空间处理,例如从多边形中移除孔或将多边形转换为折线。
Tableau Prep 中的空间联接仅支持在空间字段类型上进行联接。若要将空间数据与文本文件中的经度和纬度字段等非空间数据联接,请首先使用该数据的空间函数创建一个计算字段。例如,使用 MAKEPOINT 空间函数将纬度和经度字段数据转换为点字段。
包含空间数据的流程只能输出到 .hyper 文件或作为已发布数据源。当前不支持其他输出类型。
当前不支持空间并集。
创建空间计算
您可以使用 Spatial 函数将经度和纬度字段或表示位置的其他字段(如邮政编码或国家/地区名称)转换为空间字段类型。Tableau Prep 支持以下空间函数。有关这些函数和语法的详细信息,请参见 Tableau Desktop 和 Web 制作帮助中的空间函数(链接在新窗口中打开)。
| 函数 | 语法 | 何时使用此函数 |
| AREA | AREA(Spatial Polygon, 'units') | 计算土地价值 示例:确定房地产地块的总面积以计算每平方英尺的价格。 |
| BUFFER | BUFFER(Spatial point, distance, 'units') | 贸易区分析 示例:在新门店位置周围划定一个 15 公里范围的“服务覆盖区”,以确定哪些顾客居住在可驾车到达的距离内。 |
| DIFFERENCE | DIFFERENCE(Spatial, Spatial) | 排除区域 示例:选取一个销售区域的多边形,并“剔除”受保护的森林区域或竞争对手的销售范围,以确定实际应税区域。 |
| DISTANCE | DISTANCE(SpatialPoint1, SpatialPoint2, 'units') | 交付优化 示例:计算仓库距离发运中心有多远,以标记任何超过“本地”运费的货件。 |
| INTERSECTION | INTERSECTION (spatial, spatial) | 寻找共享空间 示例:确定两个不同野生动物栖息地交汇的具体重叠区域,以研究物种间的相互作用。 |
| INTERSECTS | INTERSECTS (geometry1, geometry2) | 筛选数据 示例:返回 True 或 False。使用此函数作为筛选器,仅保留位于特定“高增长”学区内的门店位置。 |
| LENGTH | LENGTH (geometry,'units') | 基础结构规划 示例:测量光纤电缆线路的总里程,以估算网络扩展的材料成本。 |
| MAKELINE | MAKELINE(SpatialPoint1, SpatialPoint2) | 物流路线 示例:创建始发地机场和目的地之间的缩短距离,以可视化全球航班航线。 |
| MAKEPOINT | MAKEPOINT(latitude, longitude, [SRID]) | 原始数据地理编码 示例:将包含纬度和经度坐标的电子表格转换为 Tableau 可以映射的实际地理点。 |
| OUTLINE | OUTLINE(spatial polygon) | 突出显示边界 示例:提取复杂城市形状的边界,为地图叠加层创建一条清晰的“外围”轮廓线。 |
| SHAPETYPE | SHAPETYPE(geometry) | 审计数据 示例:确定空间列是否包含点、线或多边形,以确保在将数据集与其他数据联接之前保持一致。 |
| SYMDIFFERENCE | SYMDIFFERENCE(spatial, spatial) | 变化检测 示例:对比 2020 年和 2024 年的洪水区域地图,找出仅在其中一年被淹没、而非两年都被淹没的区域。 |
| VALIDATE | VALIDATE(spatial geometry) | 数据清理 示例:检查点、线串和多边形(如邮政编码、城市、州/省/市/自治区等)是否有效或损坏。使用此选项可以筛选出可能使流程崩溃的损坏形状。此计算可能需要一段时间来运行。 |
为空间数据创建计算字段
连接到包含空间数据的数据源。
在“配置”窗格工具栏中单击“创建计算字段”,或在配置卡或数据网格中单击“更多选项”
菜单,并选择“创建计算字段”>“自定义计算”。在计算编辑器中,输入计算的名称,并在“引用”字段下拉菜单中选择“空间”。

选择要计算的空间函数,然后输入表达式。
举例来说,如果您有一个包括纬度和经度值的文件,并且您想要计算门店周边 5 英里范围内的人口数,则可以使用 BUFFER 函数和下面所示的语法创建一个计算字段。

创建空间联接
就像任何其他联接类型一样,您可以在“联接”步骤中对空间数据执行联接。当数据源包含空间数据,且字段被分配了地理空间数据类型
时,现在可以在联接子句中看到用于“相交”的新运算符。对于空间联接,Tableau Prep 支持现有相同的联接功能以及一些附加功能。有关在 Tableau 中联接数据的详细信息,请参见联接您的数据(链接在新窗口中打开)。
当 Tableau Prep 识别数据集中的地理空间字段时,默认情况下它会将相交联接类型应用于匹配字段。任何其他地理空间字段匹配项显示在“联接子句建议”部分中,您可以通过单击它们来添加这些匹配项。
对于空间联接,您可以将光标悬停在 Intersects 运算符上以查看有关联接的可视工具提示。通过单击出现在“联接结果汇总”部分中的“在 Tableau Desktop 中预览”按钮,在 Tableau Desktop 中检查结果。

您只能在空间字段类型上进行联接。如果需要将非空间数据与空间数据联接,您可以使用其中一个空间函数为非空间数据(例如经度或纬度字段)创建计算字段,然后创建联接。
支持的空间联接包括:
点对点
点对线
点对多边形
线对线
线对多边形
多边形对多边形
我需要哪种联接类型?
您选择的联接类型将取决于可视化项的目标。
内部联接:选择此联接类型以筛选两个数据集,并仅可视化化数据集共有的几何图形。
左联接或右联接:选择此联接类型以筛选一个数据源中的数据,并可视化另一个数据源中的所有几何图形以及它们的共有的点。
外部联接:选择此联接类型以可视化两个数据源中的所有几何图形。
空间联接支持 Tableau Prep 中的所有联接类型。有关联接类型的详细信息,请参见联接您的数据(链接在新窗口中打开)。
联接空间数据
若要创建空间联接,请执行以下操作:
将至少两个包括空间数据的表添加到“流程”窗格,然后选择并将相关的表拖到其他表上,直至显示“联接”选项。这将在流程中创建一个新的“联接”步骤。

在联接步骤的“设置”选项卡中,查看“已应用联接子句”。默认情况下,Tableau Prep 使用 Intersects 运算符创建用于匹配地理空间字段的联接子句。通过单击字段或运算符来编辑联接子句。将光标悬停在 Intersects 运算符上可查看有关联接的可视工具提示。

在“联接类型”部分,单击维恩图以更改联接类型。
在“联接结果汇总”部分,查看由于联接类型和联接条件的原因而包括和排除的字段数。在“联接子句”窗格中,您可以看到联接子句中每个字段中的值。不符合联接子句条件的值将以红色文本显示。您也可以单击“在 Desktop 中预览”以在 Tableau 中测试结果。

在“联接子句建议”部分,您可以查看任何建议的联接子句匹配项并将其添加到“已应用联接子句”列表中。
