最終修正日: 19 Dec 2019
環境
- Tableau Online
- Tableau Server
解決策
ビューに表示される日付のタイム ゾーンと日付/時刻フィールドを調整するには:
- Tableau Desktop でワークブックを開きます。
- [分析] > [計算フィールドの作成] を選択します。
- 日付/時刻フィールドの場合、次に似た計算を作成します。
DATEADD('hour',<number of hours>,[<datetime field>])
- 日付のみのフィールドの場合、次に似た計算を作成します。
IF DATEPART('hour', NOW()) > <PST time of midnight> then DATEADD('day', 1, <datetime field>) else <datetime field> end
- 例: IF DATEPART('hour', NOW()) > 6 THEN DATEADD('day', 1, [Date]) else [Date] END この式は、午前 6 時になると [日付] フィールドに 1 日が加算され、それ以外は同日とすることを示しています。
- 日付関数 DATEPART または DATEADD の詳細については、Tableau ヘルプの「日付関数」を参照してください。
- 日付/時刻フィールドの場合、次に似た計算を作成します。
- ビューで使用する日付/時刻フィールドを、新しく作成された計算フィールドに置き換えます。
- ワークブックまたはデータ ソースをパブリッシュします。
相対日付フィルターを、データセットの最新の時間にフィルターする計算に置き換えるには:
- 次のような計算を作成します。
[DateTimeField] >= {FIXED: MAX(DATETRUNC('hour',[DateTimeField]))}
- [フィルター] シェルフに計算を配置し、"True" を表示するよう選択します
相対日付フィルターを、目的のタイムゾーンの "この時間" にフィルターする計算に置き換えるには:
- 次のような計算を作成します。次の計算では、太平洋時間 (Tableau Online 10ay) から東部時間 (仮定のユーザー) に変換します。
[DateTimeField] >= DATEADD('hour', 3, NOW())
- [フィルター] シェルフに計算を配置し、"True" を表示するよう選択します
原因
データ ソースまたはワークブックをパブリッシュした後、NOW()、TODAY()、相対日付フィルター、およびタイムスタンプは、Tableau Server や Tableau Online のタイムゾーンにローカライズされます。詳細情報
地域がサマー タイムを使用している場合は、シフトする時間数が変わる場合があります。次の計算は、サマー タイムが 3 月の第 2 日曜日に始まり、11 月の第 1 日曜日に終わると仮定して、UTC を太平洋時間に変換します。DATEADD('hour',
IF [<datetime field>] <= IFNULL(
{ FIXED DATETRUNC('year', [<datetime field>]) : MIN(
IF DATEPART('month', [<datetime field>]) = 3
THEN
DATEADD('minute', 119, DATEADD('day', IF DATEPART('weekday', DATETRUNC('month', [<datetime field>])) >1
THEN 7 - (DATEPART('weekday', DATETRUNC('month', [<datetime field>])) - 1)
ELSE 0
END
+ 7, DATETRUNC('month', [<datetime field>])
))
END
)}
, TODAY()+1)
OR [<datetime field>] >=
{ FIXED DATETRUNC('year', [<datetime field>]) : MIN(IF DATEPART('month', [<datetime field>]) = 11
THEN
DATEADD('minute', 119, DATEADD('day', IF DATEPART('weekday', DATETRUNC('month', [<datetime field>])) >1
THEN 7 - (DATEPART('weekday', DATETRUNC('month', [<datetime field>])) - 1)
ELSE 0
END, DATETRUNC('month', [<datetime field>])
))
END
)}
THEN -8
ELSE -7
END,
[<datetime field>])
この記事についてディスカッションする... フィードバック フォーラム
IF [<datetime field>] <= IFNULL(
{ FIXED DATETRUNC('year', [<datetime field>]) : MIN(
IF DATEPART('month', [<datetime field>]) = 3
THEN
DATEADD('minute', 119, DATEADD('day', IF DATEPART('weekday', DATETRUNC('month', [<datetime field>])) >1
THEN 7 - (DATEPART('weekday', DATETRUNC('month', [<datetime field>])) - 1)
ELSE 0
END
+ 7, DATETRUNC('month', [<datetime field>])
))
END
)}
, TODAY()+1)
OR [<datetime field>] >=
{ FIXED DATETRUNC('year', [<datetime field>]) : MIN(IF DATEPART('month', [<datetime field>]) = 11
THEN
DATEADD('minute', 119, DATEADD('day', IF DATEPART('weekday', DATETRUNC('month', [<datetime field>])) >1
THEN 7 - (DATEPART('weekday', DATETRUNC('month', [<datetime field>])) - 1)
ELSE 0
END, DATETRUNC('month', [<datetime field>])
))
END
)}
THEN -8
ELSE -7
END,
[<datetime field>])
この記事についてディスカッションする... フィードバック フォーラム
記事がご参考になったかどうか、フィードバックをお寄せいただきありがとうございます。
新しい問題を登録する
検索を続ける
ナレッジベース
コミュニティ
製品のヘルプ
トレーニングとチュートリアル