次の方法で共有


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

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

手記

ネイティブ データベース クエリの 1 つの目的は、非副作用になることです。 ただし、Power Query では、クエリがデータベースに影響を与えないという保証はありません。 別のユーザーによって書き込まれたネイティブ データベース クエリを実行する場合は、資格情報で評価されるクエリを確実に認識するように求められます。 詳細については、 ネイティブ データベース クエリのセキュリティに関する情報を参照してください。

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

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

  2. SQL Server データベースの ポップアップ ウィンドウで、次の操作を行います。

    1. ネイティブ データベース クエリを使用してデータをインポートするサーバーとデータベースを指定します。

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

      ネイティブ データベース クエリを含む SQL Server データベース ダイアログのスクリーンショット。

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

    手記

    データ ソース (サーバーとデータベースの両方) にアクセスできない場合は、サーバーとデータベースへのアクセスを要求するプロンプトが表示されます (データ ソースの 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 ビッグクエリ(Google BigQuery) SQL ステートメント
IBM Db2 データベース SQL ステートメント
IBM Informix データベース (ベータ) SQL ステートメント
MySQL データベース SQL ステートメント
ODBC SQL ステートメント
OLE DB (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)

制限事項と問題

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

データ定義言語 (DDL) 操作

Power Query では、データ ソースに対するデータ定義言語 (DDL) 操作の実行は サポートされていません 。 このような操作の例としては、"DROP TABLE"、"CREATE TABLE"、"ALTER TABLE" があります。 このようなコマンドを使用しようとすると、複数のエラーやエラーが発生する可能性があります。

クエリフォールディング

ネイティブ データベース クエリの使用中のクエリ フォールディングは、一部の Power Query コネクタのみに制限されます。 詳細については、「ネイティブ クエリの クエリ フォールディング」を参照してください。

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

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

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

このメッセージが表示された場合は、[ アクセス許可の編集] を選択します。 この選択により、[ ネイティブ データベース クエリ ] ダイアログが開きます。 ネイティブ データベース クエリを実行するか、クエリをキャンセルする機会が与えられます。

ネイティブ クエリの実行を承認するネイティブ データベース クエリ ダイアログのスクリーンショット。

既定では、コネクタ ダイアログの外部でネイティブ データベース クエリを実行すると、異なるクエリ テキストを実行するたびにプロンプトが表示されます。 このプロンプトにより、実行するクエリ テキストがユーザーによって承認されます。

手記

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

ネイティブ データベース クエリが 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. [ 権限の編集 ] ダイアログの [ ネイティブ データベース クエリ] で、[ 承認の取り消し] を選択します。

    承認の取り消しが強調されている [アクセス許可の編集] ダイアログのスクリーンショット。