日付関数

この記事は、日付関数と Tableau での用途について紹介します。また、例を使用して日付計算を作成する方法を示します。

日付計算の作成

次の手順に従って、日付計算の作成方法を学習してください。

  1. Tableau Desktop で、Tableau に付属の "Sample-Superstore (サンプル - スーパーストア)" 保存したデータ ソースに接続します。

  2. ワークシートに移動します。

  3. [データ] ペインの [ディメンション] から、"Order Date (注文日)"[行] シェルフまでドラッグします。

  4. [行] シェルフで、[YEAR(Order Date)] フィールド上のプラス (+) アイコンをクリックします。

    "QUARTER(Order Date)" が [行] シェルフとに追加され、ビューが更新されます。

  5. [行] シェルフで、[QUARTER(Order Date)] フィールド上のプラス (+) アイコンをクリックし、[MONTH(Order Date)] にドリルダウンします。

  6. [分析] > [計算フィールドの作成] を選択します。

  7. 開いた計算エディターで、次の操作を実行します。

    • 計算フィールドに "Quarter Date" と名前を付けます。

    • 次の式を入力します。

      DATETRUNC('quarter', [Order Date])

    • 完了後、[OK] をクリックします。

      新しい日付計算フィールドは、[データ] ペインの [ディメンション] に表示されます。他のフィールドと同様に、このフィールドを 1 つ以上のビジュアライゼーションで使用できます。

  8. [データ] ペインの [ディメンション] から、"Quarter Date"[行] シェルフにドラッグして、"MONTH(Order Date)" の右に配置します。

    視覚化が、年の値で更新されます。これは、Tableau が日付データを最も高い詳細レベルで動かしているためです。

  9. [行] シェルフで YEAR(Quarter Date) を右クリックし、[正確な日付] を選択します。

  10. [行] シェルフで 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 形式への抽出のアップグレード(Link opens in a new window)を参照してください。

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 暦(Link opens in a new window)を参照してください。

Tableau で利用可能な日付関数:

関数

構文

説明

DATEADD

DATEADD(date_part, interval, date)

指定された日付と指定した interval の数を、指定されたその日付の date_part に追加して返します。

ISO 8601 の日付をサポートしています。

例:

