TableauDesktopの便利な使い方まとめ

はじめに

データ分析を効率化し、ビジュアライゼーションを強化するためのTableau Desktopの操作テクニックや便利な関数の使い方をまとめました。実用的で使ったことはあるけど忘れてしまうことがあると思います。時間短縮し思い出すキッカケになるようまとめました

 

1. 計算

  • IIF(条件式, TRUEの場合, FALSEの場合)
     IF文のシンプル版(2分岐まで)
     ex)IIF( [ カテゴリ ] = "家具" , [ 売上 ] , NULL )

     

  • SPLIT(分割したい文字列, 区切り文字, 番号(何番目を取り出すのか?))
     文字列を区切って部分的に抽出
     ex)SPLIT( 'JP-2025-101' , "-" , 2 ) → 2025

  • DATEDIFF(単位, 開始日, 終了日)
     日付の差を計算
     ex)DATEDIFF('month', #2025-01-01#, #2025-05-01#) → 4

  • DATETRUNC(単位, 日付)
     日付を指定単位で切り捨て
     ex)DATETRUNC('month', #2025-05-29#) → 2025-05-01

  • LOOKUP(参照項目, ずらす量を指定する)
     前後の行データを参照するのに便利
     ex)LOOKUP( SUM( [ 売上 ] ) , -1) → 前行の売上

  • RUNNING_MAX(式)
     最初の行からその時点までの最大値
     ex)RUNNING_MAX( SUM( [ 売上 ] ) )

  • PREVIOUS_VALUE(初期値)
     最初の行は指定された値をもとに計算を行い、
     2行目以降は1行前の値をもとに計算を行う
     ex)PREVIOS_VALUE ( 0 ) + SUM( [ 売上 ] )

  • ZN(メジャー)
     NULLを0に変換する
     ex)ZN( SUM( [ 利益 ] ) / SUM( [ 売上 ] ) )

2. LOD表現(Level of Detail)

  • FIXED
     特定のディメンションで集計を固定する
     例){FIXED [ 顧客名 ] : SUM( [ 売上 ] ) }

  • EXCLUDE
     指定したディメンションを除いて集計する
     例){EXCLUDE [ 商品カテゴリ ] : AVG( [ 利益 ] ) }

3. 表示の切り替え

  • グラフの値や単位を切り替える
     IF式とパラメーターで表示項目を変更

  • ダッシュボード上でシート切り替え
     [パラメーター]×[計算フィールド]×[コンテナ]の組み合わせでUIを切替式に

  • ソートする対象を切り替え
     LOD関数のFIXEDやEXCLUDE使い、計算フィールドを作成→ソート

おわりに

これらの小技が使いこなせるようになるとTableauの活用がもっとスムーズになります。データ分析を効率化し、魅力的なビジュアルをぜひ試してみてください!

グラフ内でドリルダウンする方法

DATA Saberの勉強の中で学んだドリルダウンについて掲載したいと思います。今回取り組んだ内容はグラフ内の元の階層を残しながら選択した階層をドリルダウンする方法です。

 

まずはじめに、完成しているものから確認していきましょう。

ディメンション(Plattform)の値4つ(Instagram,Linkedin,Facebook,X_Twitter)に対し、連続値であるメジャーの値が棒グラフで表示されています。

ディメンションの値を1つ(ここではX_Twitter)を選択するとドリルダウンできます。

 

X_Twitterの階層の下位の階層が表示されドリルダウンされました。

ここで確認したいのは、下位の階層が表示されたときに、X_Twitter 以外の元の階層・選択しなかったInstagram,Linkedin,Facebook”が、ビュー内に維持されている点です。シート切替によるドリルダウンの場合、シート全体が切り替わってしまうため元の階層が残らないことがあります。

ドリルダウンを行う前後で視点が切り替わらずに済むためこちらのほうが直感的に理解しやすいと思っています。(勿論、利用シーンによります)

 

