Microsoft Power BI では、ClickHouse Cloud またはセルフマネージド環境のデータをクエリしたり、メモリに読み込んだりできます。
データの可視化に使用できる Power BI には、いくつかの種類があります。
- Power BI Desktop: ダッシュボードやビジュアライゼーションを作成するための Windows デスクトップアプリケーション
- Power BI サービス: Azure で利用できる SaaS で、Power BI Desktop で作成したダッシュボードをホストします
Power BI では、ダッシュボードを Desktop 版で作成し、Power BI サービスに公開する必要があります。
このチュートリアルでは、次の手順を説明します。
- ClickHouse ODBC ドライバのインストール
- Power BI Desktop への ClickHouse Power BI Connector のインストール
- Power BI Desktop で可視化するための ClickHouse データのクエリ
- 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 でデータのクエリを始めるには、次の手順を実行する必要があります。
- ClickHouse ODBC ドライバをインストールする
- ClickHouse Connector を見つける
- ClickHouse に接続する
- データをクエリして可視化する
ODBC ドライバをインストールする
最新の ClickHouse ODBC リリースをダウンロードします。
付属の .msi インストーラーを実行し、ウィザードの指示に従います。

ODBC ドライバを確認する
ドライバのインストールが完了したら、次の手順で正しくインストールされたことを確認できます。
スタートメニューで ODBC を検索し、"ODBC Data Sources (64-bit)" を選択します。

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

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

「ClickHouse」を検索します

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

- ユーザー名とパスワードを指定します

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

インポートが完了すると、通常どおり Power BI で ClickHouse のデータにアクセスできるようになります。
Power BI サービス
Microsoft Power BI サービスを使用するには、オンプレミス データ ゲートウェイを作成する必要があります。
カスタム コネクタの設定方法について詳しくは、Microsoft のオンプレミス データ ゲートウェイでカスタム データ コネクタを使用する方法に関するドキュメントを参照してください。
ODBC ドライバ (インポートのみ)
DirectQuery を使用する ClickHouse Connector の利用を推奨します。
前述のとおり、ODBC ドライバをオンプレミス データ ゲートウェイ インスタンスにインストールし、確認してください。
新しい User DSN を作成する
ドライバのインストールが完了したら、ODBC データソースを作成できます。スタートメニューで ODBC を検索し、「ODBC Data Sources (64-bit)」を選択します。

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

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

connection details を入力します。

Power BI にデータを取り込む
まだ Power BI をインストールしていない場合は、 Power BI Desktop をダウンロードしてインストールしてください。
Power BI Desktop のスタート画面で、"Get Data" をクリックします。

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

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


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

インポートが完了すると、通常どおり 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
に設定できます。

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