Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できる...
Search
Sagara
December 12, 2025
Technology
0
58
30分であなたをOmniのファンにしてみせます~分析画面のクリック操作をそのままコード化できるAI-ReadyなBIツール~
2025/12/11のdbt Coalesce on the road Tokyoでの登壇資料です
https://www.getdbt.com/jp/coalesce-in-tokyo
Sagara
December 12, 2025
Tweet
Share
More Decks by Sagara
See All by Sagara
Modern Data Stack大好きマンが語るSnowflakeの魅力
sagara
0
310
激動の2025年、Modern Data Stackの最新技術動向
sagara
0
1.6k
Modern_Data_Stack最新動向クイズ_買収_AI_激動の2025年_.pdf
sagara
0
360
Snowflake×dbtを用いたテレシーのデータ基盤のこれまでとこれから
sagara
0
340
dbt Cloudの新機能を紹介!データエンジニアリングの民主化:GUIで操作、SQLで管理する新時代のdbt Cloud
sagara
1
570
Tokyo dbt Meetup #13 dbtと連携するBI製品&機能ざっくり紹介
sagara
0
950
Snowflakeの開発・運用コストをApache Icebergで効率化しよう!~機能と活用例のご紹介~
sagara
4
2.1k
2024年のModern Data Stackを振り返ろう~分野別の目玉アップデート情報まとめ~
sagara
2
1.5k
データ活用の最前線!Modern Data Stack界隈で注目されている4つの分野
sagara
1
2k
Other Decks in Technology
See All in Technology
AWS Trainium3 をちょっと身近に感じたい
bigmuramura
1
120
生成AI・AIエージェント時代、データサイエンティストは何をする人なのか?そして、今学生であるあなたは何を学ぶべきか?
kuri8ive
2
2.1k
品質のための共通認識
kakehashi
PRO
1
180
世界最速級 memcached 互換サーバー作った
yasukata
0
320
モバイルゲーム開発におけるエージェント技術活用への試行錯誤 ~開発効率化へのアプローチの紹介と未来に向けた展望~
qualiarts
0
650
乗りこなせAI駆動開発の波
eltociear
1
970
AIと二人三脚で育てた、個人開発アプリグロース術
zozotech
PRO
0
680
モダンデータスタック (MDS) の話とデータ分析が起こすビジネス変革
sutotakeshi
0
390
技術以外の世界に『越境』しエンジニアとして進化を遂げる 〜Kotlinへの愛とDevHRとしての挑戦を添えて〜
subroh0508
1
380
Kubernetes Multi-tenancy: Principles and Practices for Large Scale Internal Platforms
hhiroshell
0
110
GitHub Copilotを使いこなす 実例に学ぶAIコーディング活用術
74th
3
1.1k
5分で知るMicrosoft Ignite
taiponrock
PRO
0
110
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
527
40k
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.6k
BBQ
matthewcrist
89
9.9k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
GitHub's CSS Performance
jonrohan
1032
470k
Practical Orchestrator
shlominoach
190
11k
How STYLIGHT went responsive
nonsquared
100
5.9k
A Tale of Four Properties
chriscoyier
162
23k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
121
20k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Site-Speed That Sticks
csswizardry
13
990
Transcript
2025/12/11 クラスメソッド株式会社 相樂悟 30分であなたをOmniのファンにしてみせます 〜分析画⾯のクリック操作をそのままコード化できるAI-ReadyなBIツール〜
⾃⼰紹介 2 • 2020年9⽉ ⼊社 ◦ Modern Data Stackに該当する製品の 技術⽀援‧プリセールスを担当 ◦
新しい技術情報を定期的に収集し、 ブログで情報発信 • 部署‧役割 ◦ Modern Data Stackチーム テックリード • 名前(ニックネーム) ◦ 相樂 悟 (さがら)
⽬次 3 • クラスメソッドとdbtの関係 • Omniの紹介 • dbt × Omniの連携機能紹介
• まとめ
⽬次 4 • クラスメソッドとdbtの関係 • Omniの紹介 • dbt × Omniの連携機能紹介
• まとめ
クラスメソッドとdbtの関係 5 データ基盤において重要な「変換」を担うソリューションとして、 dbt Labs社と2022年3⽉に⽇本国内初のパートナーになりました パートナープログラムの最⾼位ランクである「Visionary」の認定を受けています 引⽤元:https://classmethod.jp/partner/category/modern-data-stack/
dbt platform(SaaS版)の推しポイント 6 dbt Coreやdbt Projects on Snowflakeなどと⽐較すると、 dbt platformの⽅が開発‧運⽤のコストを下げる機能が多い
CI/CDをとても簡単に設定 DWHコスト‧運⽤コストの削減 設定が簡単で、データの差分も確認可能 state-aware orchestration、Agent機能 ※今後FusionやAgent関連の機能が多くリリース予定
• データ変換はdbtによって最適化された • しかし「dbtとBIの連携」「AIを活⽤するためのメタデータ整備」に課題がある… dbtで開発中のデータを BIツールから参照させたいが 既存のBIツールだと難しい ビジネスメタデータの⼊⼒先が dbtのyamlだけなのは 分析ユーザーからすると⾟い
BIツールが発⾏するクエリを そのままdbtのModel化したい Semantic Layerを定義をする エンジニアの負荷が⼤きい クラスメソッドのModern Data Stackの課題 7
この課題を全て解決してくれる「Omni」 8 これらの課題を解決してくれる「Omni」とパートナーになりました! dbtで開発中のデータを BIツールから参照させたいが 既存のBIツールだと難しい ビジネスメタデータの⼊⼒先が dbtのyamlだけなのは 分析ユーザーからすると⾟い BIツールが発⾏するクエリを
そのままdbtのModel化したい Semantic Layerを定義をする エンジニアの負荷が⼤きい
⽬次 9 • クラスメソッドとdbtの関係 • Omniの紹介 • dbt × Omniの連携機能紹介
• まとめ
Omniとは 10 • 沿⾰ ◦ 2022年に設⽴ ◦ 2025年に創業3年で6900万USDの資⾦調達 • 本社:カリフォルニア州サンフランシスコ
• 創業者 ◦ Colin Zima(CEO):元LookerのChief Analytics Officer ◦ Jamie Davidson:元LookerのVP Product ◦ Chris Merrick:元StitchのCTO⇛買収後のTalendでVP of Engineering
Omniの⼀般的な開発プロセス 11 ダッシュボードはGUI操作で作成 1.Workbookでダッシュボードを作成 2.他のユーザーにも作成したフィールドや JOIN定義を利⽤させたい場合、Sharedに反映 差分確認&PR発⾏ Sharedに反映 引⽤元:Omni Analytics社公式の製品紹介資料より
Omniの実際の画⾯:Query(Workbookレイヤー) 12 Omniでは作成したWorkbookの1つ1つのタブを「Query」と呼ぶ Queryで指定したフィールドによって作られたグラフが、ダッシュボードにも追加される *1 Workbook=1 ダッシュボード
Omniの実際の画⾯:IDE(Workbookレイヤー) 13 Queryで定義したフィールド‧JOIN定義等が裏側でコード化されている 各Workbookごとにコード化されている
Omniの実際の画⾯:IDE(Sharedレイヤー) 14 Sharedは、共通利⽤するフィールド‧リレーション等の定義がされたレイヤー 新しくWorkbookを作成する際は、Sharedで定義されたコードを元に作成 ※dbtから最新のスキーマ情報を取得したり、descriptionやexposureのプッシュも可能
私が推したいOmniの良いところ 15 • GUIで操作したものを、そのままコードにできる • 結合条件がrelationshipオブジェクトとして独⽴している • スプレッドシートライクな操作で計算フィールドを追加できる • 可視化表現も豊富
• 完全⼀致のクエリ以外でもキャッシュを再利⽤できる • 接続先のデータべースの動的な切り替えが可能 • Lookerの良い点はOmniにも搭載 • AI⽤途のコンテキスト⼊⼒機能が豊富 • 標準のAI機能も豊富 • MCP Serverも提供 ※次のスライドから各機能についてご紹介します
GUIで操作したものを、そのままコードにできる 16 独⾃のSQL計算式を⼊れるようなメジャーであっても、裏側でコード化してくれる 参考記事:https://dev.classmethod.jp/articles/omni-how-to-start-analysis-after-create-connection/
結合条件がrelationshipオブジェクトとして独⽴している 17 結合条件は⼀度定義したら、relationshipsとして登録される LookerのExploreとほぼ同義のtopicsも、結合したいviewを記述するだけ(DRYなコード)
スプレッドシートライクな操作で計算フィールドを追加できる 18 左上図のように、セル同⼠の演算を記述することでも計算可能 左下図のようにPromoteを押すことで、記述したセル同⼠の演算をコード化 ※コード化できるのは⽐較的シンプルな演算のみ 参考記事:https://dev.classmethod.jp/articles/omni-spreadsheet-to-semantic-layer/
可視化表現も豊富 19 よく使うグラフは揃っており、右図のKPIチャートが特徴的 引⽤元:https://docs.omni.co/docs/visualization-and-dashboards/visualization-types
完全⼀致のクエリ以外でもキャッシュを再利⽤できる 20 参考記事:https://dev.classmethod.jp/articles/omni-try-caching/
接続先のデータべースの動的な切り替えが可能 21 本番⽤データベースとは別に開発⽤データベースを別途⽤意している場合、 ダッシュボードの編集中に接続先のデータベースを切り替えることが可能 (この機能を⽤いて、ユーザー属性ごとに参照させるデータベースの切り替えも可能) 参考記事:https://dev.classmethod.jp/articles/omni-try-dynamic-environments/
Lookerの良い点はOmniにも搭載 22 • Omniから実⾏されるSQLの確認 • One to ManyでJOINする時のfan out対策 ◦
One側のテーブルのレコードが重複し集計値がずれてしまう現象を対策する機能 • Access filtersとAccess grants ◦ ユーザー属性を使⽤した、動的な⾏レベル‧列レベルセキュリティを設定できる機能 • Aggregate Awareness ⇛ 次⾴で紹介 ◦ 選択したフィールドに応じて、最適な粒度のテーブルに対して動的にクエリを発⾏する機能 • Content Validator ◦ ダッシュボードが参照するフィールド等の名称変更があったときに検知‧修正できる機能 • Embedded Analytics ◦ iframeベースの埋め込みが可能で、埋め込み先の認証情報を⽤いた 動的なOmniのユーザー作成&認証も可能(SSO embed)
Lookerの良い点はOmniにも搭載:Aggregate Awareness 23 ユーザーが選択したディメンションの粒度に応じて、参照先のテーブルを動的に変更 定義は右下の通り、集計テーブルのviewファイルで対応するフィールド⼀覧を書くだけ 参考記事:https://dev.classmethod.jp/articles/omni-try-aggregate-awareness/
AI⽤途のコンテキスト⼊⼒機能が豊富 24 topic、view、field、それぞれでAI⽤のコンテキストを⼊⼒可能 特に「ai_context」という、AIに対する⽂脈を追加できる機能を持つ製品は少ない印象
標準のAI機能も豊富:Queryの⽣成 25 ⾃然⾔語で要望することで、AIが必要なフィールド‧メジャーを⾃動で選択 参考記事:https://dev.classmethod.jp/articles/omni-ai-assistant-try/
標準のAI機能も豊富:Queryの要約機能 26 Omniのチャートの1つ「AI Summary」 少し⾒ただけでは理解が難しいグラフに対して、AIによる要約を⾏うことが可能 参考記事:https://dev.classmethod.jp/articles/omni-ai-assistant-try/
標準のAI機能も豊富:⾃然⾔語での対話分析機能 27 ⾃然⾔語での対話機能があり、グラフの作成だけでなく洞察の内容まで出⼒してくれる 参考記事:https://dev.classmethod.jp/articles/omni-ai-assistant-try/
標準のAI機能も豊富:⾃然⾔語での対話分析機能を埋め込み可能 28 前述の⾃然⾔語での対話分析機能を任意のアプリケーションやWebサイトに埋め込み可能 アイコンや⾊味などをカスタマイズ可能 Omni標準の画⾯ カスタマイズしてWebアプリに埋め込んだ画⾯ 引⽤元 引⽤元:https://omni.co/embedded-analytics
MCP Serverも提供 29 MCP Serverも提供しており、Omniで定義されたSemantic LayerをOmni外でも活⽤可能 引⽤元:https://omni.co/blog/introducing-omnis-mcp-server
⽬次 30 • クラスメソッドとdbtの関係 • Omniの紹介 • dbt × Omniの連携機能紹介
• まとめ
dbt × Omniの連携機能紹介 31 Omniは他のBIツールにはない機能も含め、dbtとの連携機能を豊富に提供 • dbtで定義したDescriptonをそのままOmniに連携可能 • dbtの開発ブランチで作られたテーブルをOmniから参照可能 •
OmniからDescriptionとExposureを連携 • 集計画⾯で定義した内容をSQL化してModelとしてPush ※次のスライドから各機能についてご紹介します
dbtで定義したDescriptonをそのままOmniに連携可能 32 dbtで定義したDescriptionと、SQL定義をOmniに連携可能 更に、DescriptionはOmniのフィールド選択画⾯からも確認可能 参考記事:https://dev.classmethod.jp/articles/omni-dbt-integration-setup/
dbtの開発ブランチで作られたテーブルをOmniから参照可能 33 dbtで開発を⾏う際は、ブランチを切って開発⽤のスキーマに出⼒することが⼀般的ですが Omniではその開発⽤のスキーマに、データの参照先を切り替えることが可能 参考記事:https://dev.classmethod.jp/articles/omni-dynamic-schema-with-dbt/
OmniからDescriptionとExposureを連携 34 Omni上で定義したDescriptionの内容をdbtのyamlに反映したり、 dbtモデルを利⽤するダッシュボード定義をExposureとして⾃動連携 参考記事:https://dev.classmethod.jp/articles/omni-descriptions-exposures-push-to-dbt/
集計画⾯で定義した内容をSQL化してModelとしてPush 35 OmniのQuery作成画⾯で、選択したフィールドによって発⾏されるSELECT⽂を ref関数など含めてdbtのModelとしてプッシュしてくれる機能 参考記事:https://dev.classmethod.jp/articles/omni-push-to-dbt-model/
⽬次 36 • クラスメソッドとdbtの関係 • Omniの紹介 • dbt × Omniの連携機能紹介
• まとめ
Omniにより実現できること:DWHコスト‧運⽤コストの削減 37 DWHコストの直接削減 開発‧運⽤コストの削減 賢いキャッシュ機能 DWHへの不要な再クエリを 削減し、利⽤コストを削減 集計テーブル⾃動選択 (Aggregate Awareness)
低コストなテーブルへクエリを ⾃動で振り分け、スキャン量削減 GUI操作のコード化 (Semantic Layer) 分析操作から再利⽤可能な コードを⾃動で⽣成 属⼈化排除‧保守効率化 分析ユーザー全員がコード定義 できるようになるため、特定の 担当者の負荷を削減 Omniパフォーマンス最適化機能や⾃動的なコード化機能により、 DWH利⽤コスト、⼈的な開発‧運⽤コスト、共に削減
Omniにより実現できること:AI-Readyな基盤を⾃然に構築可能 38 ⽇々の分析活動により⾃然と必要なコンテキストが整っていき、 そのままAI活⽤ができるBIツール「Omni」 指標定義‧説明の記述 (売上、顧客ランク、など) テーブル間の リレーション定義 ⾃動でコード化 メタデータやModel定義の連携、
開発環境のスキーマ参照、etc Omni標準のAI機能 MCP Server経由
宣伝:ブース出展しています! 39 Omniのファンになって頂けたでしょうか? より詳しくOmniについて説明を聞きたい場合は、ぜひ弊社ブースにお⽴ち寄りください!
None