Tableauでは様々な計算が関数として標準で用意されているので、それらを利用して集計をすることができます。
本ページでは、Tableauの日付関数の中からよく利用するYEAR、DATENAME、DATETRUNC、DATEDIFF、MAKEDATETIME関数を紹介します。
YEAR
YEAR関数は日付の年を返す関数で次のように記述します。
YEAR (date)
日付dateの「年」を整数として返します。
スーパーストアのデータを利用した例をみてみましょう。
オーダー日の年を返す計算式を計算フィールドに定義して「YEAR」という名称で作成します。
計算結果を確認してみましょう。
データペインの「オーダーid」と「日(オーダー日)」を行、作成した「YEAR」をマークのテキストにドラッグ&ドロップします。
各注文の年が抽出されていることが分かります。
YEAR関数と同様に、日付の月を返す関数MONTH、週を返す関数WEEK、日にちを返す関数DAYも利用できます。
DATENAME
DATENAME関数は日付の年月日、曜日、四半期、週番号等の様々な単位で時間情報を返す関数で、次のように記述します。
DATENAME(date_part, date, [start_of_week])
日付dateからdate_partで指定した単位の時間情報を文字列として返します。
date_partには例えば四半期「quarter」や月「month」、曜日「weekday」等の様々な単位を指定ができます。詳細はdate_partに指定可能な一覧にあります。
start_of_weekで週の開始曜日(mondayなど)を指定できます。1週間を日曜始まりにするか月曜始まりにするかといった具合です。省略した場合にはデータソースに応じて自動的に決定されます。
スーパーストアのデータを利用した例をみてみましょう。
オーダー日を引数としてdate_partに「month」「week」「weekday」をそれぞれ指定した計算式を計算フィールドで定義して、「datename_month」「datename_week」「datename_weekday」という名称で作成します。
計算結果を確認してみましょう。
データペインの「日(オーダー日)」、作成した「datename_month」「datename_week」「datename_weekday」を行にドラッグ&ドロップします。
注文日の月、週、曜日が計算されていることが分かります。
DATENAME関数と同様に、日付を様々な単位の時間情報を返すDATEPARTという関数もあります。DATENAMEとのちがいは、返り値が整数になる点です。
YouTubeでも紹介していますのでご視聴ください。(2:12〜 DATENAME)
DATETRUNC
DATETRUNC関数は日付から様々な単位で切り捨てた時間情報を返す関数で、次のように記述します。
DATETRUNC(date_part, date, [start_of_week])
日付dateからdate_partで指定した単位で切り捨てた時間情報を返します。
date_partには例えば四半期「quarter」や月「month」、曜日「weekday」等の様々な単位を指定ができます。詳細はdate_partに指定可能な一覧にあります。
start_of_weekで週の開始曜日(mondayなど)を指定できます。1週間を日曜始まりにするか月曜始まりにするかといった具合です。省略した場合にはデータソースに応じて自動的に決定されます。
スーパーストアのデータを利用した例をみてみましょう。
四半期毎に初日の日付を求めるのに「オーダー日」を利用します。
オーダー日を引数として四半期毎に初日を求める計算式を計算フィールドで定義して「Quater Date」という名称で作成します。
計算結果を確認してみましょう。
データペインの「年(オーダー日)」と「四半期(オーダー日)」、作成した「Quater Date」を行、「売上」をマークのテキストにドラッグ&ドロップします。
四半期毎にオーダー日の初日の日付が計算されていることが分かります。
DATEDIFF
DATEDIFF関数は2つの日付の時間差を計算する関数で、次のように記述します。
DATEDIFF(date_part, date1, date2, [start_of_week])
時間情報date1とdate2の時間差をdate_partの単位で返します。
date_partには例えば四半期「quarter」や月「month」、曜日「weekday」等の様々な単位を指定ができます。詳細はdate_partに指定可能な一覧にあります。
start_of_weekで週の開始曜日(mondayなど)を指定できます。1週間を日曜始まりにするか月曜始まりにするかといった具合です。省略した場合にはデータソースに応じて自動的に決定されます。
スーパーストアのデータを利用した例をみてみましょう。
オーダー日と出荷日の差を求める計算式を計算フィールドで定義して「DATEDIFF」という名称で作成します。date_partには「day」を指定します。
データペインの「オーダーid」「オーダー日」「出荷日」を行、作成した「DATEDIFF」をマークのテキストにドラッグ&ドロップします。
注文から出荷までに要した時間が日にち単位で算出されていることが分かります。
YouTubeでも紹介していますのでご視聴ください。(4:22〜 DATEDIFF)
MAKEDATETIME
MAKEDATETIME関数は日付と時刻を組み合わせた値を返す関数で、次のように記述します。
MAKEDATETIME(date, time)
日付情報dateと時刻情報timeを結合した時間情報を返します。
気象庁が公開している台風のデータを利用した例をみてみましょう。
台風のデータは以下のような形式です。
年月日のフィールド「year」「month」「day」と時間のフィールド「time(UTC)」が存在します。MAKEDATETIME関数を利用して年月日時間のフィールドを作成する計算式を定期して、「YMDHMS」という名称で保存します。
年月日情報を組み合わせるMAKEDATE関数と時分秒情報を組み合わせるMAKETIME関数も利用しています。
計算結果を確認してみましょう。
データペインの「Year」「Month」「Day」「time(UTC)」を行、作成した「YMDHMS」をマークのテキストにドラッグ&ドロップします。
日付と時刻をまとめたフィールドが作成されていることが分かります。
本ページではTableauの日付関数の中からよく利用するYEAR、DATENAME、DATETRUNC、DATEDIFF、MAKEDATETIME関数を紹介しました。