Question

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


Userlevel 4

カーディナリティの高いディメンションをチャートやテーブルで可視化する際に、数の少ないものについては纏めて「その他」として表示したいケースというのは往々にしてあると思います。

もちろん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に手を入れるほどでもない場合に是非お試しください!


0 replies

Be the first to reply!

Reply