各製品の資料を入手。
詳細はこちら →SSAS でSnowflake のデータに連携するOLAP Cube を作成
Snowflake のデータプロバイダーを利用してAnalysis Services プロジェクト内のSnowflake に接続し、アナリティクスやレポーティングなどで使えるOLAP キューブを構築します。
最終更新日:2022-04-10
この記事で実現できるSnowflake 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
SQL Server Analysis Services (SSAS) は、意思決定支援やビジネスアナリティクスで使われる解析エンジンです。ビジネスレポートおよび、Power BI やExcel、 Reporting Services レポート、その他のデータ可視化ツールのようなクライアントアプリケーションに、エンタープライズレベルのセマンティックデータを提供します。Snowflake 用のCData ADO.NET プロバイダーと合わせれば、Snowflake を使って、より深く速いデータ分析のためのキューブを作成できます。
この記事では、Analysis Services プロジェクトをVisual Studio で作成し、Snowflake の多次元モデルを構築および配置する方法を説明します。これには、アクセス可能なSSAS インスタンスと、ADO.NET プロバイダーのインストールが必要です。
Snowflake 用のJDBC データソースの設定
まず、Visual Studio で新しい多元的なAnalysis Service とデータマイニングプロジェクトを作成します。次に、プロジェクト内でSnowflake 用のデータソースを作成します。
- [Solution Explorer] の[Data Source] を右クリックし、[New Data Source] を選択します。
- 既存または新規の接続に基づいて、データソースを作成することを選択し、[New] をクリックします。
- [Connection Manager] のSnowflake 用CData ADO.NET プロバイダーを選択し、必要な接続プロパティに入力後、[Next] をクリックします。
Snowflake データベースに接続するには、認証に加えて次のプロパティを設定します。
- Url:自身のSnowflake URL、例えばhttps://orgname-myaccount.snowflakecomputing.com。
- Legacy URL を使用する場合:https://myaccount.region.snowflakecomputing.com
- 自身のURL を見つけるには:
- Snowflake UI の左下にある自身の名前をクリックします。
- Account ID にカーソルを合わせます。
- Copy Account URL アイコンをクリックして、アカウントURL をコピーします。
- Database(オプション):によって公開されるテーブルとビューを、特定のSnowflake データベースのものに制限します。
- Schema(オプション):本製品によって公開されるテーブルとビューを、特定のSnowflake データベーススキーマのものに制限します。
Snowflake への認証
本製品は、Snowflake ユーザー認証、フェデレーション認証、およびSSL クライアント認証をサポートしています。認証するには、User とPassword を設定し、AuthScheme プロパティで認証メソッドを選択します。
キーペア
ユーザーアカウントに定義されたプライベートキーを使用してセキュアなトークンを作成することにより、キーペア認証を使用して認証できます。この方法で接続するには、AuthScheme をPRIVATEKEY に設定し、次の値を設定します。
- User:認証に使用するユーザーアカウント。
- PrivateKey:プライベートキーを含む.pem ファイルへのパスなど、ユーザーに使用されるプライベートキー。
- PrivateKeyType:プライベートキーを含むキーストアの種類(PEMKEY_FILE、PFXFILE など)。
- PrivateKeyPassword:指定されたプライベートキーのパスワード。
その他の認証方法は、ヘルプドキュメントの「Snowflake への認証」セクションを参照してください。
接続を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
- Url:自身のSnowflake URL、例えばhttps://orgname-myaccount.snowflakecomputing.com。
- インパーソネーションを[Inherit] に設定し、[Next] をクリックします。
- データソースに名称(CData Snowflake Source) を入力し、[Finish] をクリックします。
データソースビューの作成
データソースの次に、データソースビューを作成します。
- [Solution Explorer] で[Data Source Views] を右クリックし、[New Data Source View] を選択します。
- 先ほど作成したデータソース(CData Snowflake Source) を選択し、[Next] をクリックします。
- 基になるデータソースのパターンに一致する外部キーを選択し、[Next] をクリックします。
- Snowflake の表を選択、ビューに追加し、[Next] をクリックします。
- ビューに名前を付け、[Finish] をクリックします。
スキームに一致する外部キーに基づいて、基礎的なデータとのリレーションが検出されます。[Data Source View] をダブルクリックすることで、これらのリレーションを確認・編集することができます。

[Data Source View] へのセカンダリデータソースの追加はサポートされないことに注意してください。複数のデータソースを利用する場合、SSAS は、すべてのソースがADO.NET プロバイダーでは使用できないOpenRowset 経由のリモートクエリをサポートすることを必要とします。
Snowflake 用のキューブを作成する
プロジェクトを処理してSnowflake をSSAS に展開するための最後のステップはキューブの作成です。
- [Solution Explorer] の[Cubes] を右クリックし、[New Cube] を選択します。
- [Use existing tables] を選択し、[Next] をクリックします。
- メジャーグループテーブルに使用するテ-ブルを選択し、[Next] をクリックします。
- キューブに含ませたいメジャーを選択し、[Next] をクリックします。
- 使用可能なテーブルに基づいて作成するディメンションを選択し、[Next] をクリックします。
- すべての選択内容を確認し、[Finish] をクリックします。
プロジェクトを処理する
データソースと、データソースビュー、キューブを作成すると、SSASにキューブを展開する準備が完了します。ターゲットサーバーとデータベースを構成するために、プロジェクトを右クリックしプロパティを選択します。デプロイメントに移動し、ターゲットセクションでサーバーとデータベースのプロパティを設定します。

ターゲットサーバーとデータベースを構成した後、プロジェクトを右クリックして[Process] を選択します。このステップの一部として、プロジェクトの構成・デプロイが必要となる場合があります。プロジェクトを構成・デプロイし、[Process Database]ウィザードにある[Run] をクリックします。
SSAS インスタンスにSnowflake 用のOLAP キューブが作成され、分析、レポート、表示の準備が完了します。Snowflake 用のCData ADO.NET プロバイダーの30日の無償評価版をダウンロードして、SSAS データをご利用ください。