はじめに
Qlik Senseのチャートで、選択した項目を絞り込みではなくハイライトさせたいと思ったことはないでしょうか?
本記事では選択項目を強調表示する方法をご紹介いたします。
サンプルデータ
今回はこちらのデータを使用しました。
今回色分けする軸とするREGIONには、あらかじめ色(RGB値)を持たせていあります。
やりたいこと
REGIONをクリックしたら、絞り込みはせずに選択されたREGIONを強調表示する。
何も選択していない場合は、全て強調表示とする。
方法
- 表示するチャートを作成します。(今回は積み上げ棒グラフを作成しました)
- 凡例表示 兼 強調表示項目を選択 するためのテーブルを作成します。
強調表示項目を選択した際に絞り込みはしたくないので、テーブルを並列ステートにしておきます。ここでは、ステート名を[HIGHLIGHT_SELECTION]としました。 - 選択された項目の判定
- 選択されている(=現在有効である)[REGION]の一覧文字列を作成
変数(ここでは変数名[vHIGHLIGHT_ITEM])に現在有効な[REGION]の一覧文字列を作成します。
vHIGHLIGHT_ITEM
=Concat({HIGHLIGHT_SELECTION}distinct REGION,',')
Tokyoを選択した場合
TokyoとOsakaを選択した場合
何も選択していない場合
のようになります。 - 強調表示する項目の判定方法
各REGIONが3-1で作成した変数[vHIGHLIGHT_ITEM]に存在しているかどうかをSubStringCount関数で判定します。
SubStringCount(vHIGHLIGHT_ITEM,REGION)
値を見てみましょう。
Tokyoを選択した場合
TokyoとOsakaを選択した場合
何も選択していない場合
- 選択されている(=現在有効である)[REGION]の一覧文字列を作成
- では、3の判定方法を使ってチャートの色数式を設定します。
ARGB関数で設定します。
3.2の数式値が0より大きければ濃い表示、そうでない場合薄い色で表示します。
ARGB関数のアルファ係数で色の濃さを変えます。
If(SubStringCount(vHIGHLIGHT_ITEM,REGION)>0,
ARGB(255,R_REGION,G_REGION,B_REGION),
ARGB(64,R_REGION,G_REGION,B_REGION)
) - 結果を見てみましょう。
凡例表示でTokyoを選択した場合
凡例表示でTokyoとOsakaを選択した場合
何も選択していない場合
最後に
本記事では選択項目を強調表示する方法をご紹介いたしました。
ご参考になれば幸いです。