この記事では、Dataverse 接続を作成するステップについて説明します。
サポートされている認証の種類
Dataverse コネクタでは、コピーと Dataflow Gen2 のそれぞれについて、次の認証の種類がサポートされています。
| 認証の種類 | コピー | データフロー Gen2 |
|---|---|---|
| 組織アカウント | √ | √ |
| サービス プリンシパル | √ | √ |
Dataflow Gen2 の接続を設定する
Power Query コネクタを使用して、Dataflow Gen2 を Microsoft Fabric の Dataverse に接続できます。 接続を作成するには、次の手順に従います。
- 機能、制限事項、および考慮事項を確認して、シナリオがサポートされていることを確認します。
- Dataverse の前提条件を満たす。
- Fabric でデータを取得します。
- Dataverse 環境の URL を見つけます。
- Dataverse に接続します。
能力
- サーバー アドレス
- Import
- DirectQuery (Power BI セマンティック モデル)
- アドバンスド
- リレーションシップ列を含める
前提条件
Dataverse 環境が必要です。
テーブル内のデータにアクセスするには、読み取りアクセス許可が必要です。
Dataverse コネクタを使用するには、環境で [TDS エンドポイント] 設定を有効にする必要があります。 詳細情報: SQL を使用してデータを照会する機能設定の管理と接続の問題のトラブルシューティング
Dataverse コネクターを使用するには、TCP ポート 1433 または 5558 のいずれかを開いて接続する必要があります。 ポート 1433 が自動的に使用されます。 ただし、ポート 1433 がブロックされている場合は、代わりにポート 5558 を使用できます。 ポート 5558 を有効にするには、そのポート番号を Dataverse 環境 URL (yourenvironmentid.crm.dynamics.com, 5558 など) に追加する必要があります。 詳細: SQL Server閉じたポートによる接続の問題
注
Power BI Desktop を使用していて、ポート 5558 を使用する必要がある場合は、dataverse 環境 URL (yourenvironmentid.crm.dynamics.com,5558 などのソースを Power Query M に作成する必要があります。詳細: Dataverse 環境 URL の検索
データを取得する
Data Factory でデータを取得するには:
Data Factory の左側で [ワークスペース]を選択します。
データファクトリーのワークスペースで 新しい>データフローGen2 を選択して、新しいデータフローを作成します。
Power Query では、リボンの [データ の取得] を選択するか、現在のビューで別のソース からデータを取得 を選択します。
[データ ソース
選択] ページで、 検索 を使用してコネクタの名前を検索するか、[コネクタの右側にある [さらに を表示] を選択して、Power BI サービスで使用可能なすべてのコネクタの一覧を表示します。その他のコネクタを表示する場合でも、検索 を使用してコネクタの名前を検索することも、カテゴリを選択してそのカテゴリに関連付けられているコネクタの一覧を表示することもできます。
Dataverse 環境の URL を検索する
Dataverse に接続するためにポート 5558 を使用する必要がある場合は、Dataverse 環境の URL を見つける必要があります。
Power Apps を開きます。 Power Apps ページの右上で、接続先の環境を選択します。
を選択します。設定アイコンを選択し、[詳細設定] を選択します。
表示された新しいブラウザー タブで、URL のルートをコピーします。 このルート URL は、お使いの環境の一意な URL です。 URL は、https://<yourenvironmentid>.crm.dynamics.com/ という形式になります。 お使いの環境に接続するために URL を貼り付ける前に必ず、https:// と末尾の / を URL から削除してください。 環境 URL の末尾にポート 5558 を追加します (例: yourenvironmentid.crm.dyamics.com,5558)。
Dataverse への接続
Power Query Online から Dataverse に接続するには:
[データ ソースを選択] ページの [Dataverse] オプションを選択します。 より多くの情報: データの入手先
[データ ソースに接続] ページでは、サーバー URL アドレスは空欄のままにします。 アドレスを空欄のままにすると、[Power Query ナビゲーター] ウィンドウで使用可能なすべての環境が一覧表示されます。
注
ポート 5558 を使用してデータにアクセスする必要がある場合は、サーバー URL アドレスの末尾にポート 5558 が追加された特定の環境を読み込む必要があります。 この場合、正しいサーバー URL アドレスを取得する手順については、「Dataverse 環境の URL の検索」を参照してください。
オンプレミス データを使用する予定の場合は、必要に応じてオンプレミス データ ゲートウェイを入力します。 たとえば、Dataverse とオンプレミスの SQL Server データベースのデータを組み合わせる場合です。
組織アカウントにサインインします。
正常にサインインしたら、[ 次へ] を選択します。
ナビゲーション ページで、必要なデータを選択し、[データの変換] を選択します。
制限事項と考慮事項
Excel ホスト固有
Excel 内の Power Query Dataverse コネクタは現在、ソブリン クラウド クラスター (中国、ドイツ、米国など) をサポートしていません。
Dataverse のパフォーマンスと調整上の制限
Dataverse 接続のパフォーマンスと調整上の制限については、「要求の制限と割り当て」を参照してください。 これらの制限は、同じエンドポイントにアクセスする場合、Dataverse コネクタと OData フィード コネクタの両方に適用されます。
テーブル取得速度
目安として、ほとんどの既定のテーブルは、Dataverse コネクタを使用して 1 秒あたり約 500 行の速度で取得されます。 Dataverse に接続するか、それともデータ レイクにエクスポートするのかを決定する際は、この速度を考慮してください。 より高速な取得速度が必要な場合は、データ レイクへのエクスポート機能または表形式データ ストリーム (TDS) エンドポイントの使用を検討してください。 詳細については、「その他の Dataverse 接続」を参照してください。
代替の Dataverse 接続
Dataverse からデータを抽出および移行する方法は、他にもいくつかあります。
Power Apps の Azure Synapse Link 機能を使用して、Dataverse から Azure Data Lake Storage Gen2 にデータを抽出し、それを使用して分析を実行できます。 Azure Synapse Link 機能の詳細については、「 Dataverse 用 Azure Synapse Link とは」を参照してください。
OData コネクタを使用して、Dataverse との間でデータを移動します。 データフロー OData コネクタを使用して Dataverse 環境間でデータを移行する方法の詳細については、「データフロー OData コネクタを 使用して Dataverse 環境間でデータを移行する」を参照してください。
注
Dataverse コネクタと OData API はどちらも、データ ボリュームが比較的小さい分析シナリオに対応するためのものです。 一括データ抽出の推奨される方法は、"Azure Synapse Link" です。
SQL Serverの接続問題は閉じたポートが原因で発生しています
Dataverse コネクタを使用して接続すると、SQL Serverへの接続の確立中にネットワークまたはインスタンス固有のエラーが発生したことを示す Unable to connect エラーが発生する可能性があります。 このエラーは、接続中に TCP ポート 1433 または 5558 がブロックされていることが原因である場合があります。 ブロックされているポートに関するエラーを解決するには、「ブロックされたポート」を参照してください。
Dataverse でのネイティブ データベース クエリの使用
カスタム SQL ステートメントまたはネイティブ データベース クエリを使用して Dataverse に接続できます。 このエクスペリエンスのユーザー インターフェイスはありませんが、Power Query Advanced Editorを使用してクエリを入力できます。 ネイティブ データベース クエリを使用するには、[データベース] を [ソース] として指定する必要があります。
Source = CommonDataService.Database([DATABASE URL])
データベース ソースが定義されたら、Value.NativeQuery 関数を使用してネイティブ クエリを指定できます。
myQuery = Value.NativeQuery(Source, [QUERY], null, [EnableFolding=true])
要するに、クエリは次のようになります。
let
Source = CommonDataService.Database("[DATABASE]"),
myQuery = Value.NativeQuery(Source, "[QUERY]", null, [EnableFolding=true])
in
myQuery
列名のスペルを間違えると、列が見つからないのではなく、クエリの折りたたみに関するエラー メッセージが表示されることがあります。
大量の Dataverse データへのアクセス
Dataverse テーブルに対するクエリでは、大量のデータが返される可能性があります。 Power Query Dataverse コネクタを使用している場合、モデルにアクセスする特定のクエリには、データのサイズに関係なく、固定 5 分のタイムアウトがあります。 詳細については、「制限」を参照してください。 そのため、モデル内のすべてのデータにアクセスするには、データのクエリを複数回行う必要がある場合があります。 複数のクエリを使用すると、すべてのデータが返されるまでにかなりの時間がかかる場合があります。
Common Data Service (レガシ) コネクタを使用している場合は、1 つのクエリを使用してすべてのデータにアクセスできます。 このコネクタは異なる方法で動作し、結果を 5K レコードの "ページ" として返します。 Common Data Service (レガシー) コネクターは大量のデータを返す方が効率的ですが、結果を返すにはかなりの時間がかかる場合があります。
これらのコネクタを使用して大量の Dataverse データにアクセスする代わりに、Azure Synapse Link を使用して大規模なモデルにアクセスすることをお勧めします。 Azure Synapse Link の使用は、Power Query Dataverse コネクタまたは Common Data Service (レガシ) コネクタよりもさらに効率的であり、特にデータ統合シナリオを中心に設計されています。
リレーションシップ列関連のパフォーマンスの問題
プレビュー エラーは、Dataverse で ナビゲーション プロパティ 機能が有効になっている場合に、既知の制限が原因で発生する可能性があります。
次のようなメッセージが表示されます。 Preview.Error: The type of the current preview value is too complex to display.
この問題を解決するには、SQL Server コネクタと同様に、Dataverse コネクタのナビゲーション プロパティ (リレーションシップ列) を無効にしてパフォーマンスを向上させるオプションがあります。 このオプションは、Power Query Online で使用できる advanced オプションで設定することも、Dataverse コネクタ関数の CreateNavigationProperties=false パラメーターを使用して設定することもできます。
Source = CommonDataService.Database("{crminstance}.crm.dynamics.com",[CreateNavigationProperties=false]),