この記事は、日付関数と Tableau での用途について紹介します。また、例を使用して日付計算を作成する方法を示します。
日付計算の作成
次の手順に従って、日付計算の作成方法を学習してください。
-
Tableau Desktop で、Tableau に付属の "Sample-Superstore (サンプル - スーパーストア)" 保存したデータ ソースに接続します。
-
ワークシートに移動します。
-
[データ] ペインの [ディメンション] から、"Order Date (注文日)" を [行] シェルフまでドラッグします。
-
[行] シェルフで、[YEAR(Order Date)] フィールド上のプラス (+) アイコンをクリックします。
"QUARTER(Order Date)" が [行] シェルフとに追加され、ビューが更新されます。
-
[行] シェルフで、[QUARTER(Order Date)] フィールド上のプラス (+) アイコンをクリックし、[MONTH(Order Date)] にドリルダウンします。
-
[分析] > [計算フィールドの作成] を選択します。
-
開いた計算エディターで、次の操作を実行します。
-
計算フィールドに "Quarter Date" と名前を付けます。
-
次の式を入力します。
DATETRUNC('quarter', [Order Date])
-
終了したら、[OK] をクリックします。
新しい日付計算フィールドは、[データ] ペインの [ディメンション] に表示されます。他のフィールドと同様に、このフィールドを 1 つ以上のビジュアライゼーションで使用できます。
-
[データ] ペインの [ディメンション] から、"Quarter Date" を [行] シェルフにドラッグして、"MONTH(Order Date)" の右に配置します。
視覚化が、年の値で更新されます。これは、Tableau が日付データを最も高い詳細レベルで動かしているためです。
-
[行] シェルフで YEAR(Quarter Date) を右クリックし、[正確な日付] を選択します。
-
[行] シェルフで YEAR(Quarter Date) をもう一度右クリックし、[不連続] を選択します。
視覚化は、表の各行の正確な quarter date で更新されます。
日付関数を使う理由
日付関数で、データ ソース内で日付を操作することができます。
たとえば、各値について、年月日が入った日付フィールドがあるとします (2004-04-15)。これらの既存の値から、DATETRUNC 関数のような日付関数を使って、新しい日付値を作成することができます。たとえば、既存の日付値の4分の1の始まりの日を見つけることができます。
日付結果は次のようになります。
DATETRUNC('quarter', [Order Date])
元の日付が '3/27/2011' で、上記の計算を使用すると '1/1/2011' が返され、Q1 が 1 月 1 日に始まったことを示します。元の日付が '5/3/2011' の場合は、'4/1/2011' が返され、Q2 が 4 月 1 日に始まったことを示します。
次の日付計算の作成セクションで、例を参照してください。
グレゴリオ暦と ISO 8601 規格
.hyper 抽出を使用している場合、従来のグレゴリオ暦または ISO 8601 規格を使用して日付関数を計算できます。.hyper 抽出の作成に関する詳細は、.hyper 形式への抽出のアップグレード(新しいウィンドウでリンクが開く)を参照してください。
ISO 8601 形式とは日付と時刻の計算に使用する国際規格で、グレゴリオ暦とは 1 年の開始週 (第 1 週) の計算方法に違いがあります。グレゴリオ暦ではユーザーが週の開始日を定義できます。ISO 8601 規格では週の開始日は常に月曜日となります。
グレゴリオ暦で新年が開始する場合、1 月 1 日が何曜日になるかに関わりなく、その年の第 1 週は 1 月 1 日に開始するとしてカウントします。1 月 1 日が土曜日に当たる場合、第 1 週には 1 日が含まれ、第 2 週は次の日曜日に開始となります。
ISO 8601 形式では、新年の第 1 週は、1 月の日付が 4 日以上含まれている週の月曜日に開始となります。たとえば、1 月 1 日が土曜日に当たる場合、第 1 週は次の月曜日、つまり 1 月 3 日まで開始になりません。この方法で日付を計算すると、新年の第 1 週に含まれる日数の一貫性が確保されます。
ISO 8601 の日付の操作に関する詳細は、週ベースの ISO-8601 暦(新しいウィンドウでリンクが開く)を参照してください。
Tableau で利用可能な日付関数:
関数 |
構文 |
説明 |
DATEADD |
|
指定された日付と指定した ISO 8601 の日付をサポートしています。 例:
この式は日付 |
DATEDIFF |
|
週の始まりと見なす曜日を指定する ISO 8601 の日付をサポートしています。 例:
|
DATENAME |
|
ISO 8601 の日付をサポートしています。 例:
|
DATEPARSE |
DATEPARSE(date_format, [date_string])
|
日付として [date_string] を返します。date_format 引数は [文字列] フィールドがどのように配置されているかを示します。文字列フィールドはさまざまな順序で配置することができるため、date_format は正確に一致する必要があります。詳細については、「フィールドを日付フィールドに変換する」を参照してください。 例:
注:この関数を使用できるコネクタは、非レガシーの Excel およびテキスト ファイル接続、Amazon EMR の Hadoop Hive、Cloudera Hadoop、Google スプレッドシート、Hortonworks Hadoop Hive、MapR Hadoop Hive、MySQL、Oracle、PostgreSQL、および Tableau 抽出です。書式設定によってはすべての接続で使用できない場合があります。 注: DATEPARSE は Hive バリアントではサポートされていません。サポートされているのは、Denodo、Drill、Snowflake のみです。 |
DATEPART |
|
週の始まりと見なす曜日を指定する
注: ISO 8601 の日付をサポートしています。 例:
|
DATETRUNC |
|
指定された日付を date_part によって指定された精度で切り捨てます。この関数は新しい日付を返します。たとえば、月の中旬にある日付を月レベルで丸めた場合、この関数はその月の第 1 日を返します。週の始まりと見なす曜日を指定する ISO 8601 の日付をサポートしています。 例:
|
DAY |
|
指定された日付の日の部分を整数として返します。 例:
|
ISDATE |
|
指定された文字列が有効な日付の場合、true を返します。 例:
|
MAKEDATE |
|
指定した年、月、日から構成された日付値を返します。 Tableau Data Extract で利用できます。他のデータ ソースで利用可能か確認します。 例:
|
MAKEDATETIME |
|
日付と時刻を組み合わせた日付時刻を返します。日付は、日付、日付時刻、または文字列の種類になることがあります。時刻は日付時刻である必要があります。 注: この関数は、MySQL 互換の接続 (Tableau では MySQL および Amazon Aurora) でのみ使用できます。 例:
|
MAKETIME |
|
指定した時、分、秒から構成された日付値を返します。 Tableau Data Extract で利用できます。他のデータ ソースで利用可能か確認します。 例:
|
MAX |
|
通常は数値に適用されますが、日付でも使用できます。 例:
|
MIN |
|
通常は数値に適用されますが、日付でも使用できます。 例:
|
MONTH |
|
指定された日付の月の部分を整数として返します。 例:
|
NOW |
|
現在のローカル システムの日付と時刻を返します。 例:
|
QUARTER |
QUARTER ( )
|
指定された日付の四半期の部分を整数として返します。 例:
|
TODAY |
|
現在の日付を返します。 例:
|
WEEK |
WEEK( )
|
指定された日付の週の部分を整数として返します。 例:
|
YEAR |
|
指定された日付の年の部分を整数として返します。 例:
|
ISOQUARTER |
ISOQUARTER (date)
|
指定された日付の ISO8601 週ベースの四半期の部分を整数として返します。 例:
|
ISOWEEK |
ISOWEEK (date)
|
指定された日付の ISO8601 週ベースの部分を整数として返します。 例:
|
ISOWEEKDAY |
ISOWEEKDAY (date)
|
指定された日付の ISO8601 週ベースの曜日の部分を整数として返します。 例:
|
ISOYEAR |
ISOYEAR (date)
|
指定された日付の ISO8601 週ベースの年の部分を整数として返します。 例:
|
date_part
値
Tableau の多くの日付関数では、定数文字列引数である date_part
が使用されています。
date_part
に指定できる有効な値は次のとおりです。
date_part | 値 |
---|---|
'year'
|
4 桁の年 |
'quarter'
|
1-4 |
'month'
|
1 ~ 12 または "January" 、"February"など |
'dayofyear'
|
年初来日数 (1 月 1 日は 1、2 月 1 日は 32 など) |
'day'
|
1-31 |
'weekday'
|
1 ~ 7 または "Sunday"、"Monday"など |
'week'
|
1-52 |
'hour'
|
0-23 |
'minute'
|
0-59 |
'second'
|
0-60 |
'iso-year'
|
ISO 8601 の 4 桁の年 |
'iso-quarter'
|
1-4 |
'iso-week'
|
1-52、週の開始は常に月曜日 |
'iso-weekday'
|
1-7、週の開始は常に月曜日 |
日付関数の書式設定に関する詳細は、計算の構文一覧(新しいウィンドウでリンクが開く) 表の「リテラル式」セクションを参照してください。
注: 日付関数は、構成された会計年度の開始を考慮しません。詳細は、会計年度の日付を参照してください。
メモ: date_part
は整数を返します。 以下の値は、date_part が受け入れる入力とその入力の形式です。