由於Tableau Online/Tableau Public都是以太平洋時區(Pacific Standard Time)做為系統時間,當我們在計算字段上若有用到Today(), NOW() 或者在Filter上有用到Relative Date的時候,Tableau 都會以PST來計算出Today or Now;因此都會造成日期或時間會與我們預期的有差異。
目前為止(Tableau 10.1),Tableau 尚未有讓使用者能自定義系統上的時區的方式,因此我們也只能自己來配合它。
舉例,若想在Filter條件內篩選只有當日,本來的做法很簡單只要用 relative date 的Today
但因為在Online or Public 上的太平洋時區與台灣的時間有-9小時的差距,所以我們得捨棄這個方便的方法
必須自己建一個計算字段,內容如下
目前為止(Tableau 10.1),Tableau 尚未有讓使用者能自定義系統上的時區的方式,因此我們也只能自己來配合它。
舉例,若想在Filter條件內篩選只有當日,本來的做法很簡單只要用 relative date 的Today
但因為在Online or Public 上的太平洋時區與台灣的時間有-9小時的差距,所以我們得捨棄這個方便的方法
必須自己建一個計算字段,內容如下
(DATEPART('hour',NOW())>=9 and DATEDIFF('day',TODAY(),[TIME(in data)])=1)
or
(DATEPART('hour',NOW())<9 and DATEDIFF('day',TODAY(),[TIME(in data)])=0)
第一行先判斷如果PST時間已經超過9點鐘,則台灣的日期會比PST +1,要找日期大於Today一天的
第二行則是判斷PST 時間在0~9點之間,則台灣的日期與PST同日,要找跟Today()同日期的
再將此判斷式帶入Filter條件, 選擇True,就能取代原來的Relative Date 的Today功能
留言
張貼留言
歡迎留言討論指教~~