それでは、設定する流れを確認していきましょう。

1.

まずはじめに、行に階層の上位のディメンションと列にメジャーを置きます。

2.

次に、階層の上位のディメンションのセットを作成します。

3.

ドリルダウンに使用する目印”▼””►”を作成します。

2.で作成したセットを使い、計算フィールドを開き以下を記述します。

 IF [Platform セット] THEN "▼" else "►" END

そして、あたらしく作成した計算フィールドを行に置きます。

 

4.

ドリルダウン後に展開して表示される階層の下位のディメンションを作成します。

2.で作成したセットと、階層の下位のディメンションを使い、計算フィールドを開き以下を記述します。

 IF [Platform セット] THEN [Campaign Name] ELSE "" END

そして、あたらしく作成した計算フィールドを行の3.の右隣に置きます。

 

5.

最後に、セットアクションを設定します。

セットアクションを使用することで、マウスのカーソルでドリルダウンしたいディメンションを選択したときの動作を設定できます。セットアクション内にあるターゲットセットには2.で作成したセットを指定します。

6.

完成しました。


とても少ないステップでドリルダウンが実装できることが分かります。

 

まとめ

これ以外の方法で動的ゾーン表示があります。

www.youtube.com

シーンによって、動的ゾーン表示と使い分けしてみてはいかがでしょうか。

Tableau Desktopのリレーションシップについて

 

DATA Saberに挑戦する中でリレーションシップについて理解したことをまとめておきたいとおもいます。

リレーションシップと結合について

リレーションシップも結合も複数のテーブルを接続するという意味では同じです。

1番大きな違いは、テーブルがくっつくタイミングと、データが集計されるタイミングです。

 

売上テーブル

日付 商品 売上高
2025/4/29 テーブル 40,000
2025/4/29 椅子 10,000
2025/4/29 本棚 30,000

 

予算テーブル

日付 算額
2025/4/29 80,000

 

リレーションシップの場合

  1. 2025/4/29の売上テーブルの売上額を合計する。
  2. 日付をキーにして、売上テーブルと予算テーブルをくっつける
  3. 売上額÷予算額を計算する。

日付 売上 予算
2025/4/29 80,000 80,000

 

結合の場合

  1. 日付をキーにし、2つのテーブルをくっつける。(予算額のデータが3行に繰り返される)
  2. 売上額は合計、予算額平均する。(予算額は合計してしまうと3倍になってしまうため平均で集計しなくてはならない)

日付 商品 売上高 予算
2025/4/29 テーブル 40,000 80,000
2025/4/29 椅子 10,000 80,000
2025/4/29 本棚 3,000 80,000

 

↓ 2025/4/29の売上額を合計、予算額は重複しているので平均

日付 売上 予算
2025/4/29 80,000 80,000

 

結合の場合、SUM(売上額)/AVG(予算額)の計算が必要になり間違いが起こりやすくなる

 

リレーションシップの操作

方法

リレーションシップはTableauのデータソースシートを利用します。

  1. 2つ以上のテーブルをデータキャンバスにドロップする。
  2. テーブルの間に線が引かれます。
  3. Tableauが自動的にリレーションシップの項目が認識されれるとリレーションシップの設定ができます。

     4. もし、自動的にリレーションシップの項目が認識されない場合は、項目を選択します。

リレーションシップで「パフォーマンスオプション」を開くと、カーディナリティの項目が現れます。カーディナリティ「1対多」「多対多」どちらにするかを選びます。

「パフォーマンスオプション」について詳しく書かれているサイトを参考にしてください。

Tableauのリレーションシップを理解して過剰結合を防ぐ | エクスチュア株式会社ブログ

 

まとめ

レコードの複製を避けてデータテーブルを結びつける機能は素晴らしい機能だと思います。また、リレーションシップでは結合のタイプを自分で選ばなくて良いのでTableau初心者は基本的にリレーションシップを使うのがよいのではないでしょうか。