上次修改日期 : 05 Jun 2023
環境
Tableau Desktop答案
按一下以展開解決方案
選項 1:對資料來源中兩個日期欄位之間的工作日進行計數
步驟 1:建立導出欄位
- 選擇「分析」>「創建計算欄位」
- 在打開的「計算欄位」對話框中,執行以下作業,然後按一下「確定」:
- 命名此計算欄位。在此範例中,導出欄位名為 "Order Date (shifted to weekday)"
- 在公式欄位中,建立一個類似如下的計算:
IF DATEPART('weekday', [Order Date]) = 1
THEN DATEADD('day', 1, [Order Date])
ELSEIF DATEPART('weekday', [Order Date]) = 7
THEN DATEADD('day', 2, [Order Date])
ELSE [Order Date]
END
- 使用類似如下的計算建立一個名稱類似 "Ship Date (shifted to weekday)"(發貨日期(轉移到工作日))的導出欄位:
IF DATEPART('weekday', [Ship Date]) = 1
THEN DATEADD('day', -2, [Ship Date])
ELSEIF DATEPART('weekday', [Ship Date]) = 7
THEN DATEADD('day', -1, [Ship Date])
ELSE [Ship Date]
END - 使用類似如下的計算建立一個名稱類似 "# of Weekdays from Order to Shipping"(從訂購到發貨的工作日數)的導出欄位:
MIN(
DATEDIFF('day', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
+ 1
- 2 * DATEDIFF('week', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
)
步驟 2: 生成視圖
- 將 [Order ID](訂單 ID)拖曳到「列」架
- 可選:將 [Order Date](訂單日期)和 [Ship Date](發貨日期)拖曳到「列」架
- 將 [# of Weekdays from Order to Shipping](從訂購到發貨的工作日數)拖曳到「標記」卡片上的「文字」
按一下以展開解決方案
選項 2:對每個日期欄位每個月的工作日進行計數
此範例使用範例資料集合「Superstore」,針對訂單日期尋找每個月內的工作日數。
- 選擇「分析」>「創建計算欄位」
- 在打開的「計算欄位」對話框中,執行以下作業,然後按一下「確定」:
- 命名此計算欄位。在此範例中,導出欄位名為 "Start of Month Date"(月開始日期)
- 在公式欄位中,建立一個類似如下的計算:
DATETRUNC('month', [Order Date])
- 使用類似於如下的計算建立一個名稱類似 "End of Month Date"(月結束日期)的導出欄位:
DATEADD('day', -1, DATEADD('month', 1, DATETRUNC('month', [Order Date])))
- 按照“選項 1”中的指引進行動作,並使用“[Start of Month Date]”(月開始日期)而不是“[Order Date]”(訂單日期),使用“[End of Month Date]”(月結束日期)而不是“[Ship Date]”(發貨日期)
按一下以展開解決方案
選項 3:排除假日的工作日計數
此範例使用範例資料集合「Superstore」,針對每個訂單尋找訂單日期和發貨日期之間的工作日數。
步驟 1:設定資料
- 將包含一系列假日日期的表新增到原始資料來源。在此範例中,此表名為 "Holidays"(假日)
- 導覽到 Tableau Desktop 中的「資料來源」索引標籤
- 將 "Holidays"(假日)表新增到畫布區域
- 在「加入」對話方塊中,執行以下動作:
- 選擇「左」
- 在「資料來源」下,選擇 Order Date(訂單日期)
- 在 Holidays(假日)下,選擇 Holiday Date(假日日期)
- 按一下等號,並選擇 <=
- 在「資料來源」下,按一下「新增新的加入子句」,並選擇 Ship Date(發貨日期)
- 在 Holidays(假日)下,選擇 Holiday Date(假日日期)
- 按一下等號,並選擇 >=
附註: 應將 [Order Date](訂單日期)和 [Ship Date](發貨日期)分別取代為實際開始日期和結束日期。如果開始日期和結束日期是導出欄位,則可以在加入計算中重新建立這些計算。如果無法將包含假日的表新增到原始資料來源,則建立一個加入到包含假日的外部表的跨資料庫聯結。這須升級到 Tableau Desktop 10.5 或更高版本,方便利用跨資料庫聯結功能的加入子句中的不等式。
步驟 2:創建計算
- 導覽到一個工作表
- 按照選項 1 指引中的步驟 1-1 至 1-3 進行動作,建立 [Order Date (shifted to weekday)] 和 [Ship Date (shifted to weekday)] 計算
- 使用類似如下的計算建立一個名稱類似 # of Weekdays from Order to Shipping(從訂購到發貨的工作日數)的導出欄位:
MIN(
DATEDIFF('day', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
+ 1
- 2 * DATEDIFF('week', [Order Date (shifted to weekday)], [Ship Date (shifted to weekday)])
) - COUNTD([Holiday Date])
步驟 3:建立視圖
- 將 [Order ID](訂單 ID)拖曳到「列」架
- 可選:將 [Order Date](訂單日期)和 [Ship Date](發貨日期)拖曳到「列」架
- 將 [# of Weekdays from Order to Shipping (excluding holidays)](從訂購到發貨的工作日數,不包括假日)拖曳到「標記」卡片上的「文字」
其他資訊
為了表達您對未來產品版本中包括此增強功能的支持,請為以下社群理念投下您的一票:此函數用於計算兩個日期之間的工作日數
改善事件的自訂日曆
感謝您針對本文的效益提供意見回饋。
開啟新案例
繼續搜尋
知識庫
社群
產品說明
訓練及教學課程
相關連結
Your query has an error: Request Error.
Trending Articles
Your query has an error: Request Error.