DATEADD('month', 3, #2004-04-15#) = 2004-07-15 12:00:00 AM

この式は日付 #2004-04-15# に 3 か月を追加します。

DATEDIFF

DATEDIFF(date_part, date1, date2, [start_of_week])

date_part の単位で表された、date1date2 の差異を返します。

週の始まりと見なす曜日を指定する start_of_week パラメーターはオプションです。考えられる値は「monday」、「tuesday」などです。省略される場合、週の始まりはデータ ソースによって決定されます。詳細については、データ ソースの日付のプロパティを参照してください。

ISO 8601 の日付をサポートしています。

例:

DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'monday')= 1
DATEDIFF('week', #2013-09-22#, #2013-09-24#, 'sunday')= 0

start_of_week が 'monday' の場合、9 月 22 日 (日曜日) と 9 月 24 日 (火曜日) は別の週になるため、最初の式は 1 を返します。start_of_week が 'sunday' の場合、9 月 22 日 (日曜日) と 9 月 24 日 (火曜日) は同じ週になるため、2 番目の式は 2 を返します。

DATENAME

DATENAME(date_part, date, [start_of_week])

datedate_part を文字列として返します。週の始まりと見なす曜日を指定する start_of_week パラメーターはオプションです。考えられる値は「monday」、「tuesday」などです。start_of_week が省略されると、週の始まりはデータ ソースによって決定されます。詳細については、データ ソースの日付のプロパティを参照してください。

ISO 8601 の日付をサポートしています。

例:

DATENAME('year', #2004-04-15#) = "2004"
DATENAME('month', #2004-04-15#) = "April"

DATEPART

DATEPART(date_part, date, [start_of_week])

datedate_part を整数として返します。

週の始まりと見なす曜日を指定する start_of_week パラメーターはオプションです。考えられる値は「monday」、「tuesday」などです。start_of_week が省略されると、週の始まりはデータ ソースによって決定されます。詳細については、データ ソースの日付のプロパティを参照してください。

注: date_part が曜日の場合、start_of_week パラメーターは無視されます。これは、Tableauは固定した曜日順を信頼してオフセットを適用するためです。

ISO 8601 の日付をサポートしています。

例:

DATEPART('year', #2004-04-15#) = 2004
DATEPART('month', #2004-04-15#) = 4

DATETRUNC

DATETRUNC(date_part, date, [start_of_week])

指定された日付を date_part によって指定された精度で切り捨てます。この関数は新しい日付を返します。たとえば、月の中旬にある日付を月レベルで丸めた場合、この関数はその月の第 1 日を返します。週の始まりと見なす曜日を指定する start_of_week パラメーターはオプションです。考えられる値は「monday」、「tuesday」などです。start_of_week が省略されると、週の始まりはデータ ソースによって決定されます。詳細については、データ ソースの日付のプロパティを参照してください。

ISO 8601 の日付をサポートしています。

例:

DATETRUNC('quarter', #2004-08-15#) = 2004-07-01 12:00:00 AM
DATETRUNC('month', #2004-04-15#) = 2004-04-01 12:00:00 AM

DAY

DAY(date)

指定された日付の日の部分を整数として返します。

例:

DAY(#2004-04-12#) = 12

ISDATE

ISDATE(string)

指定された文字列が有効な日付の場合、true を返します。

例:

ISDATE("April 15, 2004") = true

MAKEDATE

MAKEDATE(year, month, day)

指定した年、月、日から構成された日付値を返します。

Tableau Data Extract で利用できます。他のデータ ソースで利用可能か確認します。

例:

MAKEDATE(2004, 4, 15) = #April 15, 2004#

MAKEDATETIME

MAKEDATETIME(date, time)

日付と時刻を組み合わせた日付時刻を返します。日付は、日付、日付時刻、または文字列の種類になることがあります。時刻は日付時刻である必要があります。

: この関数は、MySQL 互換の接続 (Tableau では MySQL および Amazon Aurora) でのみ使用できます。

例:

MAKEDATETIME("1899-12-30", #07:59:00#) = #12/30/1899 7:59:00 AM#
MAKEDATETIME([Date], [Time]) = #1/1/2001 6:00:00 AM#

MAKETIME

MAKETIME(hour, minute, second)

指定した時、分、秒から構成された日付値を返します。

Tableau Data Extract で利用できます。他のデータ ソースで利用可能か確認します。

例:

MAKETIME(14, 52, 40) = #14:52:40#

MAX

MAX(expression) or MAX(expr1, expr2)

通常は数値に適用されますが、日付でも使用できます。ab の最大値を返します (ab は同じ型でなければなりません)。いずれかの引数が Null の場合は、Null を返します。

例:

MAX(#2004-01-01# ,#2004-03-01#) = 2004-03-01 12:00:00 AM
MAX([ShipDate1], [ShipDate2])

MIN

MIN(expression) or MIN(expr1, expr2)

通常は数値に適用されますが、日付でも使用できます。ab の最小値を返します (ab は同じ型でなければなりません)。いずれかの引数が Null の場合は、Null を返します。

例:

MIN(#2004-01-01# ,#2004-03-01#) = 2004-01-01 12:00:00 AM
MIN([ShipDate1], [ShipDate2])

MONTH

MONTH(date)

指定された日付の月の部分を整数として返します。

例:

MONTH(#2004-04-15#) = 4

NOW

NOW( )

現在の日付と時刻を返します。

戻り値は、接続の性質によって異なります。

  • ライブの、パブリッシュされていない接続については、データ ソース サーバー時間を返すようになりました。

  • ライブの、パブリッシュされた接続については、データ ソース サーバー時間が返されるようになりました。

  • パブリッシュされていない抽出の場合、ローカルのシステム時間が返されるようになりました。

  • パブリッシュされた抽出の場合、Tableau Server データ エンジンのローカルの時間が返されるようになりました。異なるタイム ゾーン複数のワーカー マシンがある場合、一貫性のない結果が生成される可能性があります。

例:

NOW( ) = 2004-04-15 1:08:21 PM

QUARTER QUARTER ( )

指定された日付の四半期の部分を整数として返します。

例:

WEEK (#2004-04-15#) = 16

TODAY

TODAY( )

現在の日付を返します。

例:

TODAY( ) = 2004-04-15

WEEK WEEK( )

指定された日付の週の部分を整数として返します。

例:

WEEK (#2004-04-15#) = 16

YEAR

YEAR (date)

指定された日付の年の部分を整数として返します。

例:

YEAR(#2004-04-15#) = 2004


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、週の開始は常に月曜日

日付関数の書式設定に関する詳細は、計算の構文一覧(Link opens in a new window) 表の「リテラル式」セクションを参照してください。

: 日付関数は、構成された会計年度の開始を考慮しません。詳細は、会計年度の日付を参照してください。

メモ: date_partは整数を返します。 以下の値は、date_part が受け入れる入力とその入力の形式です。

次も参照してください。

会計年度の日付

日付と時刻

データ ソースの日付のプロパティ

カスタム日付

カスタム日付形式

Tableau 関数 (アルファベット順)

Tableau 関数 (カテゴリ別)

Tableau での計算の書式設定

Tableau で使用する関数

ありがとうございます! フィードバックの送信中にエラが発生しました。もう一度やり直すか、メッセージをお送りください