Tableau - 将数据分为3个部分

时间:2016-09-27 21:01:34

标签: grouping tableau segment

我有几个月的零售数据,我希望对任何潜在的销售增长做一般分析。

如何对数据进行分组或分段,以便更容易减少目标日期范围。

例如,如果我有3个月的数据并希望每个月在他们自己的部分进行分组,我该怎么办?

谢谢, 咖啡馆

2 个答案:

答案 0 :(得分:1)

您可以通过两种方式使用任何日期/日期时间维度:

  • 截断日期(蓝色)
  • 日期部分(绿色部分)

有关如何设置的更多信息,您会发现here。 如果您将在月份级别使用日期部分,则所有数据都会分组为仅包含此特定月份的条目的组。这允许您在月份之后添加其他维度,以便更深入地进行分析。

如果您想创建相当自定义的日期范围(例如03.09 - 23.09),您可以使用Sets。只需深入到日期,选择您感兴趣的范围并创建一个新集。如果您想比较几个不同的集合,请使用计算字段创建单个维度,该维度将根据设置单个数据条目所属的信息对数据进行分组。

IF [Set 1] THEN 'Name of first set'
ELSEIF [Set 2] THEN 'Name of second set'
ELSE 'Other'
END

答案 1 :(得分:0)

我的建议是创建一个为您分组的计算字段。我已经使用包含日期的任意数据集的示例进行了跟踪,以模仿评论中提到的OP场景。

+-----------+-------------+-------+
|   Date    | Hour of Day | Count |
+-----------+-------------+-------+
| 9/20/2016 |           6 |   100 |
| 9/21/2016 |           7 |    23 |
| 9/22/2016 |          15 |    58 |
| 9/23/2016 |          13 |    78 |
| 9/24/2016 |           3 |    32 |
| 9/25/2016 |          12 |    54 |
| 9/26/2016 |           0 |    32 |
| 9/27/2016 |          23 |    11 |
| 9/28/2016 |          11 |    10 |
+-----------+-------------+-------+

我正在将此数据集加载到Tableau中。我使用以下公式创建一个名为“日期分组”的计算字段。此公式中的[Date]是我的数据集中的日期。无论你的日期字段是什么,都可以将其切换出来。

IF DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'09-22-2016'), [Date]) < 1 THEN 'Before 9/22' 
ELSE (IF DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'09-25-2016'), [Date]) < 1 THEN '9/22 - 9/25'
ELSE 'After 9/25'
END)
END

这将创建一个新列,如下所示(我从Tableau中的数据源复制了它)

+-----------+---------------+-------+-------------+-------------------+
|   Date    | Date Grouping | Count | Hour of Day | Number of Records |
+-----------+---------------+-------+-------------+-------------------+
| 9/20/2016 | Before 9/22   |   100 |           6 |                 1 |
| 9/21/2016 | Before 9/22   |    23 |           7 |                 1 |
| 9/22/2016 | Before 9/22   |    58 |          15 |                 1 |
| 9/23/2016 | 9/22 - 9/25   |    78 |          13 |                 1 |
| 9/24/2016 | 9/22 - 9/25   |    32 |           3 |                 1 |
| 9/25/2016 | 9/22 - 9/25   |    54 |          12 |                 1 |
| 9/26/2016 | After 9/25    |    32 |           0 |                 1 |
| 9/27/2016 | After 9/25    |    11 |          23 |                 1 |
| 9/28/2016 | After 9/25    |    10 |          11 |                 1 |
+-----------+---------------+-------+-------------+-------------------+

此计算字段现在可以添加到颜色/大小,以在图表中创建分组,如下所示 enter image description here

范围内的严格限制

正如您在评论中提到的范围一样,我编辑了计算字段查询以创建紧密边界而不是开放边界。此公式中的[Date]是我的数据集中的日期。无论你的日期字段是什么,都可以将其切换出来。

IF (DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'05-08-2016'), [Date]) > 0 AND DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'06-13-2016'), [Date]) < 0) THEN '5/9 - 6/12' 
ELSE (IF (DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'06-12-2016'), [Date]) > 0 AND DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'07-18-2016'), [Date]) < 0) THEN '6/13 - 7/17' 
ELSE (IF (DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'07-17-2016'), [Date]) > 0 AND DATEDIFF('day', DATEPARSE("MM-dd-yyyy",'08-22-2016'), [Date]) < 0) THEN '7/18 - 8/21' 
ELSE 'Out of Range' END) END) END

输入表格(日期已修改为适合所提及的日期范围)

+-----------+-------------+-------+
|   Date    | Hour of Day | Count |
+-----------+-------------+-------+
| 5/9/2016  |           6 |   100 |
| 5/10/2016 |           7 |    23 |
| 5/11/2016 |          15 |    58 |
| 6/12/2016 |          13 |    78 |
| 6/13/2016 |           3 |    32 |
| 6/14/2016 |          12 |    54 |
| 7/17/2016 |           0 |    32 |
| 7/18/2016 |          23 |    11 |
| 7/19/2016 |          11 |    10 |
| 8/21/2016 |          23 |    11 |
| 4/9/2016  |          15 |    58 |
| 8/22/2016 |          13 |    78 |
+-----------+-------------+-------+

添加计算字段'Range'后

enter image description here