Community

テーブル計算を使って「その他」を表現する方法

カーディナリティの高いディメンションをチャートやテーブルで可視化する際に、数の少ないものについては纏めて「その他」として表示したいケースというのは往々にしてあると思います。
もちろんLookMLの派生テーブルを利用すれば簡単に実現することが可能ですが、LookMLに手を加えるまでもない場合、テーブル計算を使ってこれを実現することが可能です。

LookMLを使う方法はこちらをご参考ください。

例えば以下のようなカテゴリ別オーダー数のデータについて、TOP10より少ないカテゴリはすべて「その他」にまとめて表示したいとします。

image

  1. まず以下のようにエクスプローラの 行数制限11 (表示したいカテゴリ数+1(その他の分))とし、合計 の取得のチェックボックスにチェックを入れます。

image

  1. 次に、テーブル計算で以下二つのカラムを追加します。
    products.category を対象のディメンションに、order_item.order_countを対象のメジャーに、それぞれみなさんの環境に合わせて置き換えてください。

カテゴリ (表示用)

if(
# 最終行以外の行の場合
 row() != max(row()) 
# カテゴリ名をそのまま表示
 ,${products.category}
# 最終行の場合、「その他」と表示
 , "その他"
)

オーダー数 (表示用)

if(
# 最終行以外の行の場合
 row() != max(row()) 
# オーダー数をそのまま表示
 ,${order_items.order_count}
# 最終行の場合、これ以降全ての行の合計値を表示する
 , ${order_items.order_count:total} - sum( if(row()= max(row()) , 0 , ${order_items.order_count}) )
)

※ エクスプローラに「合計」を追加している場合に、上記のように「:total」を付けることでその列の合計値を取得することができます。詳細はこちらをご参照ください。

以下のように追加されたかと思います。

  1. 元々のディメンションとメジャー項目を可視化項目から除外します。
    歯車マークをクリックし、以下のように「Hide from Visualization」を選択します。
    image image

  2. 最後に、この状態でデータを取得します。
    すると以下のようにTOP10より少ないカテゴリがすべて一括りに「その他」として表示されました。
    image


テーブル計算を使った「その他」の表現の仕方でした。

LookMLに手を入れるほどでもない場合に是非お試しください!