お疲れ様です。Nasです。
同じ画面上で一度にたくさんのチャートを見ていると、選択条件外のチャートは一時的に隠れていて欲しい…
そんな風に思ったことはありませんか??
画面の大きさに限りがありますし、見たいチャートをなるべく上に持ってきたい!という願望も…
今日は、そんなお悩みを解決すべく!
レイアウトコンテナとパラメータ付き変数を使って、該当する時のみ画面上部に現れるチャート群を作ってみたいと思います😄
完成イメージ
どんなシートに仕上がるか?なのですが、今回も売上金額に特化したシートがあるとします。

店舗タイプが3つあり、それぞれ都道府県別の売上金額が表示されているシートです。
消えたり現れたりというのは、例えば、「高級スーパーマーケット」は千葉県と東京都にしか存在しないので、その他の都道府県は非表示になり、千葉県と東京都のチャートが上部に移動してきて表示されるということ。
こんな感じで、「高級スーパーマーケット」を選択時、すっきりしたシートになります😉

用意するもの
用意するものは、パラメータ付き変数が1つです。
過去に、こちらでパラメータ付き変数についてしっかり取り上げられています。


今回は、このような変数を1つ用意します。
| 変数名 | 定義 |
|---|---|
| vChartNo | SubField(Concat(distinct 店舗都道府県,’|’,店舗都道府県),’|’,$1) |
変数設定時に数式がエラーと表示されますが、そのまま「適用」し完了していただいて大丈夫です!
都道府県を|で挟みながらズラズラっと並べて、指定した都道府県を抽出できる仕組みです。
チャート作り
今回は棒チャートを作ります。
一番上に来るチャート(ChartNoで言うと1番目)を以下のように軸とメジャーを設定します。
あらかじめレイアウトコンテナに棒チャートを格納してから、棒チャートを作ってください。
軸
項目
=Aggr(Only({1< 店舗都道府県={$(=$(vChartNo(1)))}>} 店舗都道府県),店舗都道府県)
ラベル
=If(Count({1< 店舗都道府県={$($=(vChartNo(1)))} >} distinct 店舗都道府県)>0,$(vChartNo(1)))
この軸の部分が、今回のメインです。
項目の数式で、該当する都道府県が切替わる仕組みになっています。
vChartNo(1)の部分は、下のようにチャート毎で2,3,4…と数字を変えてください。

メジャーは共通して以下のように、売上金額が出るように設定します。
メジャー
数式
=Sum(売上金額)
ラベル
='売上金額'
消えたり現れたり、の仕掛け 💭
あらかじめレイアウトコンテナに入れているので、最後にその条件表示を設定します。
これによって、必要ない時にはチャートが消える設定になります💭
先ほどの軸の設定と同じく、チャート毎にChartNo(1)の部分は数字を変えて設定ください。
=Count({1< 店舗都道府県={$(=$(vChartNo(1)))} >} distinct 店舗都道府県)>0
何かしらカウントするデータがあるかどうか、という意味の数式です。
データの中身があれば、チャートが表示されます。
全ての段にこれらのチャートを実装すれば、出来上がりです😊

まとめ
いかがでしたか?
パラメータ付き変数を使った仕組みは、設定するまで難しく感じますが、いざ実装してみるととても便利なツールとなります。過去にもご紹介している通り、たくさん数式を書かずに済むので結果的に作業量が少ないです。
これからもユーザーの皆さんにとって使いやすい、見やすいチャート作り、目指していきます
また次回もこちらでお会いしましょう


