上次修改日期: 20 Jul 2023
环境
Tableau Desktop答案
单击以扩展解决方案
选项 1:使用日期和时间字段,然后将值的格式设置为仅时间
在示例工作簿中,当员工打卡上下班时,系统以日期和时间戳形式记录员工工作时间。目标是仅显示员工每次打卡上下班的时间。这些说明从“选项 1:原始”工作表开始。用于创建“选项 1:原始”工作表的指引位于工作簿中。
- 在“行”功能区上右键单击“[Shift Start]”(班次开始时间),并选择“格式设置...”
- 在左侧“格式设置”窗格的“日期”下拉菜单中,选择“自定义”并键入像“h:mm AMPM”这样的内容(不带引号)
- 为所有日期和时间字段重复步骤 1-2
单击以扩展解决方案
选项 2:使用“小时”日期部分
- 在“行”功能区右键单击“[Call Time]”(通话时间),并选择第一个“更多”>“小时”
注意:日期的右键单击菜单分为两个部分,分别对应于是显示日期部分,还是显示截断到特定级别的整个日期。在此示例中,我们想要显示日期部分“小时”,而不是截断到最接近的小时的整个日期。若要了解详细信息,请参见更改日期级别
- 在“行”功能区上右键单击“HOUR(Call Time)”,并选择“格式设置...”
- 在左侧的“格式设置”窗格的“日期”下拉菜单中,选择“12 小时”或所需的格式
单击以扩展解决方案
选项 3:将所有日期和时间值转移到同一日期
在示例工作簿中,通话采用它们在日期和时间字段中的时间戳记录。目标是显示每分钟的平均通话次数(与日期无关)。这些说明从“选项 3:原始”工作表开始。用于创建“选项 3:原始”工作表的指引位于工作簿中。
- 选择“分析”>“创建计算字段”
- 在打开的“计算字段”对话框中,执行以下操作,然后单击“确定”:
- 命名此计算字段。在此示例中,计算字段名为“Call Time w/o Date”(不含日期的通话时间)
- 在公式字段中,创建一个类似于如下的计算:
DATEADD('day', DATEDIFF('day', [Call Time], TODAY()), [Call Time])
- 从“行”功能区中移除“HOUR(Call Time)”
- 右键单击并将“[Call Time w/o Date]”(不含日期的通话时间)拖到“行”功能区
- 在“放置字段”对话框中,选择“Call Time w/o Date (Continuous)”(不含日期的通话时间(连续)),并单击“确定”
单击以扩展解决方案
选项 4:将所有时间附加到同一日期,创建一个日期字段
在示例工作簿中,课程时间恰好记录为不含日期的时间。目标是显示一周内上课时间的时间表。
- 选择“分析”>“创建计算字段”
- 在打开的“计算字段”对话框中,执行以下操作,然后单击“确定”:
- 命名此计算字段。在此示例中,计算字段名为“Start Date”(开始日期)
- 在公式字段中,创建一个类似于如下的计算:
DATETIME( "1/1/19 " + [Start Time] )
请注意,日期后面有一个空格,这将帮助 Tableau Desktop 正确地读取日期和时间。
- 为时间数据以文本值形式存储的任何字段重复步骤 1-2
- 右键单击并将“[Start Date]”(开始日期)拖到“列”功能区
- 在“放置字段”对话框中,选择“Start Date (Continuous)”(开始日期(连续)),并单击“确定”
- 将“[Day]”(日)拖到“行”功能区
- 使用类似于如下的计算创建一个名称类似于“Class Length”(课程时长)的计算字段:
DATEDIFF('minute', [Start Date],[End Date])/60/24
注意:经过时间必须以天数为单位,才能在甘特图上正确地绘制图形。“DATEDIFF('day',...)”将不会返回小数天数,因此我们使用“DATEDIFF('minute',…)”,然后除以适当的数字来获得天数。 - 将“[Class Length]”(课程时长)拖到“标记”卡上的“大小”
- 将“[Class]”(课程)拖到“标记”卡上的“颜色”和“文本”
其他信息
Tableau 要求日期和时间字段中的时间与日期关联。这样就能够跨天进行按时间排序。为了使不同几天内的时间相互叠加,必须将时间移到同一天。如果原始数据未包括日期,则可以创建包含任意日期的“日期和时间”字段。
感谢您提供该文章是否有效的反馈。
打开新案例
继续搜索
知识库
社区
产品帮助
培训和教程