こんにちは、インターン生の大石です。
今回は、AtScaleというツールについてご紹介させていただきます。
PoCや学習目的に無償で使用できるDeveloper Editionでセマンティックレイヤーを構築する方法を解説しますので、AtScaleについて知りたい、セマンティックレイヤーに興味があり、自分で試してみたいという方は是非ご覧ください。
目次
セマンティックレイヤーとは?
データ分析の現場でこのような課題に直面したことはないでしょうか。
- 部署ごとに「売上」の定義が異なり、レポートの数字が一致しない
- BIツールでダッシュボードを作るたびに、複雑なSQLを書く必要がある
- データソースが増えるたびに、各ツールの接続設定を個別に管理しなければならない
- 生成AIにデータを活用させたいが、どう接続すればいいか分からない
これらの課題を解決するのがセマンティックレイヤーです。
セマンティックレイヤーは、複雑な生データとビジネスユーザーの間に位置する「中間レイヤー」として機能し、以下のメリットをもたらします。
- メトリクスの統一
組織全体で一貫した定義とロジックを共有できます。「先月の売上」を誰が見ても同じ結果になるため、データに基づく意思決定の信頼性が向上します。 - 生産性の向上
ビジネスロジックを一度定義すれば、複数のBIツールやアプリケーションから再利用できます。アナリストは複雑なJOINやフィルタ条件を毎回書く必要がなくなります。 - AI/LLMとの統合
生成AIエージェントに対して、正確で文脈を持ったデータを提供できます。自然言語での質問を適切なクエリに変換し、信頼できる回答を生成する基盤となります。
セマンティックレイヤーについてはこちらでも詳しく説明されています。
https://www.atscale.com/glossary/semantic-layer/
AtScaleについて
セマンティックレイヤーを実装するプラットフォームとして、AtScaleが挙げられます。
AtScaleは「ユニバーサルセマンティックレイヤー」を標榜しており、Tableau、Power BI、Excel、Lookerなど、様々なBIツールや分析環境と接続することが可能です。

AtScale HPより:https://www.atscale.com/
また、AtScaleはデータ仮想化のアプローチを採用しています。
Snowflake、Google BigQuery、Amazon Redshiftなどのクラウドデータプラットフォーム上で直接クエリを実行するため、データのコピーや移動が不要なことも特徴です。
実際に使ってみる
ここからは、AtScale Developer Editionを利用して実際にセマンティックレイヤーを実装してみましょう。
AtScale Developer Editionは完全無料で利用でき、エンタープライズ版と同じコア機能を使えるため、概念実証(PoC)や学習目的、小規模なチームでの利用に最適です。

今回はデータソースにBigQuery、BIツールにTableau Desktopを接続します。
(筆者はmacOSを使用しています)
AtScale Developer Editionのセットアップ
developerプランでは、Dockerfileをインストールしてセルフホストする必要があります。
まずは、公式サイトにアクセスしてサインアップします。
https://www.atscale.com/start/
サインアップが完了したら、zipファイルをダウンロードして解凍します。
ターミナルでdocker-compose.ymlを含むフォルダに移動して、以下のコマンドを実行します。
# コンテナを起動するコマンド
docker compose up -d
起動が完了したら、以下のリンクにアクセスするとAtScaleのログイン画面が表示されます。
http://localhost/
初回はusername, passwordともに”admin”としてログインします。
ライセンスキー欄に、サインアップ時に登録したメール宛に届いたキーを入力します。
Internet Sales Tutorialのモデルが表示できれば、セットアップ完了です!

BigQueryと接続する
いくつかTutorial Modelが用意されていますが、これらはAtScaleが内部に保持しているDBに接続しています。
実際に使用したいデータを読み込むには、外部のデータソースに接続する必要があります。
今回はBigQueryのテーブルをAtScaleから読み込む手順を解説します。
まずはGoogle Cloud側での設定を行います。
AtScaleが使用するサービスアカウントを作成して、BigQuery Adminロールを付与しておきます。

サービスアカウントのキーを作成して、JSONファイルとしてダウンロードします。

AtScale側でデータベースを追加します。
Data Sourcesの + から、BigQueryを選択してウェアハウス設定を行います。


Add ConnectionにJSONファイルをアップして、接続テストが成功すれば完了です!
データソースに追加されているのが確認できます。

Tableauと接続する
データソースと接続できたので、BIツールと接続してセマンティックレイヤーが機能していることを確認しましょう。
今回はTableau Desktopを選択します。
(.tdsファイルで外部DBに接続するため、Tableau Publicでは今回ご紹介する方法は利用できません。)
Deployed Catalogsから、作成したモデルの.tdsファイルをダウンロードします。

ダウンロードしたファイルをTableau Desktopで開きます。
ユーザー名とパスワードを聞かれるので、AtScaleのユーザーとして設定したものを入力してください。

Tableauのダッシュボード画面を確認して、AtScaleのモデルで定義したメトリクスやディメンションがフィールドとして表示されていれば完了です!

PostgreSQL JDBC ドライバーが必要と表示された場合
DBに接続する際、ドライバーが必要な場合があります。
以下の手順を実施して、Tableau Desktopを再起動してください。
https://jdbc.postgresql.org/download/
PostgreSQL JDBC ドライバー 8 42.7.5をダウンロードして、下記のフォルダに.jarファイルを移動する
(フォルダがない場合は作成する)
/Library/Tableau/Drivers
まとめ
今回はAtScale Developer Editionのセットアップと接続方法をご紹介しました。
AtScaleで指標や集計を定義しておけば、Power BIやExcelから表示しても数値がズレることがありません。
AtScaleはGUIでの操作に加えて、オープンソースのセマンティックモデリング言語(SML)も利用でき、git管理ができることもメリットですね。
また、AIエージェントやチャットbotが利用するデータを提供することで、AI Readyのデータ基盤としても活用できます。
下記で紹介されているので、興味がある方はこちらも試してみてください。
https://www.atscale.com/use-cases/generative-ai/












