在 Tableau 中加入日期和时间字段

Posted

技术标签:

【中文标题】在 Tableau 中加入日期和时间字段【英文标题】:Joining date and time field in Tableau 【发布时间】:2015-06-08 06:33:35 【问题描述】:

我正在从事实施了数据仓库的项目。事实表的日期时间存储格式为:

2015-01-31 23:10:49.4020000

日期维度包含以下格式的日期:

2015-01-01 00:00:00.000

时间维度以如下格式存储时间:

23:10:49 AM

现在,我必须使用 Tableau 软件进行分析,为此我需要将两个维度与 Fact 表连接起来。我正在尝试创建自定义 sql 来创建连接,不幸的是我无法这样做。

谁能分享我应该如何加入两个维度的事实表?

【问题讨论】:

您不需要使用 Tableau 的自定义 SQL 功能来连接事实和维度表。在使用自定义 SQL 之前,请尝试使用数据连接窗格上的标准功能。你用的是什么数据库?它是关系型还是立方体? 谢谢 Alex,我在后端使用 SQL。我不能使用标准功能的原因是我的日期和时间格式不匹配。事实表同时具有“日期和时间列”,而在日期维度中,我只有日期。当我尝试使用标准功能加入时,tableau 给我一个错误。所以,我想知道我是否必须改变我的数据仓库设计 【参考方案1】:

您实际上是在寻找使用联接或数据混合来组合多个表。

在 tableau 中,您可以通过创建连接来组合存在于多个表或文件中的数据。使用连接来组合表可以让您分析相互关联的数据。

可以找到描述所有这些步骤的完整文章here

根据示例连接数据并创建数据源 在连接到数据源中。

选择文件、数据库或架构后,双击或拖动表格到数据源页面的连接区域。

双击或拖动另一个表到连接区域。加入对话框打开。

通过从数据源中使用的一个可用表中选择一个字段、一个连接运算符以及从添加的表中选择一个字段来添加一个或多个连接条件。检查连接条件以确保它反映了您想要连接表的方式。

例如,在具有订单信息表和用户信息表的数据源中,您可以根据两个表中存在的区域字段连接这两个表。选择连接类型。 完成后,单击“x”图标关闭“加入”对话框。

在您的情况下,您应该使用这些连接而不是数据混合。这是因为,数据混合不会创建行级连接,也不是向数据添加新维度或行的方法。

当您有相关数据时,应使用数据混合 您要在一个单一的分析中一起分析的多个数据源 看法。例如,您可能在 Oracle 中收集了销售数据 Excel 电子表格中的数据库和销售目标数据。比较 实际销售额到目标销售额,您可以根据常见的数据进行混合 维度来访问销售目标度量。

您可以参考this article了解更多详情

【讨论】:

感谢 TechMa9iac 的详细回复。不幸的是,您提供的回复对我不起作用,就好像您在我的查询中看到事实表的日期时间字段和时间维度的日期字段不匹配一样。当我尝试使用标准功能进行连接时,tableau 提供了一个错误,因为没有明确的连接。实际上事实表日期时间维度包含日期和时间,而我有单独的日期和时间维度。我想知道是不是因为架构设计不佳

以上是关于在 Tableau 中加入日期和时间字段的主要内容,如果未能解决你的问题,请参考以下文章

基于多重排序和条件的 Tableau 计算字段

MySQL查询日期在结果中加入汉字“年”“月”“日”

MySQL查询日期在结果中加入汉字“年”“月”“日”

Excel 和 tableau 未将日期维度检测为日期时间列

防止在基于记录日期的查询中加入较旧的日期记录

在sql中加入两列作为日期