次の方法で共有


Snowflake

まとめ

項目 説明
リリース状態 一般提供
製品 Power BI (セマンティック モデル)
Power BI (データフロー)
ファブリック (データフロー Gen2)
Power Apps (データフロー)
サポートされている認証の種類 Snowflake (ユーザー名/パスワード)、Microsoft アカウント (Microsoft Entra ID)、キー ペア認証
関数リファレンス ドキュメント

Snowflake コネクタ実装 2.0 は、2025 年 7 月から一般提供されています。 この機能についての詳細をご覧ください。

パスフレーズ入力フィールドは、アップロードされた証明書の種類に基づいて、必要な場合にのみ自動的に表示されます。 ユーザーが証明書をアップロードすると、システムは証明書が暗号化されているか暗号化されていないかを検出し、パスフレーズ ダイアログを条件付きで表示します。 暗号化されたキーと暗号化されていないキーの両方がサポートされています。

一部の機能は 1 つの製品に存在する可能性がありますが、展開スケジュールとホスト固有の機能のため、他の製品には存在しない場合があります。

ユーザー名/パスワード認証モードは Snowflake によって非推奨になります ( 詳細については、こちらを参照してください)。 詳細については、 Fabric ロードマップの接続に関するページを参照してください。

キー ペア認証はデータフロー Gen1 ではサポートされていないため、今後変更する予定はありません。

サポートされる機能

  • インポート
  • DirectQuery (Power BI セマンティック モデル)
  • 高度なオプション
    • ロール名として使用するテキスト値を指定する
    • リレーションシップ列
    • 接続タイムアウト (秒)
    • コマンド タイムアウト (秒)
    • データベース
    • ネイティブ SQL ステートメント

Power Query Desktop から Snowflake データウェアハウスに接続する

2025 年 3 月バージョンの Power BI Desktop 以降、 Snowflake コネクタの実装 2.0 オプションは既定で有効になっています。

Snowflake コンピューティング ウェアハウスに接続するには、次の手順を行います。

  1. Power BI Desktop の [ホーム] リボンから [データの取得] を選択し、左側のカテゴリから [データベース] を選択し、[Snowflake] を選択してから、[接続] を選択します。

    Snowflake データベースの選択を示す [データの取得] ダイアログのスクリーンショット。

  2. 表示される [Snowflake] ウィンドウで、[サーバー] に Snowflake サーバーの名前を入力し、[ウェアハウス] に Snowflake コンピューティング ウェアハウスの名前を入力します。

    [インポート] ラジオ ボタンが選択されている Snowflake ダイアログのスクリーンショット。

  3. 必要に応じて、接続クエリを変更するのに使用する詳細オプションに値 (ロール名やコマンド タイムアウトとして使用するテキスト値など) を入力します。 詳細については、「 詳細オプションを使用した接続」を参照してください。

  4. [OK] を選択します。

  5. 使用する Snowflake コンピューティング ウェアハウスにサインインするには、自分のユーザー名とパスワードを入力して、[接続] を選択します。

    [ユーザー名] フィールドと [パスワード] フィールドが表示されている Snowflake 資格情報プロンプトのスクリーンショット。

    特定の Snowflakeサーバーのユーザー名とパスワードを入力すると、Power BI Desktop はその後の接続試行で同じ資格情報を使用します。 これらの資格情報を変更するには、[ファイル] > [オプションと設定] > [データ ソース設定] に移動します。 詳細については、「 認証方法の変更」を参照してください。

    Microsoft アカウント オプションを使う場合、Snowflake 側で Snowflake Microsoft Entra ID 統合を構成する必要があります。 詳細については、「 Power BI SSO to Snowflake - 概要」を参照してください。

  6. ナビゲーター で、Power BI Desktop にインポートして使用する 1 つまたは複数の要素を選択します。 次に、[ 読み込んで Power BI Desktop にテーブルを読み込む] を選択するか、[ データの変換 ] を選択して Power Query エディターを開きます。ここで、使用するデータのセットをフィルター処理して絞り込み、その絞り込んだデータ セットを Power BI Desktop に読み込むことができます。

    テスト スキーマ データベースが開き、DimProduct テーブルが選択されているナビゲーターのスクリーンショット。

  7. [インポート] を選択して Power BI にデータを直接インポートするか、DirectQuery を選択してから OK を選択します。 詳細については、「 Power BI Desktop で DirectQuery を使用する」を参照してください。

    Microsoft Entra ID シングル サインオン (SSO) では、DirectQuery のみがサポートされます。

    [インポート] と [DirectQuery] の選択が含まれている [接続設定] のスクリーンショット。

