Tableau 計算式の関数紹介(1)
MAX関数
Tableauの MAX関数は、指定されたフィールドの中から最大値を返すために使用されます。数値フィールド、日付フィールド、または文字列フィールドに対して使用できます。
数値フィールドの場合 : 数値の最大値を返します。
例: 売上データから最大の売上金額を返す場合
MAX([Sales])
文字列フィールドの場合 : 文字列の辞書順で最大の値を返します。辞書順で後に来る文字列が最大とされます。
MAX([文字列フィールド])
注意点:
複数のレコードが含まれるデータに対して使用される場合、フィルタリングや集計の結果に依存して最大値が決まります。
MAX関数は、指定されたフィールドの値のみに適用され、NULL値は無視されます。
MIN関数
Tableauの MIN関数は、指定されたフィールドの中から最小値を返すために使用されます。数値フィールド、日付フィールド、または文字列フィールドに対して使えます。
数値フィールドの場合 : 数値の最小値を返します。
MIN([数値フィールド])
例: 売上データから最小の売上金額を返す場合
MIN([Sales])
文字列フィールドの場合 : 文字列の辞書順で最小の値を返します。辞書順で前に来る文字列が最小とされます。
MIN([文字列フィールド])
注意点:
MIN関数も、集計やフィルタリングによって異なるレコードから最小値を決定します。
NULL値は無視され、計算に含まれません。
MIN関数は MAXと対になっており、同様にさまざまなデータ型に対応しています。
FIXED関数
Tableauの FIXEDは、特定の次元に固定して計算を行うための**LOD(Level of LOD(Level of Detail)式の一種です。FIXEDを使うと、ビュー内のフィルターや次元に依存せず、指定した次元に対して独立した計算が可能になります。
{ FIXED [次元1], [次元2], ... : 集計関数([フィールド]) }
[次元] : 計算を固定する次元(カテゴリや日付など)
集計関数 : 使用する集計関数(SUM, AVG, MIN, MAXなど)
[フィールド] : 集計するフィールド(売上、数量など)
使用例:
1. 固定された次元に基づく売上の合計
もし、 顧客単位で売上を固定して計算したい場合:
{ FIXED [Customer Name] : SUM([Sales]) }
2. 最小の日付を計算
FIXEDを使って、全体の最小の注文日を取得する
{ FIXED : MIN([Order Date]) }
FIXEDの特徴:
FIXEDは、指定された次元に固定して計算を行い、ビューに存在する他の次元やフィルターには影響されません。ただし、 コンテキストフィルターの影響は受けます。
INCLUDEや EXCLUDEと異なり、 FIXEDはより明確に次元を指定するため、コントロールがしやすいです。
ビュー内のグランularity(詳細度)が変わったとしても、FIXEDで指定した次元に基づいて値が計算されます。
注意点:
FIXEDは、計算コストが高い場合があり、特に大規模データセットではパフォーマンスに影響を与えること
フィルターの適用範囲を意識して使う必要があります。
DATEDIFF関数
Tableauの DATEDIFF関数は、2つの日付の間の差を計算するために使用されます。単位(年、月、日など)を指定して、その単位ごとの日付差を返します。
DATEDIFF('date_part', start_date, end_date)
'date_part' : 差を計算する単位(年、月、日、時間など)
start_date : 差の開始日
end_date : 差の終了日
'date_part' のオプション:
'year': 年の差
'quarter': 四半期の差
'month': 月の差
'week': 週の差
'day': 日の差
'hour': 時間の差
'minute': 分の差
'second': 秒の差
1. 2つの日付の間の日数を計算
これは、注文日 ( Order Date) と発送日 ( Ship Date) の間の日数を返します。
DATEDIFF('day', [Order Date], [Ship Date])
2. 年の差を計算
これは、注文日 ( Order Date) と今日の日付 ( Today) の間の年数の差を計算します。
DATEDIFF('year', [Order Date], [Today])
注意点:
負の値 : start_dateが end_dateより後の場合、負の値が返されます。
日付の精度: 単位('day' や 'month' など)を適切に指定することで、必要な精度で差分を計算できます。
DATEDIFFは、時間の経過やプロジェクトの期間などを分析する際に非常に役立つ関数です。
WINDOW_MAX関数
Tableauの WINDOW_MAX関数は、ウィンドウ関数の一種で、特定の範囲(ウィンドウ)内での最大値を返します。ウィンドウ関数は、ビュー内のデータの一部(または全体)に対して集計を行うために使用され、 WINDOW_MAXはその範囲の中で最大の値を計算します。
WINDOW_MAX(expression, [start, end])
expression : 最大値を求める対象のフィールドや式。
start : ウィンドウの開始ポイント(省略可能)。
end : ウィンドウの終了ポイント(省略可能)。
1. 全体の範囲で最大値を求める
売上データに対して、ビュー全体での最大の売上を取得する場合この式は、ビュー内のすべてのレコードの売上合計の中から最大値を返します。
WINDOW_MAX(SUM([Sales]))
2. 範囲を指定して最大値を求める
例えば、現在の行から前後3行を含めた範囲で最大の売上合計を取得したい場合、現在の行を基準に、前3行から後ろ3行までの範囲の売上合計の最大値が返されます。
WINDOW_MAX(SUM([Sales]), -3, 3)
注意点:
集計関数と一緒に使用 : 通常は SUMや AVGなどの集計関数と一緒に使うことが多いです。
ウィンドウのサイズを指定できる : WINDOW_MAXは範囲を指定して、その範囲内で計算することができ、これによって可変範囲での集計が可能です。
ビューの構造に依存 : ウィンドウ関数は、ビューにどの次元が配置されているかに応じて結果が変わります。したがって、集計結果が期待通りでない場合は、ビューの次元やフィルター設定を見直す必要があります。
WINDOW_MAXは、時系列データや特定の範囲に基づく最大値を求めるときに非常に便利です。