トレーニング
モジュール
Power Query を使用してデータを Dataverse に読み込む - Training
Power Query を使用してさまざまなソースのデータを Microsoft Dataverse テーブルに同期し、Power Apps でデータフローを作成する方法を学習します。
このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
Power Query で更新する場合、スムーズなユーザー エクスペリエンスを提供し、クエリを効率的かつ安全に実行するために、バックグラウンドで多くのことが行われます。 ただし、場合によっては、データが更新された際に Power Query によって複数のデータ ソース要求がトリガーされたことに気付くことがあります。 場合によっては、これらの要求が正常であることもありますが、それ以外の場合はそれらの要求を防止できます。
次のセクションでは、Power Query がデータ ソースに複数の要求を送信できる場合の、いくつかのインスタンスについて説明します。
コネクタは、メタデータ、結果のキャッシュ、改ページなど、さまざまな理由でデータ ソースへの複数の呼び出しを行うことができます。 この動作は正常であり、そのように動作するように設計されています。
複数のクエリがそのデータ ソースからプルされた場合、同じデータ ソースに対する複数の要求が発生する可能性があります。 これらの要求は、1 つのクエリのみがデータ ソースを参照している場合でも発生する可能性があります。 他の 1 つ以上のクエリがそのクエリを参照している場合は、各クエリとそれに依存するすべてのクエリが個別に評価されます。
デスクトップ環境では、データ モデル内のすべてのテーブルの 1 回の更新が、1 つの共有キャッシュを使用して実行されます。 キャッシュを使用すると、同じデータ ソースに対して複数の要求が発生する可能性を減らすことができます。これは、1 つのクエリが別のクエリに対して既に実行されていて、キャッシュされている場合があるためです。 ただし、ここでも、次の理由で複数の要求を取得することができます。
クラウド環境では、各クエリは独自の個別のキャッシュを使用して更新されます。 そのため、別のクエリに対して同じ要求が既にキャッシュされている場合、クエリのメリットを得られません。
Power Query のフォールディング レイヤーでは、ダウンストリームで実行される操作に基づいて、データ ソースに対して複数の要求を生成することができます。 このような場合は、Table.Buffer
を使用して複数の要求を回避できます。 詳細情報: テーブルのバッファー
Power BI Desktop では、Analysis Services (AS) は 2 つの評価を使用してデータを更新します。1 つは AS がゼロ行を要求することによって行うスキーマを取り込むためのもので、もう 1 つはデータを取り込むためのものです。 ゼロ行スキーマを計算するためにデータを取り込む必要がある場合、重複するデータ ソース要求が発生する可能性があります。
データのプライバシーでは、各クエリを独自に評価して、クエリをまとめて実行するのが安全かどうかを判断します。 この評価では、データ ソースに対して複数の要求が行われる場合があります。 特定の要求がデータ プライバシー分析からのものであることを示す明らかなサインは、"上位 1000" の状態になることです (ただし、すべてのデータ ソースがこのような状態をサポートしているわけではありません)。 一般に、それが許容できると仮定するデータ プライバシーを無効にすると、更新中の "上位 1000" またはその他のデータ プライバシー関連の要求が削除されます。 詳細情報: データ プライバシー ファイアウォールを無効にする
データ プライバシーを確保するために実行される評価と同様に、Power Query エディターでは、各クエリ手順の最初の 1000 行のプレビューが既定でダウンロードされます。 これらの行をダウンロードすると、手順が選択されるとすぐにデータ プレビューを表示できるようになりますが、重複したデータ ソース要求が発生する可能性もあります。 詳細情報: バックグラウンド分析を無効にする
さまざまな Power Query エディターのバックグラウンド タスクによって、追加のデータ ソース リクエストがトリガーされることもあります (たとえば、クエリ フォールディング分析、列プロファイリング、結果を Excel に読み込んだ後に Power Query がトリガーする 1000 行プレビューの自動更新など)。
クエリプロセスの特定の部分をオフにして、重複する要求の送信元を分離することで、複数のクエリのインスタンスを分離することができます。 たとえば、次のように開始するとします。
Table.Buffer
の実行この例では、Power Query エディターのプレビューを更新すると、1 つの M 評価のみが生成されます。 この時点で重複する要求が発生した場合、それらはクエリの作成方法に固有のものです。 それ以外の場合、上記の設定を 1 つずつ有効にすると、重複する要求がどの時点で発生しているかを確認できます。
以降のセクションで、これらの手順について詳しく説明します。
クエリを再接続または再作成する必要はありません。Power Query エディターでテストするクエリを開くだけです。 既存のクエリを使用しない場合は、エディターでクエリを複製することができます。
次の手順では、データ プライバシー ファイアウォールを無効にします。 この手順では、ソース間のデータ漏洩についての懸念がないことを前提としているため、データ プライバシー ファイアウォールの無効化は、Excel の [高速結合オプションの設定] で説明されている [常にプライバシー レベル設定を無視します] を使用して行うことができます。または、Power BI Desktop の [Power BI Desktop のプライバシーレベル] で説明されている [プライバシー レベルを無視すると、パフォーマンスが向上する場合があります] 設定を使用します。
通常のテストを再開する前に、この手順を元に戻してください。
次の手順では、バックグラウンド分析を無効にします。 バックグラウンド分析は、[Power BI の Power Query バックグラウンド更新の無効化] で説明されている [バックグランドでのデータ プレビューのダウンロードを許可する] 設定によって制御されます。 Excel でこのオプションを無効にすることもできます。
必要に応じて、Table.Buffer
を使用してすべてのデータを強制的に読み取ることもできます。これにより、読み込み中の処理が模倣されます。 Power Query エディターで Table.Buffer
を使用するには、次のようにします。
Power Query エディターの数式バーで、[fx] ボタンを選択して新しい手順を追加します。
数式バーで、前のステップの名前を Table.Buffer で囲みます (<前のステップ名はここに表示されます>)。 たとえば、前の手順の名前が Source
の場合、数式バーには = Source
と表示されます。 数式バーの手順を編集して = Table.Buffer(Source)
と呼びます。
詳細情報: Table.Buffer
テストを実行するには、Power Query エディターで更新を行います。
トレーニング
モジュール
Power Query を使用してデータを Dataverse に読み込む - Training
Power Query を使用してさまざまなソースのデータを Microsoft Dataverse テーブルに同期し、Power Apps でデータフローを作成する方法を学習します。
ドキュメント
Power Query を使用するときのベスト プラクティス - Power Query
Power Query を使用するときのベスト プラクティス
データ プライバシー ファイアウォールの舞台裏 - Power Query
データ プライバシー ファイアウォールの目的について説明します
詳細については、以下をご覧ください。Table.Buffer