ネイティブ データベース クエリを使用してデータベースからデータをインポートする

Power Query では、サポートされているさまざまなデータベースからデータを柔軟にインポートできます。 ネイティブ データベース クエリを実行できます。これを使用すると、Power Query インターフェイスを使用してクエリを構築するのにかかる時間を節約できます。 この機能は、既存の複雑なクエリを使用する場合 Power Query インターフェイスを使用して再構築しない場合、またはその方法がわからない場合に特に便利です。

Note

ネイティブ データベース クエリの目的の 1 つは副作用を発生させないことです。 ただし、Power Query では、クエリがデータベースに影響を与えないことは保証されません。 別のユーザーによって記述されたネイティブ データベース クエリを実行する場合は、自身の資格情報で評価されるクエリを認識していることを確認するメッセージが表示されます。 詳細については、「ネイティブ データベース クエリのセキュリティ」を参照してください。

Power Query では、データベースに接続するときに、[詳細オプション] の下にあるテキスト ボックスでネイティブ データベース クエリを指定できます。 次の例では、[SQL ステートメント] テキスト ボックスに入力したネイティブ データベース クエリを使用して、SQL Server データベースからデータをインポートします。 手順は、Power Query でサポートされているネイティブ データベース クエリを使用する他のすべてのデータベースにおいて同様です。

  1. Power Query を使用して SQL Server データベースに接続します。 コネクタの選択で [SQL Server データベース] オプションを選択します。

  2. [SQL Server データベース] ポップアップ ウィンドウで、以下を行います。

    1. ネイティブ データベース クエリを使用してインポートするデータが格納されている元のサーバーデータベースを指定します。

    2. [詳細オプション]"SQL ステートメント" フィールドを選択し、ネイティブ データベース クエリを貼り付けるか入力して、[OK] を選択します。

      ネイティブ データベース クエリを実行します。

  3. このサーバーに初めて接続する場合は、認証モードを選択してデータベースに接続するように求めるプロンプトが表示されます。 適切な認証モードを選択して続行します。

    Note

    データ ソース (サーバーとデータベースの両方) へのアクセス権がない場合は、サーバーとデータベースへのアクセスを要求するためのプロンプトが表示されます (Power BI でデータ ソースのアクセス要求情報が指定されている場合)。

  4. 接続が確立されると、結果データが Power Query エディターに返されます。

    必要に応じてデータを調整し、[適用して閉じる] を選択して変更を保存し、データをインポートします。

ネイティブ データベース クエリがサポートされているコネクタ

ネイティブ データベース クエリは、次の Power Query コネクタでサポートされています。

コネクタ ネイティブ データベース クエリの種類
Amazon Redshift SQL ステートメント
Azure Analysis Services データベース MDX または DAX クエリ
Azure Database for PostgreSQL SQL ステートメント
Azure Cosmos DB SQL ステートメント
Azure Synapse Analytics SQL ステートメント
Azure SQL データベース SQL ステートメント
DataWorld.Dataset dwSQL
Dataverse SQL ステートメント
Essbase MDX ステートメント
FHIR FHIR 検索
Google BigQuery SQL ステートメント
IBM Db2 データベース SQL ステートメント
IBM Informix データベース (ベータ) SQL ステートメント
MySQL データベース SQL ステートメント
ODBC SQL ステートメント
OLE DB SQL ステートメント
Oracle データベース SQL ステートメント
PostgreSQL SQL ステートメント
SAP HANA データベース SQL ステートメント
Snowflake SQL ステートメント
SQL Server Analysis Services データベース MDX または DAX クエリ
SQL Server データベース SQL ステートメント
TIBCO(R) データ仮想化 (ベータ版) SQL ステートメント
Vena (ベータ) モデル クエリ (MQL)

制限事項と問題

ネイティブ データベース クエリを使用する前に、制限事項と発生する可能性がある問題を認識しておく必要があります。

クエリ フォールディング

ネイティブ データベース クエリを使用する場合のクエリの折りたたみは、特定の数の Power Query コネクタのみに制限されます。 詳細については、「ネイティブ クエリでのクエリ フォールディング」を参照してください。

ネイティブ データベース クエリのセキュリティ

別のユーザーによって作成されたクエリ、または詳細エディターや数式バー。基本的にネイティブ クエリ入力ボックスが表示されているコネクタ ダイアログ外の他のパスでこれを使用しようとすると、以下のメッセージが表示されることがあります。

ネイティブ データベース クエリのメッセージ。

このメッセージが表示された場合は、[アクセス許可の編集] を選択します。 これを選択すると、[ネイティブ データベース クエリ] ダイアログ ボックスが開きます。 ネイティブ データベース クエリを実行したり、クエリを取り消したりすることができます。

ネイティブ データベース クエリの承認。

既定では、コネクタ ダイアログの外部でネイティブ データベース クエリを実行する場合、別のクエリ テキストを実行するたびに、実行されるクエリ テキストを承認するかどうかを確認するメッセージが表示されます。

Note

データ取得操作に挿入するネイティブ データベース クエリでは、クエリを実行するかどうかは確認されません。 これらは単純に実行されます。

ネイティブ データベース クエリが Power BI Desktop または Excel で実行される場合は、ネイティブ データベース クエリのセキュリティ メッセージをオフにできます。 セキュリティ メッセージをオフにするには、以下を行います。

  1. Power BI Desktop を使用している場合は、[ファイル] タブで [オプションと設定]>、[オプション] の順に選択します。

    Excel を使用している場合は、[データ] タブで [データの取得]>、[クエリ オプション] の順に選択します。

  2. [グローバル] 設定で [セキュリティ] を選択します。

  3. [新しいネイティブ データベース クエリには、ユーザーの承認が必要] をオフにします。

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

Power BI Desktop または Excel で特定のデータ ソースに対して以前に承認したネイティブ データベース クエリの承認を取り消すことができます。 承認を取り消すには、以下を行います。

  1. Power BI Desktop を使用している場合は、[ファイル] タブで [オプションと設定]>、[データ ソース設定] の順に選択します。

    Excel を使用している場合は、[データ] タブで [データの取得]>、[データ ソースの設定] の順に選択します。

  2. [データ ソース設定] ダイアログ ボックスで [グローバル アクセス許可] を選択します。 次に、承認を取り消すネイティブ データベース クエリを含むデータ ソースを選択します。

  3. アクセス許可の編集を選択します。

  4. [アクセス許可の編集] ダイアログボックスの [ネイティブ データベース クエリ] で、[承認の取り消し] を選択します。

    ネイティブ データベース クエリの承認を取り消します。