Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Power BI

ClickHouse対応

Microsoft Power BI では、ClickHouse Cloud またはセルフマネージド環境のデータをクエリしたり、メモリに読み込んだりできます。

データの可視化に使用できる Power BI には、いくつかの種類があります。

  • Power BI Desktop: ダッシュボードやビジュアライゼーションを作成するための Windows デスクトップアプリケーション
  • Power BI サービス: Azure で利用できる SaaS で、Power BI Desktop で作成したダッシュボードをホストします

Power BI では、ダッシュボードを Desktop 版で作成し、Power BI サービスに公開する必要があります。

このチュートリアルでは、次の手順を説明します。

前提条件

Power BI のインストール

このチュートリアルでは、Windows マシンに Microsoft Power BI Desktop がインストールされていることを前提としています。Power BI Desktop はこちらからダウンロードしてインストールできます。

Power BI は最新バージョンに更新することを推奨します。ClickHouse Connector は、バージョン 2.137.751.0 以降でデフォルトで利用できます。

ClickHouseの接続情報を確認する

ClickHouseインスタンスに接続するには、次の情報が必要です。

  • ホスト名 - ClickHouseのホスト名
  • ユーザー名 - ユーザー認証情報のユーザー名
  • パスワード - ユーザーのパスワード
  • データベース - 接続先のインスタンス上のデータベース名

Power BI デスクトップ

Power BI Desktop でデータのクエリを始めるには、次の手順を実行する必要があります。

  1. ClickHouse ODBC ドライバをインストールする
  2. ClickHouse Connector を見つける
  3. ClickHouse に接続する
  4. データをクエリして可視化する

ODBC ドライバをインストールする

最新の ClickHouse ODBC リリースをダウンロードします。

付属の .msi インストーラーを実行し、ウィザードの指示に従います。

インストール オプションを表示する ClickHouse ODBC ドライバのインストール ウィザード

ODBC ドライバを確認する

ドライバのインストールが完了したら、次の手順で正しくインストールされたことを確認できます。

スタートメニューで ODBC を検索し、"ODBC Data Sources (64-bit)" を選択します。

ODBC Data Sources (64-bit) オプションが表示された Windows の検索画面

ClickHouse Driver が一覧に表示されていることを確認します。

Drivers タブに ClickHouse ドライバが表示されている ODBC Data Source Administrator

ClickHouse Connector を探す

Power BI Desktop のスタート画面で、「Get Data」をクリックします。

「Get Data」ボタンが表示された Power BI Desktop のホーム画面

「ClickHouse」を検索します

検索バーで「ClickHouse」を検索した Power BI の「Get Data」ダイアログ

ClickHouse に接続する

コネクタを選択し、ClickHouse インスタンスの認証情報を入力します。

  • Host (必須) - インスタンスのドメインまたはアドレスです。プレフィックスや接尾辞を付けずに入力してください。
  • Port (必須) - インスタンスのポートです。
  • Database - データベース名です。
  • Options - ClickHouse ODBC GitHub Page に記載されている任意の ODBC オプションです
  • Data Connectivity mode - DirectQuery
Host、Port、Database、接続モードのフィールドを示す ClickHouse 接続ダイアログ

  • ユーザー名とパスワードを指定します
ユーザー名とパスワードを入力する ClickHouse 接続の認証情報ダイアログ

データをクエリして可視化する

最後に、Navigator ビューにデータベースとテーブルが表示されます。目的のテーブルを選択し、「Load」をクリックして ClickHouse からデータをインポートします。

ClickHouse のデータベース テーブルとサンプル データを表示する Power BI の Navigator ビュー

インポートが完了すると、通常どおり Power BI で ClickHouse のデータにアクセスできるようになります。


Power BI サービス

Microsoft Power BI サービスを使用するには、オンプレミス データ ゲートウェイを作成する必要があります。

カスタム コネクタの設定方法について詳しくは、Microsoft のオンプレミス データ ゲートウェイでカスタム データ コネクタを使用する方法に関するドキュメントを参照してください。

ODBC ドライバ (インポートのみ)

