Qlik 必要な時だけ現れるチャート群の作り方

お疲れ様です。Nasです。
同じ画面上で一度にたくさんのチャートを見ていると、選択条件外のチャートは一時的に隠れていて欲しい…
そんな風に思ったことはありませんか??
画面の大きさに限りがありますし、見たいチャートをなるべく上に持ってきたい!という願望も…

今日は、そんなお悩みを解決すべく!
レイアウトコンテナとパラメータ付き変数を使って、該当する時のみ画面上部に現れるチャート群を作ってみたいと思います😄

目次

完成イメージ

どんなシートに仕上がるか?なのですが、今回も売上金額に特化したシートがあるとします。

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

用意するもの

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

あわせて読みたい
Qlikの変数のパラメータ化を$マジックで 〜その1〜 こんちにちは!Yokoです。本格的にQlikアプリを作成していくと、変数がどんどん増えていき、50超え、100超え...と肥大化していき、気づいたら変数地獄に!なんてことあ...
あわせて読みたい
Qlikの変数のパラメータ化を$マジックで 〜その2〜 こんにちは!Yokoです。今回はQlikのパラメータ付き変数の第2弾!同じ数式を「何度も書きたくない」という時に役立つ方法です。皆さんは、同じ数式を何度も書きたくな...

今回は、このような変数を1つ用意します。

変数名定義
vChartNoSubField(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

何かしらカウントするデータがあるかどうか、という意味の数式です。
データの中身があれば、チャートが表示されます。

全ての段にこれらのチャートを実装すれば、出来上がりです😊

まとめ

いかがでしたか?
パラメータ付き変数を使った仕組みは、設定するまで難しく感じますが、いざ実装してみるととても便利なツールとなります。過去にもご紹介している通り、たくさん数式を書かずに済むので結果的に作業量が少ないです。

これからもユーザーの皆さんにとって使いやすい、見やすいチャート作り、目指していきます
また次回もこちらでお会いしましょう

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次