image6

Domo(ドーモ)のBeast Mode便利ワザをまとめてご紹介

  1. Domoトップ >
  2. ブログ >
  3. Domo(ドーモ)のBeast Mode便利ワザをまとめてご紹介

2024年07月23日 07:30

「自社の既存データの合算や結合など、もっと踏み込んだ分析をしたい」といったお悩みはありませんか?

BIプラットフォーム Domo(ドーモ)のデフォルト機能「Beast Mode(ビーストモード)」なら、オンライン/オフラインを問わず、自社で使っているあらゆるデータベースや既存システムデータを統合・加工し、データをさらに見やすく可視化できます。

この記事では、DomoのBeast Modeの基本的な機能から、特によく使う便利な関数をご紹介します。Domoの導入をご検討されている方や、既にDomoをご利用中の方に、さらにDomoを効率的に使える内容をお伝えしますので、ぜひ興味のある項目からご覧ください。

Domo(ドーモ)のBeast Mode とは

最初にDomoのBeast Modeの概要や出来ることを解説します。さらにイメージしやすいよう具体的な使い方についても見ていきましょう。

Beast Mode(ビーストモード)の概要

Beast Mode は、既存のデータを使用してデータセット内に新しい計算フィールドを作成できるDomoのデフォルト機能です。

例えば複数の列を組み合わせ、新規カラムをBeast Modeで作成して分析に利用することで、既存データでは分からなかった新たなインサイト獲得が期待できます。

もし既にSQLやExcel関数の知識が少しでもあれば、利用する関数も似ているため、最初から操作しやすい設計がされています。

代表的な関数

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

また計算だけでなく列の名前変更、カスタム並べ替え順序の作成、値のフィルタリングなども行えるので、Beast ModeによってDomo内でのグラフ表現の幅が広がります。

Beast Mode(ビーストモード)の使い方事例

今回は例として、Beast Modeを使って店舗の製品カテゴリ別売上を出してみましょう。

下記のデータでは月の店舗コード別売上は分かりますが、エリアごとの売上比較分析ができません。

bi-domo-beast-mode-vol-49_case1-1

Beast Modeではデータをアップロードし、グラフカードを作成する際に計算式で新規項目作成が可能です。そこで、論理関数「Case」を利用して店舗コードに応じた「エリア」の値を設定してみます。

bi-domo-beast-mode-vol-49_case1-1

このエリア項目を利用し、Domoのカードでエリアごとの売上高を示すと以下のように表現できます。

bi-domo-beast-mode-vol-49_case1-3

このように分析に必要なデータが既存データになくても、Beast Modeは新規項目を後から追加し、新たな分析軸を作成できる優れたツールなのです。

Domo(ドーモ)のBeast Mode を使ってみよう

Beast ModeはDomoのカード(グラフや表)を作成する際に、Analyzer画面から計算フィールドから利用できます。

カードからBeast Modeを起動する

  1. ダッシュボードのカードからAnalyzer画面を開く
    ダッシュボードを開いたら、カード右上の「カードのオプション」アイコンから「Analyzerで編集」を選択します。

    bi-domo-beast-mode-vol-49_how-to-use1-1

  2. Analyzer画面からBeast Modeを開く
    Analyzer画面に切り替わったら、「DATASET」>「列」を選択し、画面下にある「計算フィールドを作成」ボタンをクリックします。

    bi-domo-beast-mode-vol-49_how-to-use1-2

  3. 計算フィールドの編集画面
    計算フィールドの編集画面を開いたら、「計算」の枠に計算式を入力し、「列名」を設定したのち「計算フィールドを作成」ボタンをクリックしたら新規カラム作成の完了です。

    bi-domo-beast-mode-vol-49_how-to-use1-3

メニューバーからBeast Modeを起動する

上記のほかに、直接Beast Modeを開く方法もあります。

  1. ログインしている画面のメニューバーを開く
    メニューバーを開いたら「データ」を選択し、左のメニューから「Beast Modeマネージャー」を選択します。

    bi-domo-beast-mode-vol-49_how-to-use2-1

  2. 画面右上の「Beast Modeを追加」する画面を開く

    bi-domo-beast-mode-vol-49_how-to-use2-2

  3. Data Setの選択画面
    「Beast Modeを追加」する画面を開くと、Data Setの選択画面があるため、項目の編集をしたいデータセットを選択することで計算フィールド画面を開けます。

    bi-domo-beast-mode-vol-49_how-to-use2-3

BIツール選び 製品比較ガイド
成功する導入のための10の比較ポイント

Domo(ドーモ)のBeast Mode記法について

Beast Modeの記法はExcelの使い方に非常に類似していますが、細かな違いに戸惑う方も多いため、特によく使う記載方法についてこちらでご紹介します。

カラム指定 ‵〇〇〇‵
バッククォートで囲む。
文字列 '〇〇〇'
シングルクォート(一重引用符)で囲む。
文字列比較 一致 =
文字列比較 不一致 <>
文字列比較 ワイルドカード 複数文字指定(0を含む):%
1文字:_
空文字との比較 = ‘’
nullチェック is null、is not null

