目次
Sisenseではできるだけコーディングせずにフィルターで集計したいユーザ向けに3層構造のフィルターが準備されている。
今回はSisenseの3層構造のフィルターの使い分けをマスターしてみたい。
1. ダッシュボードフィルター
説明するまでもないが、ダッシュボードの右に配置されるフィルターのことで、以下をクリックして作成する。
ダッシュボードフィルターはViewerユーザが唯一操作できるフィルターなので、次のような目的で配置したほうがよいと思う。
(1)ダッシュボード全体に反映させるべきフィルター
(2)頻繁に利用するパラメータとしてのフィルター
(2)を使用するときは、ウィジェットフィルターでの設定も併せて行う必要があるので留意したい。
1.1 ダッシュボード全体に反映させるべきフィルター
ダッシュボード全体に反映させるべきフィルターして「カテゴリー名称」を一つ配置してみる。
択一のフィルターにする場合は以下のアイコンをクリックする。
1.2 頻繁に利用するパラメータとしてのフィルター
頻繁に利用するパラメータとしてのフィルターは範囲を指定するようなケースが想定される。
ここではフィルターの編集で「値」タブを開き、年齢の範囲をパラメータとして指定するように設定してみた。
複数の条件を指定する場合は、「+条件の追加」をクリックし、「AND」「OR」を指定する(このケースでは「AND」)。
これでダッシュボード上のウィジェットでは年齢の絞り込みが有効になる。
尚、初期値は全体が網羅できる範囲で設定しておき、ユーザの操作により絞り込みができるようにしておいたほうがベターかと思う。
2. ウィジェットフィルター
Sisenseではダッシュボードとは別にウィジェット単位でフィルター設定ができるようになっている。ウィジェットフィルターではデフォルトで、ダッシュボードフィルターの絞り込みが有効になっているが、ダッシュボードフィルターの一つ一つについて、有効/無効の設定が可能だ。
2.1 ウィジェットフィルターの例-1
まず1つ目の例として、顧客数の年代構成比を2つの円グラフで男女別に並べて表示する設定を行ってみる。
・ダッシュボードフィルターの「購入時年齢」をOFF(年代構成比なので、年齢の絞り込みには左右されてはいけないため)
・ウィジェットフィルターとして、性別名を追加し、「男性」(または女性)を選択
というように設定する。
上記の設定での完成形は以下のようになる。男女とも20~30代で全体の80%程度であるが、男性のほうが20代が多いということがわかる。
2.2 ウィジェットフィルターの例-2
2つめのケースはTOP10表示。
注文金額の都道府県ランキングのTOP10表示の場合はフィルターで「ランク付け」を指定し、数式で「Total 注文金額(SUM(注文金額)」と設定する。
ウィジェットの設定は以下のとおり
・行:「会員都道府県」
・値-1:RANK(sum([注文金額]),"DESC")
※ラベル: 順位
・値-2:sum([注文金額])
※ラベル: Total 注文金額
3. 項目フィルター
数式レベルでフィルターをかけたいケースもある。
3.1 数式内でフィルターをかける
上記のピボットテーブルは「値」を2つ定義して、それぞれに「男性」と「女性」のフィルターを掛けている。
数式レベルでこのような設定を行う場合、論理式を書いてももちろん良いわけだが、フィルターのほうが効率もよく(おそらくレスポンスがよい)、マウス操作でできるので便利だ。
(SUM([注文金額]),[性別名])
この性別名を右クリックして、フィルター設定を行う。
「女性」の場合も同様に設定すればできあがる。
3.2 項目にフィルターをかける
3.1の例は「値」を2つ準備したが、列に「性別名」を設定すれば同様の集計が可能だ。
ただこの場合、「性別不明」が含まれてしまうので、それを排除したい場合は以下のように項目そのものにフィルターをかけることができる。
このようにウィジェットの項目にフィルターをかけることができるため、当然「値」に対してもフィルターを掛けられる。
「値」に対してフィルターを掛ける場合は3.1と異なり、数式の結果も数値に対するフィルターになるので、意味合いが異なる。
また、項目フィルターでは、より上位のダッシュボードフィルターやウィジェットフィルターのON/OFF設定はできず、全て上位のフィルターから継承される仕様になっている。
4. まとめ
ダッシュボードフィルター、ウィジェットフィルター、項目フィルターの3階層のフィルターの使い分けについて解説してきた。
フィルター設定はほとんどマウス操作でできるため、コーディングが好きではない人にとっては、とても便利だと思う。
もっと複雑でイレギュラーなフィルター設定を行いたい場合は、jaqlで記述することになるが、jaqlの書き方は別途ご紹介したい。
ではまた!