【Tableau】動的ゾーン表示(Dynamic zone visibility)とは

# はじめに
こんにちは。
2022/10/18にTableau 2022.3がリリースされました。
今回は新機能の「動的ゾーン表示(Dynamic zone visibility)」を紹介したいと思います。
※ver2022.3を使用

# 動的ゾーン表示とは
**ゾーンの表示/非表示を動的に切り替えることができる**機能です。
ここでいうゾーンはシートだけではなく、
**ダッシュボードオブジェクト（水平方向・垂直方向、テキスト、イメージ、ナビゲーション)も含みます。**

動的ゾーン表示により表示/非表示切り替えをする際の特徴としては、以下のものが挙げられます。
・シートのタイトルの表示/非表示を切り替えられる
・ダッシュボードオブジェクトの表示/非表示を切り替えられる
・水平方向・垂直方向のオブジェクトの表示/非表示を切り替えられる

パラメータとフィルターを使用することで、以前のバージョンでもシートについては表示/非表示切り替えはできていました。しかし動的ゾーン表示の機能によって、より多くのオブジェクトをコントロールすることができるようになったようです。

# 動的ゾーン表示の設定方法
まずは動的ゾーン表示の設定方法について、簡単に記載します。
①	ブール型のパラメータを作成
②	ダッシュボード作成画面で、シートやオブジェクトを配置
③	動的ゾーン表示の設定対象となるシートやオブジェクトをアクティブ(グレーの枠線が表示されている状態)にし、画面左側の「レイアウト」タブをクリック
④	「値を使用して表示状態を制御する」にチェックを入れ、①で作成したパラメータを指定
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2192521/084f4fe4-556b-b704-1861-ac24148ffc2a.png)
※動的ゾーン表示の設定方法についての詳細は、以下のリンクを参照ください。
[動的ゾーンの可視性を使用する](https://help.tableau.com/current/pro/desktop/en-us/dynamic_zone_visibility.htm)

続いて、動的ゾーン表示の特徴について説明したいと思います。

# 特徴①　シートのタイトルの表示/非表示を切り替えられる
このようなダッシュボードを作成してみました。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2192521/1e273431-1c54-2e43-2946-f76b6c8ea96a.png)
上の棒グラフには動的ゾーン表示を使用し、下の棒グラフには従来のやり方(パラメータとフィルターを使用)で表示/非表示を切り替えられるようにしています。
※データソースは皆さんご存じの「サンプルスーパーストア」(ダミーデータ)を使用。

上下ともにパラメータを変更してそれぞれのシートを非表示にしてみます。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2192521/dd833104-b8ee-8645-f30d-e5cc49c05759.png)
従来のやり方(パラメータとフィルターを使用)をしている下のシートではタイトルが残ってしまっているのに対し、**動的ゾーン表示を使用している上のグラフはタイトルも非表示にできています。**

# 特徴②　ダッシュボードオブジェクトの表示/非表示を切り替えられる
冒頭で述べたように、ダッシュボードオブジェクトも非表示にできます。
ダッシュボードオブジェクトとは、水平方向・垂直方向、テキスト、イメージ、空白、ナビゲーションなどを指します。

このようなダッシュボードを作成してみました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2192521/07fa6c6f-84e0-f557-4283-d790e801b5a0.png)
中央にダッシュボードオブジェクトを4つ、上からテキスト、イメージ、空白、ナビゲーションの順に配置しています。
これら4つのオブジェクトにそれぞれ動的ゾーン表示の設定をし、「動的ゾーン_パラメータ1」によって表示/非表示を切り替えられるようにしています。
※イメージオブジェクト内で使用しているサラリーマンの画像は商用可のフリーイラストサイト「[ソコスト](https://soco-st.com/) 様」から拝借しました。

なお、オブジェクトに動的ゾーン表示を設定する方法は、シートに設定するときと同様です。対象を選択した状態で「レイアウト」タブ内の「値を使用して表示状態を制御する」にチェックを入れ、パラメータを指定することで設定できます。

パラメータを切り替えました。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2192521/77b5817e-c99d-32fd-f7d7-7eb25ca35314.png)
動的ゾーン表示を設定したダッシュボードオブジェクトが非表示になっています。

# 特徴③　水平方向・垂直方向のオブジェクトの表示/非表示を切り替えられる
テキストやイメージだけでなく、水平方向と垂直方向オブジェクトについても表示/非表示を切り替えることができます。
その際、**水平方向/垂直方向オブジェクト内にあるシートやオブジェクトも**表示/非表示切り替えの対象となります。

このようなダッシュボードを作成してみました。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2192521/9b783aab-c1c6-56ef-6e41-0ccd0f5e9f01.png)
上部(青枠部分)に水平方向オブジェクトを配置し、テキストオブジェクトを2つ横並びに格納しています。
下部(赤枠部分)に垂直方向オブジェクトを配置し、テキストオブジェクトを縦に2つ格納しています。
水平方向と垂直方向オブジェクトにそれぞれ動的ゾーン表示の設定をし、「動的ゾーン_パラメータ1」によって表示/非表示を切り替えられるようにしています。

パラメータを切り替えます。
 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2192521/235493ff-ba1e-2a0d-c5fb-720aa6f38ec3.png)
動的ゾーン表示を設定した水平方向・垂直方向のオブジェクトと、その中に含まれていたテキストオブジェクトが非表示になりました。

以前のバージョンでは、ダッシュボードオブジェクトの表示/非表示を切り替えることはできなかった(と私は記憶している)ので、**動的ゾーン表示の機能によりダッシュボード開発の自由度が大きく高まった**と思います。

# おわりに
動的ゾーン表示機能の登場により、従来のバージョンでのやり方(パラメータ+フィルターを用いた方法)と比べ、より高度なダッシュボードを作成できるようになりました。

また、今回ご紹介した用途の他、パラメータアクションなどと組み合わせることで、
「ソースシートの値により、表示させるシートを切り替える」といったことができるようです。

今回は以上となります。
最後までご覧いただきありがとうございました。