JSON 文件
本文介绍如何将 Tableau 连接到本地 JSON 文件并设置数据源。
进行连接并设置数据源
启动 Tableau,并在“连接”下选择“JSON 文件”。然后执行以下操作:
选择要连接到的文件,然后选择“打开”。
在“选择架构级别”对话框中,选择您想要在 Tableau 中进行查看和分析的架构级别,然后选择“确定”。有关详细信息,请参见选择架构级别。
在数据源页面上,执行下列操作:
(可选)在页面顶部选择默认数据源名称,然后输入要在 Tableau 中使用的唯一数据源名称。例如,使用可帮助其他数据源用户推断出要连接的数据源的数据源命名约定。
选择工作表标签以开始分析。
JSON 文件数据源示例
下面是在 Windows 计算机上使用 Tableau Desktop 的 JSON 文件数据源的示例:
选择架构级别
将 Tableau 连接到 JSON 文件时,Tableau 会扫描 JSON 文件的前 10,000 行中的数据,并从该过程中推断架构。Tableau 将使用这种推断出的架构展平数据。“选择架构级别”对话框中列出了 JSON 文件架构级别。在 Tableau Desktop 中,如果您的 JSON 文件超过 10,000 行,您可以使用“扫描整个文档”选项来创建架构。
注意:只会为超过 10,000 行的 JSON 文件显示“扫描整个文档”选项。该选项在 Web 上不可用。
您在对话框中选择的架构级别确定哪些维度和度量可供您在 Tableau 中查看和分析。它们还确定发布哪些数据。
注意:当您将工作簿发布到 Web 时,任何架构更新都将无法用于该可视化项的 Web 版本,并且如果随后刷新该可视化项,则可能会导致错误
如果选择某个子架构级别,则父级别也会被选定。
例如,下面是 JSON 文件的一个片段: | JSON 文件生成以下架构级别: |
检测新字段
有时,行中存在没有为创建推断架构而扫描的更多字段。如果您注意到“架构”下面缺少您需要的字段,则可以选择执行以下操作之一:
扫描整个 JSON 文档。完成扫描可能需要很长时间。
从列出的架构中选择架构级别,然后选择“确定”。Tableau 会读取整个文档,如果找到更多字段,它们将列在“选择架构级别”对话框中。
每当 Tableau 检测到新的字段可用时,例如,在数据提取刷新期间或者在您选择架构级别之后 Tableau 创建数据提取时,文件名附近的信息图标或“选择架构级别”对话框上的通知将指明已经找到了其他字段。
更改架构级别
通过转到数据源页面并选择“数据”>“[JSON 文件名]”>“选择架构级别”,您可以更改所选的架构级别。或者,将光标悬停在画布上的文件名上,并选择下拉菜单 >“选择架构级别”。
合并 JSON 文件
您可以合并 JSON 数据。若要合并 JSON 文件,它必须具有 .json、.txt 或 .log 扩展名。有关合并的详细信息,请参见合并数据。
合并 JSON 文件时,将依据并集中每个文件的前 10,000 行来推断出架构。
可以在合并文件后更改架构级别。有关详细信息,请参见更改架构级别。
分层 JSON 文件的维度文件夹组织方式
选择工作表标签后,JSON 文件的所选架构级别将显示在“数据”窗格上的“维度”下。每个文件夹与您选择的架构级别相一致,而与该架构级别关联的属性则作为文件夹的子项列出。
例如,在下图中,“Address”(地址)是架构级别“Businesses”(企业)文件夹下的一个维度。 “Categories”(类别)也是一个架构级别,但因为它是值列表,并且不是数据分层结构,因此它不需要其自己的文件夹,而是会在父文件夹下面分组。请注意,“选择架构级别”对话框中的架构级别不会直接映射到“数据”窗格中的文件夹结构。“数据”窗格中的文件夹按对象分组,以便您可以轻松导航到字段,并且还有字段来源的上下文。
对于每个文档,将生成唯一的索引并存储在展平的数据表示形式中。也会为架构中的每个级别生成索引。
例如,在上图中,除了“文档索引(已生成)”条目外,“Attribute”(属性)和“Hours”(小时)架构级别都有生成的索引。
为何要在分层 JSON 文件中计算度量
在展平分层 JSON 文件时,数据可能会重复。为了使度量与其架构级别保持一致,Tableau 会创建详细级别 (LOD) 计算来准确表示架构级别的数据。原始度量位于“源度量”文件夹中,您可以使用它们,但我们建议您使用计算出的度量。
在“数据”窗格上,计算度量标为“Number of <measure name> per <parent name>”(每个 <父项名称> 的 <度量名称> 数量)。
若要查看某个度量的 LOD 计算,请按以下步骤进行操作:
选择该度量。
选择下拉箭头,然后选择“编辑”。
以下显示“Revenue per Document”的 LOD 计算。公式将为每个文档索引值选择最大收入。
使用 LOD 计算意味着您可以选择多个架构级别,并且不用担心度量会被重复计数。
使用 JSON 数据的提示
这些提示可帮助您在 Tableau 中使用 JSON 数据。
嵌套数组不要超过 10x10 的限制。
大量的嵌套数组将创建大量的行。例如,10x10 嵌套数组将生成 100 亿行。当超过 Tableau 可加载到内存中的行数时,将会显示错误。在这种情况下,请使用“选择架构级别”对话框减少选择的架构级别数。
包含超过 100 个 JSON 对象级别的数据源可能要花费很长时间加载。
大量的级别会创建大量的列,从而可能要花费很长时间处理。例如,100 个级别可能会花费超过两分钟才能加载数据。最佳做法是,将架构级别数减少到恰好符合您的分析需求的级别数。
单一 JSON 对象不能超过 128 MB。
当单一对象顶层数组超过 128 MB 时,您必须将其转换为每行定义一个 JSON 对象的文件。
不支持行转置为列选项。
关于 .ttde 和 .hhyper 文件
在计算机的目录中导航时,您可能会注意到 .ttde 或 .hhyper 文件。当您创建连接到数据的 Tableau 数据源时,Tableau 会创建 .ttde 或 .hhyper 文件。此文件(也称为阴影数据提取)用于帮助提高 Tableau Desktop 中的数据源加载速度。尽管阴影数据提取包含类似于标准 Tableau 数据提取的基础数据和其他信息,但阴影数据提取将以其他格式保存,并且无法用于恢复数据。
注意:2024.2 以后的 Tableau 版本不再支持 .tde 文件。现在所有数据提取都为 .hyper 格式。