はじめに
この記事は、Tableau で「条件によって表示するビジュアルを丸ごと切り替える方法」をご紹介します。
Cognos Analytics には 「条件ブロック」 という機能があります。
これは、ある条件(パラメーターの値や集計結果など)に応じて、レポート上に表示するオブジェクト(表・グラフ・テキストなど)を丸ごと出し分ける機能です。
例: プロンプトで「グラフ表示」を選択したらグラフを表示、「リスト表示」を選択したらリストを表示する
Tableau には「条件ブロック」に相当する機能は存在しません。ただし、パラメーターと計算フィールドを組み合わせる ことで、同様の「条件によってビジュアルを出し分ける」挙動を実現できます。
Tableau での実現方法:全体の考え方
Cognos の条件ブロックは「ブロックを出す/消す」という考え方ですが、
Tableau では以下の方法で代替します。
| アプローチ | 概要 | 向いているケース |
|---|---|---|
| パラメーター + シート切り替え(ダッシュボードのフロート配置) | パラメーターの値に応じて表示するシートを切り替える | まったく異なるビジュアルを出し分けたいとき(Cognos条件ブロックに最も近い) |
パラメーター + シート切り替えで異なるビジュアルを出し分ける
Cognos の条件ブロックに最も近い方法です。
まったく異なるビジュアル(グラフ・テキスト・テーブルなど)をパラメーターの値によって切り替えられます。
手順
STEP 1:切り替える2つのシートを作成する
シートA「グラフ表示」
- 新しいワークシートを作成し、棒グラフで売上実績を表示
- シート名を「グラフ表示」に設定
シートB「リスト表示」
- 新しいワークシートを作成し、同じ項目をテキストテーブル(クロス集計)で表示
- シート名を「リスト表示」に設定
STEP 2:切り替え用のパラメーターを作成する
- データペインの空白部分を右クリック →「パラメーターの作成」をクリック
- 以下のように設定する
| 項目 | 設定値 |
|---|---|
| 名前 | 表示切り替え |
| データ型 | 文字列 |
| 許容値 | リスト |
- 「リストの値」に以下の2つを追加する
| 値 | 表示名 |
|---|---|
| グラフ | グラフ表示 |
| リスト | リスト表示 |
- 「OK」 をクリックしてパラメーターを保存する
STEP 3:表示切り替え用の計算フィールドを作成する
各シートでパラメーターの値に応じてビジュアルを表示・非表示にするための計算フィールドを作成します。
「グラフ表示フラグ」計算フィールド:
- データペインの空白部分を右クリック →「計算フィールドの作成」をクリック
- フィールド名を
グラフ表示フラグに設定 - 以下の数式を入力する
[表示切り替え] = "グラフ"
- 「OK」 をクリックして保存する
同様に 「リスト表示フラグ」 も作成します。
[表示切り替え] = "リスト"
STEP 4:ダッシュボードにシートを重ねて配置する
-
新しいダッシュボードを作成する
-
シートA(グラフ表示) をShiftキーを押しながらフロートオブジェクト としてダッシュボードにドラッグして配置する
- シートをドラッグする際に
Shiftキーを押しながらドロップすると、フロートとして配置できます
- シートをドラッグする際に
-
シートA(グラフ表示)のレイアウトを下記のように設定する
-
シートB(リスト表示) を フロートオブジェクト としてシートA(グラフ表示)と同じ位置・サイズに重ねて配置する
-
シートB(リスト表示)のレイアウトを下記のように設定する
ポイント
フロート配置とすることで、2つのシートをピクセル単位で同じ場所に重ねることができます。
STEP 5:パラメーターコントロールを表示する
STEP 6:動作確認
パラメーターコントロールで「グラフ表示」を選択すると、シートA(グラフ表示) のグラフが表示されシートB(リスト表示) が非表示になります。
「リスト表示」を選択すると、シートB(リスト表示) のテーブルが表示されシートA(グラフ表示)が非表示になります。
「グラフ表示」を選択した場合
グラフ表示シートの内容が表示され、リスト表示シートは非表示になります。
「リスト表示」を選択した場合
リスト表示シートの内容が表示され、グラフ表示シートは非表示になります。
まとめ
| 手順 | 内容 |
|---|---|
| STEP 1 | 切り替える2つのワークシートを作成 |
| STEP 2 | 切り替え用のパラメーターを作成 |
| STEP 3 | 表示切り替え用の計算フィールドを作成 |
| STEP 4 | ダッシュボードにシートをフロートで重ねて配置 |
| STEP 5 | パラメーターコントロールを表示 |
| STEP 6 | 動作確認 |
Tableau では「ブックマーク」という概念はありませんが、パラメーター × 計算フィールドのフィルター × フロート配置 を組み合わせることで、Cognos の条件ブロックと同様の「条件によるビジュアルの出し分け」を実現できます。












