あらゆるビジネスや業種でSnowflakeデータクラウドとPower BIの導入が進む中、ユーザーにクラス最高の使用感を提供するためには、機能、ユーザーエクスペリエンス、およびSnowflakeとPower BIの統合を進化させ続けることが重要です。その目的で、SnowflakeとMicrosoftは互いのユーザーコミュニティの声に耳を傾け、望まれる機能を提供し、両プラットフォームを使用する際の生産性、柔軟性、アジリティの向上を実現するために、強力なパートナーシップを結びました。

SnowflakeとPower BIチームのパートナーシップによる最近の成功例は、要望の多かったカスタムSQのリリースです。このエキサイティングな新機能は Power BIの最新バージョンで提供されています。カスタムSQLへの対応により、Power BIやSnowflakeのユーザーは、時間短縮、柔軟性およびさまざまな新機能が利用できるようになり、生産性が高まります。カスタムSQLは、DirectQueryモードとImportモードの両方に対応しているため、チームはビジネスニーズに合わせてデータモデルをカスタマイズできます。

Power BI向けSnowflakeコネクターのカスタムSQLサポートの利点

SnowflakeコネクターがカスタムSQL対応になることで、次のような新機能の提供が可能になります。

Snowflakeのパワーを活用する能力の強化:Snowflakeのコンピュート性能のほぼ無限の拡張性を考えると、できれば(Power BIサービスではなく)Snowflake内でクエリ操作を実行したいと思うでしょう。カスタムSQLを利用すれば、Snowflake内で直接実行されるクエリを書くことができます。

スムーズな移行:現在、カスタムSQLに対応しているデータソースを使用している場合は、そのSQLを簡単にSnowflakeコネクターへと移行できるため、Snowflakeへの移行にかかる時間と労力を大幅に削減できます。

クエリフォールディング:クエリフォールディングはPower Queryの機能の1つであり、ソースデータを取得し変換するための単一のクエリ文を生成するものです。クエリフォールディングのメリットを説明しようとすると非常に長くなるため、、ここでは、カスタムSQLによってSnowflakeでもクエリフォールディング機能が使えるようになり、Power BIのオペレーションがより効率的になるというポイントだけを押さえておいてください。SQLの実行は、クエリフォールディングによりプッシュバックされ、データベース(Snowflake)で実行されます。

複雑な変換をシンプル化:Power Queryは、Power BIでデータセットを変換するための非常に強力なツールですが、複雑なSQL操作の中には、Power Queryでの実行が困難または不可能なものもあります。カスタムSQLを利用すると、Snowflake SQLの力をPower BIで直接発揮することができます。

アナリストやビジネスユーザー向けの柔軟性の向上:データベースオブジェクトへのアクセスが制限されているユーザーでも、カスタムSQLを使用すれば、Power BIではなくSnowflakeの(前述のような)機能を活用しながら、JOINやUNIONなどの操作を実行できるようになりました。

カスタム列の柔軟な追加の実現:カスタムSQLを使用したカスタムカラムの追加は、DirectQueryモードにおけるDAXの限界を克服するために特に重要です。また、これによってPower BIサービスでの計算にかかる潜在的なオーバーヘッドを排除することもできます。

Power BI向けSnowflakeコネクターでカスタムSQLの使用を開始する

ソリューションの概要

このソリューションの導入の大まかな手順は次のとおりです。

  1. 最新バージョンのPower BIを使用していることを確認する(最新でない場合は、2021年6月リリース版をダウンロードする)。
  2. Power BI向けSnowflakeコネクターを使用してSnowflakeに接続する。

アーキテクチャ

前提条件

これから説明する手順を開始する前に、以下の条件が整っていることをご確認ください。

  • Snowflakeアカウント。アカウントをお持ちでない場合は、trial.snowflake.comにアクセスして30日間の無料トライアルアカウントにご登録ください。

最新版のPower BIを使用していることを確認する

最新版のPower BI Desktopを使用していることを確認するには、Help(ヘルプ)メニュー項目からAbout(バージョン情報)オプションをクリックします。表示されるバージョン名が2021年6月(またはそれ以降)である必要があります。

Power BI向けSnowflakeコネクターを使用してSnowflakeに接続する

今回のリリースでは、今のところコネクターはクエリ内に完全修飾テーブル名(DATABASENAME.SCHEMANAME.TABLENAME)が必要となります。またデータベース名フィールドも必須です(UIがオプションとしてフィールドを記述する場合でも)。Microsoft Power BIチームは、ユーザーエクスペリエンスのさらなる改善と合理化に取り組んでいます。

Power BIを設定するには、以下の手順を実行します。

1. メニューからGet Data(データの取得)を選択し、次にSnowflakeコネクターを見つけます。

ヒント:Snowflakeコネクターをすばやく見つけるには、検索ボックスに「Snowflake」と入力します。

2. お使いのサーバー(SnowflakeアカウントURL)、Snowflakeウェアハウス、Snowflakeロール、およびSnowflakeデータベースを入力します。下の画面では「(optional)」(オプション)と表示されていますが、現在のところデータベース名は必須です。最後に、テキストボックスにSQL文を追加して、OKボタンを押します。

Snowflake 
mysnowflakeaccount.snowfakecomputing.com 
Warehouse 
PowerBl_WH 
Advanced options 
Specify a text value to use as Role name (optional) 
ANALYST 
Command timeout in seconds (optional) 
Connection timeout in seconds (optional)
SQL statement (optional, requires database) 
SELECT * 
FROM MYDATABASENAME. MYSCHEMNANAME . MYTABLENAME

3. レポート内で初めてSnowflakeに接続する場合、認証プロンプトが表示されます。初めてではない場合、Connection Settings(接続設定)プロンプトが表示されるので、Import(インポート)またはDirectQueryのいずれかを選択します。

Connection settings 
You can choose how to connect to this data source. Import allows you to 
bring a copy of the data into Power BI. DirectQuery will connect live to this 
data source. 
Import 
DirectQuery

4. 接続が確立されると、Power Query Editorに結果データが返され、Power Queryでのロードや変換が可能になります。データがロードされると、レポートやビジュアライゼーションの準備が完了となります。

まとめ

Power BIを利用すると、チームで同じデータを使用しながら簡単にコラボレーションしたり、レポートを共同で作成したり、組織全体でインサイトを共有したりできるようになります。そのため、組織の誰も戦略的な行動を促進するデータドリブンな意思決定をすばやく下せるようになります。Snowflakeデータクラウドはカスタマー、パートナー、データプロバイダー、およびデータサービスプロバイダーをつなぐネットワークであり、通常は、実際のデータをプロバイダーと利用者との間でコピーまたは転送する必要もありません。これにより、日々増大するデータセットを。安全かつ統制された、コンプライアンス準拠かつシームレスな方法で迅速に共有し、価値を得ることができるようになります。Power BIとSnowflakeを活用することで、カスタマーはインサイトを生み出し、説得力のあるビジュアルを作成し、ビジネス上の意思決定を促進できます。