我有几个月的零售数据,我希望对任何潜在的销售增长做一般分析。
如何对数据进行分组或分段,以便更容易减少目标日期范围。
例如,如果我有3个月的数据并希望每个月在他们自己的部分进行分组,我该怎么办?
谢谢, 咖啡馆
答案 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 |
+-----------+---------------+-------+-------------+-------------------+
此计算字段现在可以添加到颜色/大小,以在图表中创建分组,如下所示
范围内的严格限制
正如您在评论中提到的范围一样,我编辑了计算字段查询以创建紧密边界而不是开放边界。此公式中的[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'后