Qlik Senseナレッジ - INSIGHT LAB

【Qlik Sense】ピボットテーブルで軸ごとに背景色を設定する方法 ~Dimensionality関数~

作成者: Noa|2024年1月26日

はじめに

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での表現の幅を広げましょう!皆様もぜひご活用ください!