Omniで詳細レベルの計算式( Level of Detail Fields)を作成する方法

Omniで詳細レベルの計算式( Level of Detail Fields)を作成する方法

2025.12.15

こんにちは、業務効率化ソリューション部のikumiです。
今回は、Omniで 詳細レベルの計算式(Level of Detail Fields 以下、LOD) を作成する方法を試してみたので、その方法について紹介していきます。

詳細レベルの計算式とは

LOD計算は、特定のディメンション(グループ化軸)に基づいて集計を行い、クエリビューや複雑な結合を作成せずに細かい粒度での計算ができる機能です。

例えば従来はユーザーの初回注文日を求めるために、別途クエリビューを作成する必要があったのですが、LOD計算を使用することで、ユーザーごとの初回注文日を算出するフィールドを作成することが可能です。
ちなみに、Tableauにも同様の機能が実装されているので、Tableauユーザーの方は馴染みやすい機能ですね!

やってみる

  • まず、LOD計算を作成するには、集計したい値となるフィールドを選択し、New level of detail fieldから新しいフィールドを作成します

    • 今回は、Order Dateを使用
      omni-level-of-detail-fields-fixed-no1
  • 続いて、LODフィールドの定義を作成します。設定項目はキャプチャの通りです。
    omni-level-of-detail-fields-fixed-no2

    • 以下の設定は、定義に関わる大事な部分なので、解説します
    • グループ化方法
      • Fixed:固定で指定したディメンションのみでグループ化し、クエリ内の他のディメンションは無視します。
      • Include:ビューで設定したディメンションに加え、指定したディメンションとの両方でグループ化します。
      • Exclude:指定したディメンションがビューに存在する場合でも、そのディメンションでグループ化しません。
    • Fixed / Include / Exclude Dimension(s): グループ化する軸
    • Filters: ここでフィルターを追加すると、フィルターが適用された状態で集計します
    • Cansel Query Filter: オンにすると、ビューで設定したフィルターを無視して集計します
  • では、作成方法については学べたので、実際のケースに沿って作成してみましょう

ユーザーごとの初回注文日

  • 先ほどと同様に、Order DateのメニューからNew level of detail fieldを選択

  • ユーザーごとの初回の注文日をとりたいので、それぞれ以下の通り設定しました

    • Aggregation:Min
    • グループ化方法:Fixed
    • Fixed Dimension(s):Customer ID
      omni-level-of-detail-fields-fixed-no3
  • 作成した計算式を使って、初回注文とリピート注文を判定する計算式を作成しました
    omni-level-of-detail-fields-fixed-no4

  • 最後に作成した計算式で新規/リピート別の注文構成グラフを作成してみました。想定通りの結果になっていそうです!
    omni-level-of-detail-fields-fixed-no5

  • 続いて作成した詳細レベルの式をIDE上のviewファイルでも確認してみます

    • 詳細レべルの計算式は、level_of_detailパラメーターで定義されていることが確認できました
    • なお、日本語名でフィールド名を作成した場合、ディメンション名は自動で作成され、ラベルで日本語を表示しているようです
      2025-12-15_12h02_01
  • ちなみに、公式ドキュメント上ではgroup_byパラメーターと紹介されていますが、実際にはlevel_of_detailに変更になっているようです

補足:各オプションを使用した際の動きについて

  • 冒頭紹介した、Filtersと、Cansel Query Filterの動きについて紹介します
  • まずは、それぞれのオプションを適用した詳細レベルの計算式を作成しました
     - Filters:アウターに絞った状態で、初回注文日を算出する
     omni-level-of-detail-fields-fixed-no6
     - Cansel Query Filter:ビューで設定したフィルターを無視した初回注文日を算出する
     omni-level-of-detail-fields-fixed-no7
  • あるユーザーのすべての注文一覧に対して、それぞれの計算式を追加し、反映された内容を確認します
  • オプションを設定していない方は、すべての注文の初回注文日が反映されているのに対して、Filtersで追加したほうの計算式を確認すると、アウターを初めて注文した日の日付が反映されています
    omni-level-of-detail-fields-fixed-no8
  • 続いて、ビューにトップスのフィルターを設定します。オプション無しの方は、フィルター適用後、つまりトップスの初回注文日が反映されているのに対して、Cansel Query Filterを適用した方は、トップスのフィルターを無視し、すべての注文のうちの初回注文日が反映されています
    omni-level-of-detail-fields-fixed-no9

さいごに

いかがでしたでしょうか。詳細レベルの計算式を使うことで、柔軟な分析が可能になると感じているので、是非どなたかの参考になれば幸いです。

この記事をシェアする

FacebookHatena blogX

関連記事