DirectQuery を使用する ClickHouse Connector の利用を推奨します。

前述のとおり、ODBC ドライバをオンプレミス データ ゲートウェイ インスタンスにインストールし、確認してください。

新しい User DSN を作成する

ドライバのインストールが完了したら、ODBC データソースを作成できます。スタートメニューで ODBC を検索し、「ODBC Data Sources (64-bit)」を選択します。

「ODBC Data Sources (64-bit)」オプションが表示された Windows の検索画面

ここで新しい User DSN を追加します。左側の「Add」ボタンをクリックしてください。

新しい DSN を作成するために Add ボタンが強調表示された ODBC Data Source Administrator

ODBC ドライバの Unicode 版を選択します。

ClickHouse Unicode Driver の選択が表示された Create New Data Source ダイアログ

connection details を入力します。

connection parameters が表示された ClickHouse ODBC Driver の設定ダイアログ

Power BI にデータを取り込む

まだ Power BI をインストールしていない場合は、 Power BI Desktop をダウンロードしてインストールしてください

Power BI Desktop のスタート画面で、"Get Data" をクリックします。

「Get Data」ボタンが表示された Power BI Desktop のホーム画面

"Other" -> "ODBC" を選択します。

Other カテゴリで ODBC オプションが選択された Power BI の Get Data ダイアログ

一覧から、先ほど作成したデータソースを選択します。

設定済みの ClickHouse DSN が表示された ODBC ドライバの選択ダイアログ

ODBC DSN 接続の認証情報ダイアログ

最後に、Navigator ビューにデータベースとテーブルが表示されます。目的のテーブルを選択し、"Load" をクリックして ClickHouse からデータをインポートします。

ClickHouse のデータベースとテーブル、およびサンプルデータが表示された Power BI の Navigator ビュー

インポートが完了すると、通常どおり Power BI で ClickHouse のデータにアクセスできるようになります。

大規模データセットの扱いを最適化する

Power BI は、中程度のデータ量を扱う従来型の行ベースのデータベース向けに設計されています。大規模な ClickHouse (数十億行規模) を扱う場合は、最適なパフォーマンスを得るために特定のアーキテクチャパターンが必要です。

Power BI は、ネストしたサブクエリ、複雑な JOIN、実行時の変換を含む SQL クエリを自動生成します。これらのパターンは従来の SQL データベースでは効果的に機能しますが、ClickHouse のような大規模な列指向データベースに対するクエリでは非効率になることがあります。

大規模なデータセットに対する推奨アプローチ: 生のテーブルを直接クエリするのではなく、ダッシュボードの各可視化に対して専用の materialized views を ClickHouse に作成してください。これにより、次の利点が得られます。

  • データ量に関係なく一貫した高速パフォーマンス
  • ClickHouse クラスターへの負荷を軽減
  • コストの予測がしやすくなる

実装時のベストプラクティス

事前集計の戦略

複数の集計レベルで materialized view を作成します。

  • 直近の詳細なダッシュボード向けの時間単位の集計
  • 過去の傾向分析向けの日単位の集計
  • 長期的なレポート向けの月単位のロールアップ
  • アドホック分析に備えて、適切な有効期限 (TTL) を設定した生データを保持する

データモデリングの最適化

  • クエリパターンに合った ORDER BY キーを定義する
  • 時系列データにはパーティション化を利用する
  • 効率的なルックアップのために、小規模なディメンションテーブルをディクショナリに変換する
  • さらなるクエリ最適化のためにプロジェクションを活用する

既知の制限事項

UInt64

UInt64 以上の符号なし整数型は、データセットに自動的には読み込まれません。Power BI でサポートされる整数型の最大が Int64 であるためです。

この例では、pageviews テーブルに UInt64 のカラムがあり、デフォルトでは "Binary" として認識されます。 "Transform Data" をクリックすると Power Query Editor が開き、そこでカラムの型を再割り当てできます。たとえば、 Text に設定できます。

UInt64 カラムのデータ型変換を表示する Power Query Editor

完了したら、左上の "Close & Apply" をクリックして、データの読み込みに進んでください。

Navigation