見出し画像

DomoのBeast Modeで任意のカテゴリで集計しよう

DomoのMatzです。

図1

Domoでテクニカル コンサルタントとしてDomo導入のご支援をさせていただいています。

今回は、Domoの機能、Beast Modeを利用して、任意のカテゴリで集計する方法をご紹介します。カテゴリの指定方法について複数パターンご紹介しますので、Beast Modeをご存じの方も最後までご覧ください。


1. Beast Modeのご紹介


Domoでは、チャート(グラフ)/表などの表示単位をカードといいます。

カードを作成する際に任意の項目(列)を作成できる機能がBeast Modeです。また、Beast Modeでは、SQLをご存じの方にはおなじみの以下のような関数が利用できます。


・ 論理関数(case, nullif, ifnull)
・ 集計関数(sum, max, min, count etc)
・ 数学関数(abs, mod, etc)
・ 文字列関数(concat, lower, substring, etc)
・ 日付関数(adddate, subdate, current_date, etc)

2. カテゴリに分類した分析で困ること


カテゴリを指定した列に値があれば、問題なくカテゴリ別での分析が可能です。しかし、分類したいカテゴリの列が存在しない場合は、カテゴリ別で分析ができません。一般的には該当カテゴリの列のデータを作成することになります。

例)日付、都道府県、店舗毎の売上データ
エリア別(関東/関西)の分析ができません。

画像3

エリアのデータを作成する必要があります。

画像4

3. Beast Modeでの解決策

Beast Modeでは、カードを作成する際に、新たな項目(列)を作成することができますので、簡単に任意のカテゴリでの分析が可能になります。

カテゴリの付与されたデータを取り込みなおす、データをETLで作成するなどの手間が不要になります。

① 任意の条件でカテゴリを作成
エリア(関東/関西)で分析をするためのカテゴリがありません。

画像5

エリア(関東/関西)のカテゴリをBeast Modeで作成することでエリア別の分析も可能になります。

スクリーンショット 2021-06-25 17.12.08


② カテゴリの指定方法のパターン
論理関数の「case」を利用することになります。「case」は条件に応じて値を決定する関数となります。

今回は「エリア」のBeast Modeを作成し、条件に応じた値(関東 / 関西)を設定しています。以下の記述で都道府県を読み替えて「エリア」の列に値をセットすることができます。

・Beast Mode名:エリア
・Beast Modeの記述
-----------------------
case
when `都道府県` = '東京' then '関東'
when `都道府県` = '千葉' then '関東'
when `都道府県` = '大阪' then '関西'
when `都道府県` = '京都' then '関西'
end
-----------------------

Beast Modeは上から順に評価を行い条件にマッチした場合、処理を抜けます。以下のような書式で条件をまとめて記載することも可能です。
・「or」を利用する
-----------------------
case
when `都道府県` = '東京' or `都道府県` = '千葉' then '関東'
when `都道府県` = '大阪' or `都道府県` = '京都' then '関西'
end
-----------------------

・「in」を利用する
-----------------------
case
when `都道府県` in ('東京','千葉') then '関東'
when `都道府県` in ('大阪','京都') then '関西'
end
-----------------------

4. まとめ

Beast Modeを利用することで、データを作成することなく柔軟に分析が可能となります。Beast Modeの記述方法は様々あり、今回は3パターン紹介させていただきました。条件が複数ある場合は「in」がすっきり記述できるので最近のお気に入りです。みなさんも、ぜひBeast Modeを活用して快適なDomo Lifeをお過ごしください。

なお、Domoのコミュニティでは毎月本ブログでご紹介したようなDomoの使い方や事例の勉強会を開催しています。ぜひ皆でスキルアップしていきましょう!

▼開催予定のDomo buddiesのイベントを見てみる▼
https://domobuddies.doorkeeper.jp/events/upcoming