Power Query Online から Snowflake データベースに接続する

接続するには、次の手順を実行します。

  1. コネクタの選択で [Snowflake] オプションを選択します。

  2. 表示される [Snowflake] ダイアログで、サーバーとウェアハウスの名前を入力します。

    Power Query Online の Snowflake 接続ビルダーのスクリーンショット。

  3. 使用する詳細オプションに任意の値を入力します。 UI に表示されていない詳細オプションがある場合は、後で Power Query の [詳細エディター] で編集することができます。

  4. 新しい接続の選択または作成、使用するゲートウェイ、ユーザー名とパスワードなどの接続資格情報を入力します。

  5. [次へ] を選択して、データベースに接続します。

  6. [ナビゲーター] で、必要とするデータを選択してから、 [データの変換] を選択して、Power Query エディターでデータを変換します。

    テスト スキーマ データベースが開き、DimProduct テーブルが選択されているオンライン ナビゲーターのスクリーンショット。

詳細オプションを使用して接続する

Power Query では、必要に応じてクエリに追加できる詳細オプションのセットが用意されています。

次の表に、Power Query で設定できるすべての詳細オプションを示します。

詳細オプション 説明
ロール名 ドライバーを介してレポートで使用するロールを指定します。 このロールは、ユーザーが使用できる必要があります。 それ以外の場合、ロールは設定されません。
リレーションシップ列を含める オンにした場合は、他のテーブルとのリレーションシップがある列が含められます。 このボックスがオフの場合、これらの列は表示されません。
接続タイムアウト (秒) Snowflake サービスとやりとりする場合に応答を待機する時間を指定します。この時間が経過すると、エラーが返されます。 既定値は 0 (タイムアウトなし) です。
コマンド タイムアウト (秒) クエリが完了するまで待機する時間を指定します。この時間を経過すると、エラーが返されます。 既定値は 0 (タイムアウトなし) です。
データベース ウェアハウス内の特定のデータベースを指定します。 このオプションは Power Query Desktop でのみ使用できます。
SQL ステートメント 詳細については、「ネイティブ データベース クエリを使用してデータベースからデータをインポートする」を参照してください。 このオプションは Power Query Desktop でのみ使用できます。

必要な詳細オプションを選択したら、Power Query Desktop で [OK] を選択するか、Power Query Online で [次へ] を選択して Snowflake データベースに接続します。

Snowflake コネクタの実装 2.0

2025 年 1 月に、Snowflake コネクタの新しい実装を導入し、Snowflake との統合を強化しました。 このコネクタは、2025 年 7 月から一般公開されています。 最新の機能を利用するには、Power BI Desktop とオンプレミス データ ゲートウェイを最新バージョンにアップグレードすることをお勧めします。 引き続きコネクタの改善に役立つフィードバックをお寄せください

Snowflake コネクタ実装 2.0 は、オープンソースの Arrow Database Connectivity (ADBC) ドライバーを使用して構築されています。 ADBC には、方向データを操作するための一連の標準インターフェイスが用意されています。これは、オーバーヘッドを最小限に抑え、シリアル化やコピーなしで大規模なデータセットをフェッチする場合に特に効率的です。 ADBC ドライバーには、メモリの安全性やガベージ コレクションなどのセキュリティ強化も組み込まれています。 さらに、オープンソース コミュニティとのコラボレーションにより、最新のツールとセキュリティで保護された開発ライフサイクル (SDL) プロセスを利用して、より迅速な更新が可能になります。