文字列比較ワイルドカードの記法サンプル

Beast Modeでは、データの中で指定した文字列を含むかどうかを判断したい場合にワイルドカードを使用できます。

以下の例では地名を含むデータに対し、ワイルドカードを使って値を返す操作を行います。

複数文字列のワイルドカード

「地名」という文字列項目値の中に以外に複数の文字が含まれている場合は0、含まれていない場合は1を返す式。

`column_name` LIKE pattern
CASE when `地名` like '%%' then 0 else 1 end

一文字のワイルドカード

「地名」という文字列項目値の中に一文字+’崎’の後に複数の文字が含まれている場合は0、含まれていない場合は1を返す式。

`column_name` LIKE pattern

CASE when `State` like ‘_%’ then 0 else 1 end

 

空文字との比較記法サンプル

Domoでは、空文字をシングルクォート(’’)で表現します。以下は、テキスト項目が空文字かどうか判定し、条件が合致した場合にテキストを返す例となります。

case

when `カラム名` = '' then 値なし

else 値あり

end

case

when `カラム名 `<> '' then 値あり
else値なし
end

 

nullチェックの記法サンプル

Domoでは空文字とnullを明確に分けています。以下は、テキスト項目がnullかどうか判定し、条件が合致した場合にテキストを返す例となります。

case

when `カラム名` is null

then ‘null’

else 値あり

end

case

when `カラム名` is not null

then 値あり

else ‘null’

end

データの利活用と定着化を進めるために重要な「6つの柱」を解説!
データドリブン経営への変革の道

Domo(ドーモ)のBeast Mode の便利な使い方

この章ではBeast Modeで利用頻度の高い関数の使い方についてご紹介します。これらもExcelと操作は似ているため、使い方のシーンを理解したら積極的に試してみましょう。

日付型のデータをテキスト型に変換

日付型のデータをテキスト型に変換するには、関数DATE_FORMATを使います。さらに年月日はそれぞれ、このように指定が可能です。

%Y:年を4桁テキストで表示する
%m:月を2桁テキストで表示する
%d:日を2桁テキストで表示する

以下は具体的に日時データからフォーマットを指定し変換する計算フィールドの記載例となります。

bi-domo-beast-mode-vol-49_How-to-use-functions01

-- YYYY年mm月dd日
date_format(`日付`, '%Y年%m月%d日')

-- 曜日
DATE_FORMAT(`日付`, '%a')

-- AM/PM
DATE_FORMAT(`日付`, '%h:%i %p')

上記を見てお分かりの通り、Domoでは形式指定子を加えることで曜日や時刻、通算日といった細かな指定をすることができます。

