
はじめに
こんにちは。m.fujitaです。
2025年4月15日~4月17日に開催された、Tableau Conferenceに参加してきました。
その中で印象に残ったセッションについてご紹介します。
本日はdbt Semantic Layer×Tableauの話題です。
このブログを読んでほしい人
今回のブログは、こんな人達に読んでほしいなと思って書きます。
・dbtとTableauを使っている人
・Tableau Conferenceで発表されたSemantic Layer(Tableau Next)との違いを知りたい人
dbt (data build tool)
dbt は、データ分析者がSQLというデータベースを操作する言語を使って、
データウェアハウス(分析に使うデータを集めた場所)の中にあるデータを整理したり、変換したり、加工したりするのを助けてくれるツールです。
例えるなら、dbt はデータ分析における「料理レシピ」のようなもの。
生の食材(まだ整理されていないデータ)を、分析しやすい美味しい料理(分析Readyなデータ)に変えるための手順を、
SQL という共通言語で記述し、管理することができます。
そして、このレシピ(dbt のコード)に従って、dbt が実際にデータを調理(変換・加工)してくれるのです。
Semantic Layer
そもそも、Semantic Layerってなに?っていう所から疑問に思うこともあるかもしれません。
一言でいうと、自社独自で使われている切り口をデータで表現しようとする仕組みです。
もう少し詳しく補足すると、Semantic Layerは、生データや複雑なデータ構造を、ビジネスユーザーにとって理解しやすく、使いやすい形に変換・抽象化する役割を担います。
具体的には、以下のような要素を含んでいることが多いです。
・ビジネス用語への翻訳: テーブル名やカラム名を、売上、顧客、商品といったビジネスで使われる言葉に置き換えます。
・指標の定義: 複数のデータ項目を組み合わせて、売上高、顧客獲得単価、コンバージョン率などの重要なビジネス指標を定義します。
・リレーションシップの定義: 複数のデータセット間の関連性を定義し、結合処理などを意識せずにデータを扱えるようにします。
・アクセス制御: 誰がどのデータにアクセスできるかを管理し、セキュリティを確保します。
つまり、Semantic Layerがあることで、データ分析を行う人が、データの専門知識がなくても、
自社のビジネスロジックや視点に基づいて、必要な情報を効率的に取得し、分析できるようになるのです。
dbt Semantic Layer
dbt Semantic Layer は、dbt Cloud上でSemantic Layerの定義ができる仕組みになっています。
・dbt プロジェクトとの統合: dbt で変換・モデリングされたデータモデル(テーブルやビュー)をベースに Semantic Layer を構築できます。
これにより、データ変換のロジックと分析のための定義を一元的に管理できます。
・メトリクスの定義: 売上、利益、顧客数といった重要なビジネス指標(メトリクス)を、SQL を書くことなく定義できます。
・ディメンションの定義: 顧客、製品、地域などの分析軸となるディメンションを定義できます。これにより、メトリクスを様々な切り口で集計・分析することが容易になります。
・一貫性の確保: 定義されたメトリクスやディメンションは一元管理されるため、異なる分析ツールやレポート間で定義のずれを防ぎ、一貫性のあるデータ分析を実現できます。
・セルフサービスBIの促進: ビジネスユーザーは、定義済みのメトリクスやディメンションを利用して、自身で必要な分析やレポート作成を行うことが容易になります。
つまり、dbt Semantic Layer は、dbt Cloud の強力なデータ変換・モデリング機能と連携することで、
より効率的で一貫性のあるデータ分析基盤を構築するための重要な要素と言えます。
dbtにはdbt Coreとdbt Cloudがあり、dbt Semantic Layerはdbt Cloudの機能になります。
違いにつきましては、下記ページをご確認ください。
dbt Coreとdbt Cloudの関係性・違いなどについてまとめてみた #dbt
https://dev.classmethod.jp/articles/differences-between-dbt-core-and-dbt-cloud/
dbt Cloud pricing
https://www.getdbt.com/pricing
dbt×TableauのDevs on Stage
さて、4月16日に開催されたTableau Conference 2025のDevs on Stageにて
Tableau Cloud にdbt Semantic Layerのコネクタが追加される旨の発表がありました。
リリースが楽しみです!
Devs on Stageで紹介された内容は、アクティビティログの可視化になります。
↓こちらがTableau Cloudからdbt Semantic Layerに接続するコネクタ設定になります。
dbt Semantic Layerで定義したActivity Log+Org Chartを使って
Tableauの箱ひげ図として可視化ができました。
Tableau DesktopとTableau Serverでは現在も利用可能です。
ただし、Tableau2020.4以降で使用可能な拡張機能となっております。
https://exchange.tableau.com/ja-JP/products/1020
Achieve Governance Harmony: Powering Tableau with dbt
個別セッションも見てきました。
dbt Semantic Layerを使ってTableauのダッシュボードに可視化するというプレゼンになっていました。
dbt がデータの変換、テスト、および管理を効率化し、継続的なデータ運用サイクルをサポートするツールであることを示しています。
無限ループの図は、継続的に処理、分析、改善されるべきものであるという考え方を強調しています。
SQLを簡素化して可読性や信頼性を高めることができ、デバッグがしやすくなります。
Githubでのバージョンコントロールも可能です。
テクノロジーツアー
Rintaroさんが日本人向けにスポンサーブースを回るテクノロジーツアーを開催してくださいました。
その中で、dbtブースにお邪魔するタイミングがあり、こちらの模様がブログになっております。
https://www.getdbt.com/blog/tableau-conference-recap-2025
遠くにRikaさんが見えていますが、私も後ろ姿でこっそり写っています
Tableau NextのSemantic Layer
この度、Main KeynoteでTableau Nextについて発表がありました。
上記のSemantic Layerは、Tableau Next上ではTableau Semanticsと呼ぶそうです。
日本人向けのTC事前セッションでは、このような形での絵を発表してくださっていました。
Tableau NextはSalesforce Platform上に構築されるのが前提となっております。
dbt Semantic LayerとTableau NextのTableau Semanticsの比較
結局何が違うんだろう?ということで比較表を作ってみました。
ただし、Tableau SemanticsはTableau Conferenceで発表されたばかりの機能なので、正確でない可能性があります。
詳細は、公式サイトをご覧ください。
特徴 | dbt Semantic Layer | Tableau Semantics (Tableau Nextで発表) |
主な目的 | 指標定義の一元管理、BIツール間の整合性確保、Metrics as Code※ | データモデリングと指標定義の簡素化、Salesforce Data Cloudとの統合強化 |
定義場所 | dbtプロジェクト (YAMLファイル) | Tableauプラットフォーム内 (Data Cloudのデータ管理レイヤー内) |
定義方法 | コード (YAML)、バージョン管理可能 | GUIベースの可能性が高い |
BIツール連携 | Tableau、Google Sheets、Modeなど複数のBIツールと連携可能 | Tableau製品群およびSalesforceエコシステムとのネイティブな連携を重視 |
成熟度 | GA (一般提供) | 2025年2月GA(Tableau Nextの一部として発表) |
中心となる思想 | Metrics as Code※、ツール非依存性、データエンジニアリングのベストプラクティス | Tableauユーザーの使いやすさ、Salesforce Data Cloudとの連携による価値最大化 |
価格 | dbt Cloudのプランに依存 (開発者シート、従量課金) | 現時点では未公開 |
※Metric as Code:指標定義をコードで管理する概念のこと。バージョン管理、テスト、再利用性が向上。
まとめ
今日は下記の内容をお伝えしました。
・dbt Semantic Layer
・Tableau Semantic
・dbt Semantic LayerとTableau Semanticの違い
Tableau Semanticは発表されたばかりの機能ですし、今後が楽しみですね。
dbt Semantic LayerとTableau Desktop/Serverのコネクタは2020.4からGAになっているようですが、使ったことがなかったので
次回使ってみたブログを書けたらいいなぁと思っています。乞うご期待。