これらのパフォーマンスとセキュリティの強化を利用できるように、2025 年 7 月以降、Desktop で新しく作成されたすべての接続で 2.0 実装が自動的に使用されます。 次のように、既存のクエリを更新し、Implementation="2.0"Snowflake.Databases フラグを追加することで、2.0 の実装をテストすることもできます。

Source = Snowflake.Databases("contoso.snowflakecomputing.com", "CONTOSO_WH", [Implementation="2.0"])

潜在的な問題の診断を支援するために、次の例のように、Mashup ログで ImplementationDriverType の詳細を見つけることができます。 移行中に問題が発生した場合は、サポートにお問い合わせください。 一方で、問題が解決されるまで自己で対策を講じるため、Implementation="2.0" を削除して ODBC コネクタを使用し続けることで、ビジネスの中断を回避できます。

{
   "Start":"2024-11-02T00:14:02.7968686Z",
   "Action":"Engine/Module/Snowflake/IO/Snowflake/Implementation",
   "ResourceKind":"Snowflake",
   "ResourcePath":"powerbi.snowflakecomputing.com ;DEMO_WH",
   "HostProcessId":"29200",
   "Implementation":"2.0",
   "DriverType":"ADBC",
   "ProductVersion":"2.139.0.0 (Main)+eda56ecd858054173a4d11db9c63a6da5cf92a99",
   "ActivityId":"106f16b6-cfbb-4853-9f20-ed45486486d2",
   "Process":"Microsoft.Mashup.Container.NetFX45",
   "Pid":38560,
   "Tid":1,
   "Duration":"00:00:00.0000291"
}

2025 年 7 月のリリース以降、次のオプションを使用できます。

  • UseHighPrecision: Snowflake NUMBER(38,0) フィールドの処理方法の精度を制御します。 値が指定されていない場合、コネクタは SHOW PARAMETERS LIKE 'ODBC_TREAT_DECIMAL_AS_INT' クエリを使用して Snowflake に対してクエリを実行します。 値が設定されていない場合、コネクタは列で指定されたスケールを使用します。 true値は、NUMBER(38,0) を Decimal 型として扱います。 false値は、NUMBER(38,0) を Int64 型として扱います。 スケールが 0 より大きい場合、列は Double 型と見なされます。
  • DateTimePrecision: Snowflake Timestamp 値の処理方法の精度を制御します。 Snowflake は通常、ナノ秒精度のタイムスタンプ値を格納します。 ADBC では、Snowflake によると、精度が高いため、1677 年より前または 2262 年より後の日付ではオーバーフロー例外が発生する可能性があります。 このオプションの有効な値は 、nullnanoseconds、または microsecondsです。 null 値は、既定でnanosecondsを使用します。 1677 より前または 2262 より後の日付が必要なユーザーは、 microseconds 設定を使用することをお勧めします。 ユーザーが 1677 より前または 2262 以降の 1,000 万位まで精度を維持する必要がある場合は、ODBC ドライバーを使用することをお勧めします。

Snowflake に接続するためにプロキシを使用する必要がある場合は、 プロキシ設定の手順を参照してください。 ドライバーは、プロキシ設定に環境変数を使用します。

次の表に、過去のバージョンでリリースされたコネクタ拡張機能の概要を示します。

リリース コネクタの改善
2025 年 7 月 • ブール列はブール型を返し、空のレコード セット スキーマ (メタデータを含む) でブール型が文字列型として扱われる問題を修正しました。
• タイムスタンプの最大有効桁数をマイクロ秒に設定する新しい設定。
• 期間のサポートが向上しました。
• ADBC にナビゲーション プロパティのサポートを追加しました。
• ADBC ドライバーのトレースが改善されました。ここで、"ActivityId" をドライバーレイヤーを介してトレースできるようになりました。
2025 年 4 月 • Snowflake クエリ タグのサポートを追加しました。 例として次に示します。 {"PowerQuery":true,"Host":"PBI_SemanticModel_MWC","HostContext":"PowerBIPremium-DirectQuery"}
2025 年 3 月 • Snowflake からデータを取得するときのパフォーマンスが向上しました。
• 新しく作成された接続で新しいコネクタの実装が自動的に使用されるように、Power BI Desktop で既定で有効になっています。
• 3月の最新リリース以来の表示されない問題を修正しました。
2025 年 2 月 • メタデータ呼び出しの数を減らすことでパフォーマンスが向上します。
• 大きな結果セットの重複値の問題を解決しました。