指定子 説明 結果
%a 曜日の英略語表示(Sun..Sat) DATE_FORMAT(`MyDate`,'%a') Mon
%b 月の英略語表記(Jan..Dec) DATE_FORMAT(`MyDate`,'%b') Apr
%d 日、数字表記(00~31) DATE_FORMAT(`MyDate`,'%d') 13
%f マイクロ秒(000000~999999) DATE_FORMAT(`MyDate`,'%f') 300000
%H 時(00~23) DATE_FORMAT(`MyDate`,'%H') 23
%h 時(01~12) DATE_FORMAT(`MyDate`,'%h') 11
%i 分、数字表記(00~59) DATE_FORMAT(`MyDate`,'%i') 44
%j 年の通算日表記(001~366) DATE_FORMAT(`MyDate`, '%j') 105
%M 月の英語名(January..December) DATE_FORMAT(`MyDate`,'%M') April
%m 月、数字表記(00~12) DATE_FORMAT(`MyDate`,'%m') 04
%p AMまたはPM DATE_FORMAT(`MyDate`,'%p') PM
%r 時間、12時間制(hh:mm:ssにAMまたはPMが後続) DATE_FORMAT(`MyDate`,'%r') 11:44:15 PM
%s 秒(00~59) DATE_FORMAT(`MyDate`,'%s') 15
%T 時間、24時間制(hh:mm:ss) DATE_FORMAT(`MyDate`,'%T') 23:44:15
%v ISOの年間週数(新年の最初の木曜日は第1週) DATE_FORMAT(`MyDate`,'v') 16
%W(大文字) 曜日の英語名 DATE_FORMAT(`MyDate`,'%W‘) Monday
%w(小文字) 曜日(1~7。日曜日が1) DATE_FORMAT(`MyDate`,'w') 2
%x ISOの年(4桁以上) DATE_FORMAT(`MyDate`,'x') 2013
%Y(大文字) 年(4桁以上) DATE_FORMAT(`MyDate`,'%Y’) 2013
%y(小文字) 年の末尾2桁 DATE_FORMAT(`MyDate`,'%y’) 13

【引用】Domoナレッジベース「日付の形式指定子

文字列の結合

DomoのBeast Modeでは、文字列が複数ある場合それらを結合し表示させられます。例えば、姓名で分かれているデータを氏名として一つの文字列に置き換えたい場合は以下のように記載し文字列結合が可能です。

CONCAT(`姓`,' ',`名`)

bi-domo-beast-mode-vol-49_How-to-use-functions02

文字列の結合でリンク文字を設定する

さらに、各メンバーのLinkedInアドレスを横にリンクで表示させるなど、リンク文字列にした状態での結合といった操作もできます。

concat(
'<a href="https://www.linkedin.com/in/',`ID`,'>','LinkedInアカウント','</a>'
)

bi-domo-beast-mode-vol-49_How-to-use-functions03

CASE WHEN文(特定条件抽出)

DomoのBeast Modeでは、あるカラム値が特定の条件を満たした場合に新規カラムに特定の値を入れられます。

以下の例ではCASE WHEN文を利用し、10月から年度が始まる企業の場合に月に応じて四半期を設定しています。

bi-domo-beast-mode-vol-49_How-to-use-functions04

case `月`
when '10月' then 'Q1'
when '11月' then 'Q1'
when '12月' then 'Q1'
when '1月' then 'Q2'
when '2月' then 'Q2'
when '3月' then 'Q2'
when '4月' then 'Q3'
when '5月' then 'Q3'
when '6月' then 'Q3'
when '7月' then 'Q4'
when '8月' then 'Q4'
when '9月' then 'Q4'
END

bi-domo-beast-mode-vol-49_How-to-use-functions05

SUM CASE文(特定条件下での合計)

Beast Modeでは、特定条件下においての合計値を求められます。

例えば下図のように、「店舗ごとの売上は分かるけれど、指定した店舗の全体における売上知りたい」といった場合、ここでご紹介するSUM CASE文を利用すれば解決します。

bi-domo-beast-mode-vol-49_case1-1

-- 売上_店舗119
sum(
  case 
      when `店舗コード`= 119 then `売上`
  end
)

bi-domo-beast-mode-vol-49_How-to-use-functions08

さらに結果を縦棒グラフで表現すれば、全体売上に対する店舗119の日ごとの売上の対比が以下のように分かりやすくなります。

bi-domo-beast-mode-vol-49_How-to-use-functions10

IFNULL(nullでフィルタリング)

DomoのBeast Modeを利用する際に、よくつまずきやすいポイントとしてnullのフィルタリングが挙げられます

null(ヌル)とはプログラミング言語やデータベースのデータ表現の一種で、何のデータも含まれない状態です。しかしながらDomoでnullの行だけを抽出しようとすると、そもそもデータ自体が存在しないため、空文字のように指定することができません。

そのため、Beast Modeでnullだけをフィルタリングしたい場合は「IFNULL関数を使い、事前に値を設定する」と覚えておくと便利です。

例として、ISNULL関数で以下のEmailアドレスがnullのデータだけを抽出してみましょう。

bi-domo-beast-mode-vol-49_How-to-use-functions11

データセットをアップロードしたら、Beast ModeでEmail列がnullだったら’null’を返すという新規計算項目を作成します。

/* email_ifnull */
ifnull(`Email`, ‘null’)

bi-domo-beast-mode-vol-49_How-to-use-functions12

結果は上のように表示されますので、さらにここからフィルタリングでemail_ifnullがnullの値のみをフィルターで抽出します。

bi-domo-beast-mode-vol-49_How-to-use-functions13

bi-domo-beast-mode-vol-49_How-to-use-functions14

このようにIFNULL関数を利用すれば、カラムがnullの行だけを抽出できるようになります。ただし、nullを別の値に置き換えることが必要という点だけ注意しましょう。

BIツール導入成功のカギ!
失敗しないBI導入のための13のチェックポイント

まとめ

いかがでしたでしょうか。

DomoのBeast ModeはExcel関数と微妙な記述の違いがあるものの、初心者でもルールさえ分かれば新たな分析項目を自在に作成できることがお分かりいただけたかと思います。

さらに今回ご紹介した方法以外にもたくさんの関数がありますので、ぜひ使いながら試していきましょう。

もしご利用に際し複雑な条件を組み合わせたいがやり方に躓いている、社内のメンバーだけでは対応が難しい場合は、ぜひ弊社へお問い合わせください。NDIソリューションズではDomoエバンジェリストをはじめとする経験豊富な社員が多数在籍しており、お客様独自のお悩みについても丁寧にご対応いたします。

Domoのご利用をご検討中の方はこちらから30日間無料でお試しいただけます。ぜひお気軽にお申込みください。https://solution.ndisol.jp/domo/trial

NDIソリューションズでは、BIプラットフォーム Domoを利用した企業事例集の公開、セミナーの開催を行っております。
Domoまとめて導入事例集
Domoセミナー / イベント情報

また、実際にDomoを動かしていただけるBI無料トライアルもご用意いたしました。ご興味がある方はぜひ上部メニューよりお申し込みください。

当サイトでは、BIツールに興味のある方へ、参考になるダウンロード資料をご用意しております。「みんなでデータ活用するためのBI入門ガイド」と「統合型BIプラットフォーム Domo基本ガイドブック」は、データ活用やBIツール導入のポイントが把握できる資料になっています。BIツールご検討の参考に、ぜひダウンロード資料をご覧ください。

Domoトライアル