Tableauには、ディメンションを指定して集計する3種類の関数(FIXED、INCLUDE、EXCLUDE)が用意されています。
本ページでは、それらの3種類の関数のうちFIXEDに関して基本的な考え方と構文、動作例を紹介します。
FIXEDは3つの中で一番応用範囲が広く、使いこなせるようになると魅力的なVizを作成できるようになります。FIXEDの考え方が分かるようになれば、続いてINCLUDE、EXCLUDEも学んでみるとよいと思います。
YouTubeでも紹介していますのでご覧ください。
基本的な考え方
Tableauには、「Level Of Detail」の略で「LOD」という独特の考え方が存在します。
「チャートのLOD」や「計算のLOD」などのように呼ぶ場合は、チャートの作成や計算に利用するディメンションのフィールドを指します。
FIXEDはディメンションを指定して集計する関数で、チャートのLODとは独立して機能します。
スーパーストアのデータを例に考えてみましょう。
例えば、地域xカテゴリ別の売上合計の表を作成してみます。
この時のチャートのLODは、「カテゴリ」「地域」になります。
では、もしこの表に地域毎の売上合計も入れたい場合にはどうしたらよいでしょうか?
LODが「地域」と「カテゴリ」のチャートに「地域」のみで集計した数値を入れるとなると、途端にややこしくなります。
そのようなLODの異なる計算したい時に利用するのがFIXEDです。
FIXEDではディメンションを指定してデータを作成し直します。
例えば「地域」を指定して売上合計を計算するFIXEDは以下のようにデータを作成します。
あるいは「顧客」を指定して売上平均を計算するFIXEDは以下のようにデータを作成します。
このように、ディメンションを指定して集計し、計算フィールドを作成することが可能になります。
さらに作成された計算フィールドをチャートの入れてみます。
従来のLODが「地域」と「カテゴリ」のチャートに、FIXEDを利用した「地域」毎の売上合計も入れると、以下のようになります。
FIXEDを適用した列は地域毎の売上合計を表していて、カテゴリが異なっても地域が同じならば値が同一であることがわかります。
ではFIXEDの基本的な考え方が分かってきたところで、次に記述方法と動作例を紹介していきたいと思います。
記述の方法
FIXEDは次のように記述します。
{FIXED <フィールド名>: <集計式>}
FIXEDはチャートのLODに関係なく、<フィールド名>にて指定したディメンションで計算します。指定するディメンションが複数ある場合は、<フィールド名>にコンマで区切って指定します。
<フィールド名>を指定しない場合はすべてのデータが集計対象になります。
例えば、
「地域毎の売上」は
{FIXED [地域]: SUM([売上])}
「顧客毎の注文回数」は
{FIXED [顧客Id]: COUNTD([オーダーID])}
「顧客毎の初回注文日」は
{FIXED [顧客Id]: MIN([オーダー日])}
になります。
動作を確認
スーパーストアのデータを用いて簡単な例を見ていきましょう。
FIXEDを利用した計算式を作成します。
データペインの「地域」を行、「カテゴリ」と「メジャーネーム」を列にドラッグ&ドロップします。さらに「メジャーバリュー」をマークのテキストにドラッグ&ドロップします。
メジャーバリューを売上とFIXEDの計算式の2つに絞り込んで表をシンプルにします。
完成しました。
FIXEDでは表の横軸「カテゴリ」を無視して指定した「地域」毎に売上合計を集計していることが分かります。指定されたディメンション以外は無視するのがFIXEDの特性です。
もう一つ例を挙げます。
FIXEDを利用して各地域各カテゴリ毎の売上平均を計算する式を作成します。
FIXEDの適用結果にAVG関数を適用しているため少し複雑になっています。
式{FIXED [地域],[カテゴリ]: SUM([売上])}
は、元のデータを「地域」と「カテゴリ」が集計軸の売上合計のデータに作成し直します。つまり以下のようなデータを作成します。
今回求めたいのは各地域各カテゴリ毎の売上平均なので、さらにAVG関数を適用しています。
では早速表を作成してみます。
データペインの「地域」と「カテゴリ」を行、作成した計算式をマークのテキストにドラッグ&ドロップします。
では今度は行にある「カテゴリ」を「顧客区分」に置き換えてみます。
すると表の数値が地域で同じ値になりました。
これは計算式が各地域各カテゴリ毎の売上平均を算出しているため、「顧客区分」が表に追加されたとしても計算には影響を及ぼさないからです。指定されたディメンション以外は無視するのがFIXEDの特性です。
チャート内で使用しているディメンション(チャートのLOD)であっても、明示的に指定しないディメンションはFIXEDの計算の対象になりません。
本ページでは、3種類のLOD(FIXED、INCLUDE、EXCLUDE)のうちFIXEDに関して基本的な考え方と構文、動作例を紹介しました。