2016-09-27 416 views
0

我有幾個月的零售數據價值,我希望對任何潛在的銷售增長進行一般分析。Tableau - 將數據分爲3個部分

如何對數據進行分組或分段,使目標日期範圍更容易。

例如,如果我有3個月的數據並且想要在他們自己的部分中對每個月進行分組,那麼我該怎麼做?

感謝, 咖啡

回答

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中。我使用以下公式創建了一個名爲「日期分組」的計算字段。此公式中的[日期]是我的數據集中的日期。您可以將其與任何您的日期字段被調用切換出來。

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

緊界上的範圍圖表

正如你在評論中提到你的範圍,我編輯了計算的字段查詢來創建一個緊密的界限,而不是一個開放的界限。此公式中的[日期]是我的數據集中的日期。您可以將其與任何您的日期字段被調用切換出來。

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 | 
+-----------+-------------+-------+ 

添加計算字段 '範圍'

enter image description here

+0

@CafeRacer我建議創建一個分配這些組的計算字段。我編輯了我的答案來適應這個。 – woodhead92

+0

感謝您發表本文。 – CafeRacer

+0

感謝您發佈此信息。只要我明白你的意見,你可以讓我知道,如果這是正確的。對於我以上的日期範圍,代碼將以這種方式運行。 'code' IF DATEDIFF('day',DATEPARSE(「MM-dd-yyyy」,'06-13-2016'),[Date])<1 THEN'Before 6/13' ELSE(IF DATEDIFF('day ',DATEPARSE(「MM-dd-yyyy」,'07-18-2016'),[Date])<1 THEN'6/13 - 7/17' ELSE'7/17後' END) END另外 - 你能解釋代碼中的[Date]嗎? – CafeRacer

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 
+0

好的。由於它是每個..的自定義日期範圍..我相信製作集是理想的。我會試試這個。謝謝。 – CafeRacer