オンプレミス データ ゲートウェイを使用する場合、サポートされる最小バージョンは 2025 年 1 月であることに注意してください。 最新バージョンと最新の機能を使用することをお勧めします。

この機能は、64 ビット バージョンの Power BI Desktop でサポートされており、32 ビット バージョンでは機能しません。

トラブルシューティング

エラー: SQL コンパイル エラー: オブジェクトが存在しないか、操作を実行できません

このエラーは、指定されたオブジェクトがシステムで見つからない場合に発生します。 多くの場合、このエラーは、ユーザーが無効なデータベース名を既定のデータベースとして設定していることが原因です。

プロパティ DEFAULT_NAMESPACE に有効な既定のデータベース名が使用されていることを確認します: DESC USERusername

既定のデータベース名を更新するには: alter userusername set DEFAULT_NAMESPACE=<database name>.<schema name>。 詳細については、 Snowflake のドキュメントを参照してください

制限事項と既知の問題

Snowflake コネクタ実装 2.0 の既知の問題

現在、 Snowflake コネクタの実装 2.0 には、次の既知の問題があります。 修正に向けた作業が進行中です。修正がリリースされるとドキュメントが更新されます。

  • count distinct ロジックを使用した Snowflake クエリでは、正しくない結果が返されます。
  • リレーションシップを作成するときに、エラー Object reference not set to an instance of an objectが発生します。 ポップアップ ウィンドウを取り消しても、リレーションシップは引き続き定義できます。
  • メモリ使用量の増加。 通常、 Implementation="2.0"を使用すると全体的な読み込み時間が速くなりますが、メモリ消費量も高くなる可能性があり、場合によっては、次のような問題が発生する可能性があります。 Resource Governing: This operation was canceled because there wasn't enough memory to finish running it. Either reduce the memory footprint of your dataset by doing things such as limiting the amount of imported data, or if using Power BI Premium, increase the memory of the Premium capacity where this dataset is hosted.

解決済みの問題

データベース名のハイフン

データベース名にハイフンが含まれている場合、ODBC: ERROR[42000] SQL compilation error が表示されることがあります。 この問題は、2024 年 9 月のリリースで対処されています。

ブール データ型のスライサー ビジュアル

ブール データ型のスライサー ビジュアルは、2024 年 6 月のリリースで正常に機能していません。 この非機能性は既知の問題です。 一時的なソリューションとして、[転送] - [> データ型] - [> テキスト] に移動することで、ユーザーはレポートのブール データ型をテキストに変換できます。 修正プログラムは、2024 年 10 月のリリースで提供されます。

Implementation="2.0" でビューが表示されない

Power BI Desktop の 2025 年 3 月リリースの一部のバージョンでは、 Snowflake コネクタ実装 2.0 (Implementation="2.0") を使用するとビューが表示されないという問題が発生する可能性があります。 この問題は、Power BI Desktop の最新の 2025 年 3 月リリース以降に修正されています。 もう一度試すには、インストールをアップグレードします。

TIMESTAMP_NTZ値は、Implementation="2.0" の UTC です

TIMESTAMP_LTZ型はローカル タイム ゾーンに変換されませんが、 Snowflake コネクタ実装 2.0 (Implementation="2.0") を使用すると UTC 値が返されます。 たとえば、Snowflake から SELECT CURRENT_TIMESTAMP すると、ユーザーのローカル タイム ゾーンではなく UTC 時刻が返されます。 この問題は、2025 年 7 月のリリースで解決されます。

Implementation="2.0" を使用した場合、インデックスが配列の境界外にありました

一部のシナリオでは、Index was outside the bounds of the array () を使用するときに、Implementation="2.0"を示すエラーがスローされることがあります。 この問題は、2025 年 6 月のリリースで解決されます。