見出し画像

Tableau 関数/Tipsまとめメモ

はじめに

DATA Saber挑戦中のApprenticeです。
Tableauを触っていて、細かい表現を調整したいときに活用できるTipsがたくさんあるなと感じています。
どうすればよいのであったか、なかなか出てこないときのためにTips集を作っておきたいなと思い、まとめました。
思い出すきっかけレベルを想定しているので、それぞれ詳しくは解説していません。


計算値・関数

SPLIT('文字列',"分割文字",何番目かの数字※ーも可)

分割文字で分割できる文字列の、文字列の先頭または末尾から指定番目の区切りの文字列を抽出する。
例)SPLIT('a-b-c-d',"-",2)='b'、SPLIT('a-b-c-d',"-",-2)='c'

DATEDIFF(カウント単位,開始日,終了日,[週の始まり曜日])

2つの日付の差を計算する。
例)DATEDIFF('month',#2004-07-15#,#2004-04-03#,'sunday')=-3

DATETRUNK('切り捨て単位',日付,[週の始まり曜日])

切り捨て単位で切り捨てた単位開始日付データを返します。
切り捨て単位で分類したい場合に使用します。
例)DATETRUNC('quarter',#2004-08-15#)=2004-07-01 12:00:00 AM

IIF(条件,TRUEの時の値,FALSEの時の値,[不明の場合の値])

ExcelのIFとほぼ同じ、不明の時と指定してない場合はNULLが返る。
例)IIF([利益]>0,'利益’,’損失')

IF 条件1 THEN 条件1がTRUEの時の値
ELSEIF 条件2 THEN 条件2がTRUEの時の値
ELSE 条件12ともにFALSEの時の値 END

ExcelでIFの入れ子を作る際と同じ。

MAX(バリュー)/MIN(バリュー)

バリューの最大値、最小値。日付にも利用可能。
2番目に大きい値を指定したい際には、以下IIFと組み合わせて表現可能。MAX(IIF([バリュー]<[MAX([バリュー])],[バリュー],NULL))}

RUNNING_MAX(式)

最初の行から現在の行までの最大値を返します。

LOOKUP(式,[行数])

現在の行から[行数]位置にある値を返す。
最初/最後の行からの位置を指定したい場合は、FIRST()+n/LAST()+nで指定する。

PREVIOUS_VALUE(初期値)

最初の行は初期値、2行目以降は1行前の値を基に計算を行う
参考:【Tableau】PREVIOUS_VALUE関数を理解する

ZN(バリュー)

NULLを0に置換します。
NULL出ない場合はバリューを返し、NULLの場合は0を返します。

ATTR(式)

グループ内のすべての行が同じ値であればその値、それ以外はNULLを返す。

LOD表現

{FIXED [集計したいディメンション]:集計関数※}

指定したディメンションのみを使用して集計を計算する。
シート内で指定している列・行には依存しない。
固定したいディメンションで集計した別表を持っているイメージ。
※集計関数にならない場合は、本来不要なSUM/MAX/MINなどを入れればよい。

{EXCLUDE [無視したいディメンション]:集計関数※}

無視したいディメンションを除いて集計関数を実行する。
無視した結果、集計されるディメンションが定まっているのであれば、FIXEDで集計されるディメンションを固定しても同じ結果となる。
※集計関数にならない場合は、本来不要なSUM/MAX/MINなどを入れればよい。
参考:Tableau:分かりやすいLOD – EXCLUDE編 

装飾系Tips

リファレンスラインは複数設定可能

値をカンマで区切って複数入力することで複数のリファレンスラインの設定が可能。

2種類のディメンションで色分けする

2個目のディメンションを色に追加しようとすると、色分けが2個目のディメンションのみになる。
2個目のディメンションは一度詳細で追加し、追加後に色を変える。

クロス集計表に背景色をつける(ように見せる)

すべてのカラムが1となる計算値※を作成し、計算値の棒グラフとする。
※集計を行う場合は、MIN(1)など。
軸の最大値を1とし、色分けしたいカテゴリを色に入れる。

はじめの値を除く

RINNING_~系の関数使用時など、一番初めの値を条件から除外したい場合、「INDEX()>1」等をAND条件で追加すると除外できる。

アドホック計算の名前を変える

ダブルクリック→先頭にカーソル移動→シフトエンター→スラッシュスラッシュ→名前で変えられる。

ハイライトさせない(選択してない項目を見やすく)

すべての行が1となる計算値を作成し、詳細に入れる。
アクションで、フィルター用シートをクリックしたら、上記計算値がハイライトされるように指定する。

表示切り替え系Tips

集計するバリューを切り替える

パラメーターで「切り替えたいバリュー」のリストを作成し、対象パラメーターを集計値とする。

ビンの単位を切り替える

パラメーターで「切り替えたいビンの大きさ」リストを作成し、[ビンのサイズを選択]で、対象パラメーターを選択する。

表示するシートを同一ダッシュボード内で切り替える

パラメーターで「切り替え表示したいシート」のリストを作成し、選択した対象パラメータが適用される計算値を作成する。
フィルターに作成した計算値を設定し、リストの値が対象のシートとなる場合のみ表示するようにチェックする。
ダッシュボード内には、水平/垂直コンテナを設定し、コンテナ内に切替表示したいシートを設定する。
各シードのタイトルは非表示にする。

複数のグラフを表示してソートするカテゴリを切り替える

パラメーターで「切り替えに利用したいディメンションが持つ値」のリストを作成する。
ソート対象の値のみが集計される計算値(ソート用の値)を作成し、作成したソート用の値でソートする。
以下、集計方法がSUMの場合の、2つのソート用の値作成方法を記載する。

  1. FIXEDを利用して、集計単位の集計値を、リストに合致している値のもののみとする。
    {FIXED [集計単位]:SUM(IIF([ディメンション]=[リスト],[集計値],0))}

  2. EXCLUDEを利用して、リストに合致している値の集計値を、すべてのディメンションのものとして扱う。
    {EXCLUDE [ディメンション]:SUM(IIF([ディメンション]=[リスト],[集計値],0))}

差などの表計算利用時に表示する範囲を限定させる(切り替える)

差の表計算値のグラフをフィルターする場合、通常は差の基準値も表示させておく必要がある。
差の基準値も非表示にして表示範囲を切り替えたい場合、「切り替えに使いたい値」と「同じ値になる別の値」を作成し、後者でフィルターする。
例)日付の値の年でフィルターしたい場合
  LOOKUP(MIN(DATEPART('year',[日付の値])),0)

データの結合方法Tips

プライマリグループの作成

マスタデータから特定のディメンション追加する程度の結合の場合に有用。
一度リレーションを設定し、セカンダリデータソースのディメンションを右クリックして「プライマリグループの作成」を選択すると、マスターデータソースに対象のディマンションが追加される。
ただし、セカンダリデータソースの項目が更新されても、マスターデータソースのプライマリグループは更新されないので注意。

特殊なグラフ作成Tips

滝図(ウォーターフォールチャート)

  1. 集計値の累計グラフを作成する。

  2. グラフ種別を「ガントチャート」にする。

  3. 集計単位の合計のマイナス値を「サイズ」に入れる。

おわりに

結構選別したつもりだったのですが、これまでで最長の記事となってしまいました。
たくさんTipsがある=経験による差がつきやすい ということかなと感じました。
これからもTipsを見つけたら忘れず書き留めて、次の機会に活かせるようにしたいです。

いいなと思ったら応援しよう!