Qlik Senseのピボットテーブルで背景色を設定する際、メジャーの背景色がすべて同じになってしまい困ったことはありませんか?そんなときに使える、便利な「Dimensionality関数」をご紹介します。
今回はプロ野球選手のデータを使用します。
なぜかって?
…筆者が大の野球好きだからです。お付き合いください。
球団やポジションなど3つの軸を定め、選手たちの平均身長と平均体重を求めています。
ちょっと(かなり)楽天色の主張が激しいですね…いくら楽天が好きな私でも、これでは見やすいテーブルだとは言い難いです。
見やすいテーブルにするため、軸によって背景色を変えていきます。
ここでは、「合計行」と「球団」の行は赤、「ポジション」の行はオレンジ、「打」の行はグレーにしていきます。
使用するのは、Dimensionality関数 です。
Qlik Senseのヘルプページでは「ピボット テーブルの場合、この関数は、集計以外の内容 (部分合計または折りたたまれた集計を含まない) を含む軸列の合計数を返します」という説明がありますが、
よくわからない方は「Dimensionality()」という項目をメジャーに入れてみましょう。これでイメージがわくかと思います。
合計行(軸の「合計を表示」をONにした場合)が0で、軸については上の階層から順に1,2,3…と数字が振られます。今回の例だと、1番上の階層の軸である「球団」が1となり、以降は順に「ポジション」が2、「打」が3、「選手名」が4となっていることがわかります。
これを利用して、「Dimensionality()が0なら○○色、1なら△△色、・・・」というようにif文で色を指定してあげます。以下のように記述すると…
if(Dimensionality()=0 , RGB(177,6,58),
if(Dimensionality()=1 , RGB(177,6,58),
if(Dimensionality()=2 , RGB(200,93,90),
if(Dimensionality()=3 , RGB(198,198,198)))))
このように、「合計行と球団の行は赤、ポジションの行はオレンジ、打の行はグレー」という制御ができました!Dimensionality()の列を見ても、0と1の行が赤、2の行がオレンジ、3の行がグレーとなっていることが確認できます。
Qlik Senseで軸ごとに背景色を設定する方法をご紹介しました。関数を使いこなして、Qlik Senseでの表現の幅を広げましょう!皆様もぜひご活用ください!