OmniでConnection作成後どのようにダッシュボード開発を進めていくか手順をまとめてみた~セルフサービスBIによる自由とSemantic Layerによるガバナンスの両立~

OmniでConnection作成後どのようにダッシュボード開発を進めていくか手順をまとめてみた~セルフサービスBIによる自由とSemantic Layerによるガバナンスの両立~

2025.10.20

さがらです。

OmniではConnection繋いだ後、「あれ、これどうやってダッシュボード作っていくんだ…?」となる方が多いと思います。(私はなりましたw)

そんな方向けに、OmniでConnectionを作成後、どのようにダッシュボード開発を進めていくか本記事でまとめてみます。

前提条件

以下の設定を終えた状態とします。

2025-10-17_15h45_58

2025-10-20_11h30_32

  • Connectionに対してModelを1つ作成し、そのModelはGitHubとの連携も終えて、Shared Modelの変更にはプルリクエストを必須としている状態(参考:公式Doc

2025-10-17_15h47_24

また、実際の操作はConnectionを作成したユーザーとは別に、対象のModelに対して「Querier」という権限を付与したユーザーを作成しておき、この「Querier」権限を持つユーザーから操作を行います。

※「Querier」権限ですが、OmniのユーザーライセンスはTableauやLookerのようにAdmin・Creator・Viewerと3種類あるのですが、真ん中のCreatorで使用できる権限となります。このユーザーライセンスと権限についての詳細は、公式Docをご覧ください。

2025-10-20_09h26_00

Omniでダッシュボード開発を行う流れ

分析用のユーザーでログイン後、左上の+ Newを押します。

2025-10-20_09h33_04

すると、分析したいモデルを選択できるため、使用したいモデルを選択します。

2025-10-20_09h34_29

すると、そのモデルの中から使用できるviewの一覧が表示されますので、使用したいviewを選択します。(もしviewの一覧が表示されていない場合は、右上のViewsをクリックします。)

※viewとはOmniの概念で、一つ一つのSnowflakeのテーブルやビューごとにdimensionやmeasureを定義するオブジェクトです。(Lookerのviewとほぼ同じです。)

2025-10-20_09h36_26

※このタイミングで何もviewが何も表示されなかった方向け(おそらく、”dbt連携してproductionのスキーマを設定していない場合”、"そもそもdbt連携をしていない場合"、はこうなります。)

何もviewが表示されない場合は、下図のようにBrowse all viewsを押し、使用するスキーマを選択してください。

2025-10-20_11h06_45

2025-10-20_11h07_48

すると、BIツールではよく見慣れた、左にviewで定義されたdimensionやmeasureが表示され、そこから選んでいく画面となります。

2025-10-20_09h47_48

あとは、以下のような手順で、新しいmeasureを追加したり、別のviewとのJOIN定義を追加していきましょう。

  • フィールドに対してフィルタ・ピボット・メジャー追加(Aggregates)などの操作を行う

2025-10-20_09h49_30

  • viewに対して別のviewのJOIN定義を行う

2025-10-20_09h52_18

2025-10-20_09h56_19

  • 少し計算が複雑なcustom fieldを追加する(参考:公式Doc

2025-10-20_10h05_37

2025-10-20_10h08_47

一通り別のviewやJOINの定義を終えたら、使いたいフィールドを選択してグラフを作成していきます。Chartを押すとグラフだけ、Bothを押すと実際のデータとグラフをどちらも同時に表示できます。

2025-10-20_10h11_33

2025-10-20_10h12_11

グラフを作り終えたら、右上の+ Dashboardを押します。適当に名前を入れて保存します。まだ他のグラフも追加したいので、この場ではLeave draftを押します。

2025-10-20_10h13_57

2025-10-20_10h14_33

すると、ダッシュボードが保存され、対象のダッシュボードのDraft画面に移動します。
(基本的にDraftと表示されている最中は、編集中の下書き状態であることを意味します。)

ここからさらに別のグラフを追加するには、Workbookを押します。

※私の現在の理解だと、Omniでの各ファイルの保存はWorkbookレベルで行われ、そのWorkbookごとにダッシュボードも紐づいて管理されます。

2025-10-20_10h37_19

新しいタブを左下から追加し、別のグラフを作成します。この状態でDashboardを押すと、すでに追加したグラフがダッシュボード上にも追加された状態となります。(非表示にしたい場合は、各グラフの右上の「・・・」からHide Chartを押すことで非表示に出来ます。)

2025-10-20_10h38_14

2025-10-20_10h47_15

2025-10-20_10h49_09

また、各グラフの名称を変更したい場合は、Workbookの画面で各タブの名称を変更すればOKです。

2025-10-20_10h50_59

2025-10-20_10h51_51

2025-10-20_10h52_25

最後に、追加したグラフも含めて保存するため、右上のPublishを押します。これで一通りのダッシュボード開発の流れは以上となります。

2025-10-20_10h53_18

定義したmeasureやJOIN定義をShared Modelに昇格させる

先程Workbookでダッシュボードを開発しましたが、measureやJOIN定義は各Workbookに閉じたままです。これでは従来型のBIとあまり変わらないですよね。

(下図のように、もう一度対象のModelを選択して新規の分析画面を立ち上げても、先程Workbookで追加したmeasureなどが追加されていません。)

2025-10-20_10h57_11

ここからがOmniの真骨頂で、Workbook内で定義したmeasureやJOIN定義をShared Modelに昇格させることで、他のユーザーにも定義したmeasureやJOIN定義を利用させることが出来ます。

※OmniのModel階層は下図のようになっており、共通利用する定義はShared Modelで管理する仕様となっています。

1-model-layers-0e641a57d2cdb1e9508ad3ff813995a2

まず、先程保存したWorkbookを開き、左のModel Changesを押します。

2025-10-20_10h59_26

すると、このWorkbookでのみ行われた変更の一覧が表示されます。これをShared Modelに反映させていこうと思います。

2025-10-20_11h02_02

今回はOmniのModelとGitHubを連携済のため、この変更を反映させるにはブランチを切る必要があります。

ModelBranchNew branchと押して、適当なブランチ名を入れてCreateを押します。

2025-10-20_11h11_19

2025-10-20_11h13_10

すると、Model Changesの画面において、下図のように変更した内容のうちどれをブランチに追加するか選択する画面となります。(Shared Modelへの昇格が不要な変更がある場合はチェックマークを外すことで除外することができます。)

どの変更をShared Modelに昇格させるか選択後、Add to branchを押します。表示されたポップアップにおいてもAddを押します。

2025-10-20_11h16_22

2025-10-20_11h16_55

この状態で、Shared Modelに反映するため、右上のCreate pull requestを押します。

2025-10-20_11h17_52

あとは、マージまでの一連の操作をGitHub上で行います。ちゃんと変更点がコード化されていることもわかります。

2025-10-20_11h19_07

2025-10-20_11h19_52

2025-10-20_11h20_16

この状態で、ホーム画面から再度Modelを選択して新しい分析画面を立ち上げて対象のviewを選択すると、Workbookで作成したフィールドやJOIN定義がちゃんと追加されていることがわかります!(確認はWorkbookを作成したユーザーとは別の、Admin相当の別ユーザーから実施)

2025-10-20_11h22_47

2025-10-20_11h23_44

定義されているコードの確認方法

ちなみに、Omniがどのようにコードで管理しているかは、Workbookからだと下図の流れで確認可能です。

2025-10-20_11h26_53

2025-10-20_11h27_36

最後に

OmniでConnectionを作成後、どのようにダッシュボード開発を進めていくかをまとめてみました。

タイトルにもある通り、「セルフサービスBIによる自由とSemantic Layerによるガバナンスの両立」した開発プロセスが出来るのがOmniの売りです!

この記事をシェアする

FacebookHatena blogX

関連記事