ビジネスメタデータの入力がBIツールから可能に!Omniからdescriptionとexposureをdbtにプッシュする機能を試してみた

ビジネスメタデータの入力がBIツールから可能に!Omniからdescriptionとexposureをdbtにプッシュする機能を試してみた

2025.11.02

さがらです。

OmniではIDEから各フィールドのdescriptionを定義してdbtにプッシュする機能や、dbtのModelを使用しているダッシュボード情報をexposureとしてプッシュする機能が備わっています。(公式Docには特に記載がなさそうでした。コミュニティノートで軽く言及があります。)

この機能を試してみたので、本記事でその内容をまとめてみます。

前提条件

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

2025-10-17_15h45_58

2025-10-20_11h30_32

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

2025-10-17_15h47_24

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

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

2025-10-20_09h26_00

Omniで定義したdescriptionをdbtへプッシュ ※「Querier」権限を持つユーザーから実施

OmniのShared Modelのdescriptionを修正する

まず、Omniで全ユーザーが共通利用するShared Modelのdescriptionを修正する必要があります。これはWorkbookレベルでブランチを切ってからでないとできないため、まずはWorkbookレベルで編集を行っていきます。

descriptionを編集したいModelと繋がっているDashboard(Workbook)を開き、右上のEditを押します。その後、右上のWorkbookを押してWorkbookの表示に切り替えます。

2025-11-02_06h23_51

2025-11-02_06h25_34

descriptionの編集はModelのコードを編集するIDEからのみ可能のため、上部のModelModel layersWorkbookを押します。

2025-11-02_06h28_39

あとは、各viewを開いてdescriptionを変更していきます。今回はcustomers.viewのdescriptionが元々英語であったため、日本語にしてみます。

  • Before

2025-11-02_06h30_27

  • After

2025-11-02_06h33_24

ここまで行ったら、一度Workbookへ正しく保存するため、パブリッシュを行います。

2025-11-02_06h40_51

この後Workbookの画面に戻り、左側のModel Changesを押します。

2025-11-02_06h42_19

そうすると、descriptionの変更を行ったフィールドが並んで表示されていると思います。これらの変更をOmniのShared Modelに反映させるため、下図の手順に沿って新しいブランチを作成します。

2025-11-02_06h44_21

2025-11-02_06h45_08

ブランチに切り替わったら、Add to branchを押して各フィールドの変更内容をブランチにコミットします。

2025-11-02_06h48_19

2025-11-02_06h48_54

その後、右上のCreate pull requestを押して、プルリクエストを発行しマージまで行います。これで、Workbookレベルで変更したdescriptionがShared Modelへ反映されました。

2025-11-02_06h49_46

Shared Modelからdbtへプッシュ

続いて、dbtへのプッシュはShared ModelのIDEからでないとできないため、下図の手順に沿ってShared ModelのIDEを開きます。

2025-11-02_06h54_11

変更したdescriptionが正しくShared Modelに反映されていることを確認した上で、画面上部のModelからPush to dbtを押します。

2025-11-02_06h55_28

すると下図のように表示されるため、ブランチ名やコミットメッセージを必要に応じて修正したうえで、Create Pull Requestを押します。(dbtのexposureへの連携は、今操作しているQuerier権限のユーザーからはできません。)

2025-11-02_06h57_14

GitHubで変更された箇所を確認すると、対象Modelのdescriptionを定義しているyamlに対して修正が正しく行われていることがわかります。

2025-11-02_07h00_30

プルリクエストを発行してマージした後、参考までにdbt Cloudの画面から対象のyamlファイルを見ると、Omniで定義したdescriptionが反映されていました!

2025-11-02_07h03_51

dbtのModelを使用しているダッシュボード情報をexposureとしてプッシュ ※「Connection Admin」以上の権限が必要

次に、dbtのModelを使用しているダッシュボード情報をexposureとしてプッシュしてみます。

事前準備:exposureとして連携するダッシュボードについて

事前に、dbtのModelを参照するダッシュボードを下図のように2つ作成しておきます。

2025-11-02_07h23_46

2025-11-02_07h25_51

Omniからexposureとしてプッシュ

では実際にOmniからexposureとしてプッシュしてみます。(対象のModelと紐づくConnectionの「Connection Admin」以上の権限が必要となります。)

Shared ModelのIDEを開きたいため、左のメニューのDevelopから、該当するModelを選択します。

2025-11-02_07h28_04

2025-11-02_07h28_37

画面上部のModelPush to dbtを押します。

2025-11-02_07h29_14

下図の画面が表示されますので、Sync exposuresにチェックを入れて、Create Pull Requestを押します。

2025-11-02_07h30_32

GitHubで変更された箇所を確認すると、下図のように新しいyamlファイルが作成されていることがわかります。日本語タイトルのダッシュボードだとname___に変更されてしまっていますがlabelは日本語が正しく入っており、ownerの情報も自動で入れてくれるのはとてもありがたいですね。

2025-11-02_07h31_50

この上でプルリクエストを作成してマージした上で、dbt Cloudから確認してみます。まずIDEから見ると、下図のように表示されます。ファイルが反映されているのはもちろん、リネージも問題なしですね!

2025-11-02_07h36_52

一度dbt Cloudで適当なジョブを実行してdocs generateを実行し、dbt Catalogから確認すると下図のように確認できます。各ExposureからOpen in Dashboardを押すと、Omniのダッシュボードに直接リンクも出来ます!

2025-11-02_07h40_59

2025-11-02_07h43_31

最後に

Omniからdescriptionとexposureをdbtにプッシュする機能を試してみました。

私は「ビジネスメタデータの管理はdbtのdescriptionを軸にして行うべき派」なのですが、dbtのDescriptionを変更するためにはdbtの環境構築が必要でハードルの高さがネックに感じていました。

しかしこのOmniの機能を使うことで、OmniというBIツールからdbtのdescriptionを変更できるため、ビジネスメタデータを管理する人にはdbtの環境構築が不要でOmniのユーザーアカウントだけ払い出せばよくなります!

個人的に激アツ機能ですので、Omniとdbtを併用する際はぜひご活用ください。

この記事をシェアする

FacebookHatena blogX

関連記事