【Tableau】ダッシュボード内のシートを別のシートに表示切替する方法（改善版）

# 1.はじめに
2021年1月に[「【Tableau】ダッシュボード内のシートを別のシートに表示切替する方法」](https://qiita.com/sho_szk_/items/9b8e2a8cb5f4faf1a3fe)を書きましたが、あれから数年経って見直したところ、もっとシンプルな作り方があったため、再度記事をつくることとしました。

改めてですが、タイトルの通りは **「ダッシュボードに表示しているシートを別のシートに表示切替をする方法」** を紹介いたします。

前回の記事との差分は以下となります。
* **データソースは1つでよい**
（前回はデータソースを3つ用意しているが、読み込むデータ量やメンテナンス性を考えると1つの方がよい）
* **作成する計算フィールドも1つでよい**
（前回は計算フィールドを2つ作成しているが、もっとシンプルにできる）
* **ダッシュボードの切り替えるシートを配置する際にコンテナを使う**
（前回は浮動で配置しているが、やや力技で実現している印象）

# 2.概要
今回説明用につくったダッシュボードは2つのシートが表示されており、下のシートの表示を切替可能とします。切替はダッシュボードの右側のパラメーター（画面では、単一の値のリスト）を選択することで行えます。

|売上シート と【 利益の"線"グラフ 】|売上シート と【 利益の"棒"グラフ 】|
|---|---|
|<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/0877191c-7a13-6519-c566-1f69b0300e14.png>|<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/d0e24ab9-dbb1-847c-e5be-df1d0ecf4905.png>|

**実際のViz（Tableau Public）**
[パラメータを用いたシート切替_改善版 | Tableau Public](https://public.tableau.com/app/profile/sho.suzaki/viz/__17026989992660/sheet0)

# 3.つくりかた
今回のダッシュボードのデータソースは「サンプル - スーパーストア.xls」を用います。ダッシュボードの上のシートは売上、下のシートは利益を表示します。**シート数は全部で3つ**で、売上シートを1つ、利益のシートは線グラフと棒グラフの2つを用意します。**ダッシュボード内の利益の線グラフと棒グラフの表示を切り替えられる**ようにします。作成時のポイントは**表示切替にはパラメーターとフィルターを用いる**という点です。

## ①データソースを設定する
まずはデータソース設定をします。今回の例では3シートともに「サンプル - スーパーストア.xls」の注文を用います。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/a1add73d-f5a9-a2d9-fcfb-16151c401480.png>

## ②シートを用意する
以下の3シートを用意しました。<font color="Blue">売上は青色</font>、<font color="Green">利益は緑色</font>にしています。

**売上シート**
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/f6b4914f-dc20-bf64-b4d1-5cef8730974f.png>


**利益の線グラフ**
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/7453ea1e-cf9a-dbf3-17be-59572174d9a8.png>

**利益の棒グラフ**
<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/608a80bd-2a90-c02e-85f9-fbb22368485c.png>

## ③パラメーターを作成する
次に、利益のシートを切り替えるパラメーターを作ります。キャプチャのような具合に設定します。パラメーターの設定をする際に、処理スピード向上のためデータ型は”整数”とし、値のリストの「値」に整数を入力してください。データ型を文字列などにしても作成は可能ですが、一番処理スピードが早いのは整数となります。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/3e98ca47-2e80-79c4-e193-7358c9232b39.png  width=75%>


## ④計算フィールドを作成する
パラメーターをそのままフィルターに指定できないため、計算フィールドを用意する。

**計算フィールド名：シート切替(フィルタ用)**
**計算フィールドの式：[シート切替]** ← ③でつくったパラメーター

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/65a87a08-d115-9a1a-47a1-cda183f57116.png  width=75%>

整数型であるため、メジャーの位置に配置されますが、右クリックで「ディメンションに変換」をする（ディメンションの位置にドラッグ&ドロップでもよいです）。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/d0871b1d-9ed0-2dbf-76be-8789dba5aa41.png  width=30%>

## ⑤フィルターを設定する
この作業は利益2シート（線グラフ、棒グラフ）の両方で実施します。

まずは、利益の線グラフのシートを開き、パラメーターの**シート切替**を右クリックして「パラメーターの表示」をします。表示の仕方は好みですが、今回は「単一の値のリスト」とします。そして、**パラメーターの設定値が現在表示しているシートになっていることを確認してください（今回は「利益の線グラフ」）。** もしも、異なる場合はパラメーターをクリックして変更してください。そうすると以下の画面のようになります。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/7f37ac88-6f61-5221-a9e6-37a04ad1c5b6.png>

次に、フィルターに**シート切替(フィルタ用)** を設定してください。フィルター設定では、リストから選択の **"1"** にクリックしてOKをクリックしてください。この **"1"** という値 はパラメーターの値（線グラフなら"1"、棒グラフなら"2"）となります。この設定によって、パラメーターが「利益の線グラフ（"1"）」の時だけ、シート：利益の棒グラフが表示されるようになります。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/35b138dd-5bff-1abf-5054-e09baf6f1bd3.png>

同様に、利益の棒グラフのシートでもパラメーターを表示して、パラメーターの値を「利益の棒グラフ」に指定して、をフィルターを設定します。利益の棒グラフの場合は、フィルターで指定する値は **"2"** となります。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/9560ccba-aba1-9493-268c-ea7f7aeaa079.png>

上記設定後、**パラメーターで「利益の線グラフ」を指定する**と、利益の線グラフは**表示**され、棒グラフは**非表示**となります。

|利益の線グラフ|利益の棒グラフ|
|---|---|
|<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/2b75a4ff-09ad-bb3a-dc16-9c7214ec8253.png>|<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/8b06910a-48ab-fd44-fa4a-224eeda7959a.png>|

## ⑥ダッシュボードを作成する
新しいダッシュボードのシートを追加します。

* 売上シート、利益の棒グラフ、利益の線グラフ、パラメーターの「シート切替」を追加します。
* 配置位置は以下の画像を参考に配置してください。
    * 配置の際には「垂直コンテナ」、「水平コンテナ」を使っています。画像の<font color="Red">赤枠部分</font>を参考にしてみてください。
    * 「水平コンテナ」の中に、切り替える対象の利益の2シート(線グラフ、棒グラフ）を配置します（画像の<font color="Blue">青枠部分</font>）。
    * パラメーターの位置を調整するために、「空白」を用いています。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/7512d3ea-555e-0c99-4bb1-9d517afea4c1.png>

上記画像の状態となったら、3シートのタイトルを非表示にします。各シートの「その他オプション（▼）」のタイトルをクリックすれば、タイトルは非表示にできます。

<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/661a440c-eda9-ff2e-dc40-3d33ea4ffb54.png>

最後に、**ダッシュボードタイトル**は、「売上と利益（シート切替対応）」とし、グラフに合わせて文字色（<font color="Blue">売上は青色</font>、<font color="Green">利益は緑色</font>）に設定します。文字色をグラフの色と合わせることで、ダッシュボードタイトルを見ればシートタイトルがなくても、グラフの値が何かがわかるようになります。

完成したダッシュボードが以下となります。**パラメーターで「利益の線グラフ」が選択** されれば左の画像の表示、**パラメーターで「利益の棒グラフ」が選択** されれば右の画像の表示となります。

|売上シート と【 利益の線グラフ 】|売上シート と【 利益の棒グラフ 】|
|---|---|
|<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/e73c40c1-f863-5dac-b5bf-a25b35ff71d1.png>|<img src=https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/989891/fd26f7e0-9235-39c6-0031-0058b2e3224e.png>|

# 4.最後に
ここまで読んで下さった方、ありがとうございます。業務でもよく使われるTipsかと思います。少しでもどなたかのViz作成に役立てば幸いです。