Dataverse

まとめ

項目 説明
リリース状態 一般提供
製品 Excel
Power BI (セマンティック モデル)
Power BI (データフロー)
ファブリック (データフロー Gen2)
Power Apps (データフロー)
Dynamics 365 Customer Insights
認証のタイプ Organizational account
サービス プリンシパル

Note

オンプレミス データ ゲートウェイまたは仮想ネットワーク (VNet) データ ゲートウェイを使用する際には、サービス プリンシパル認証のタイプはサポートされません。

Note

デプロイ スケジュールにより、またホスト固有の機能があることにより、ある製品に存在する機能が他の製品にはない場合があります。

前提条件

Dataverse 環境が必要です。

テーブル内のデータにアクセスするには、読み取りアクセス許可が必要です。

Dataverse コネクタを使用するには、環境で [TDS エンドポイント] 設定を有効にする必要があります。 詳細情報: 機能設定の管理

Dataverse コネクターを使用するには、TCP ポート 1433 または 5558 のいずれかを開いて接続する必要があります。 ポート 1433 が自動的に使用されます。 ただし、ポート 1433 がブロックされている場合は、代わりにポート 5558 を使用できます。 ポート 5558 を有効にするには、そのポート番号を Dataverse 環境 URL (yourenvironmentid.crm.dynamics.com, 5558 など) に追加する必要があります。 詳細情報: 閉じたポートが原因の SQL Server 接続の問題

Note

Power BI Desktop を使用していて、ポート 5558 を使用する必要がある場合は、Power Query M で Dataverse 環境 URL (yourenvironmentid.crm.dynamics.com,5558 など) を使用してソースを作成する必要があります。詳しくは、「Dataverse 環境 URL を見つける」をご覧ください。

サポートされる機能

  • サーバー URL
  • インポート
  • DirectQuery (Power BI セマンティック モデル)
  • 詳細
    • リレーションシップ列を含める

Power Query Desktop から Dataverse に接続する

Note

Power Query Dataverse コネクタは通常、一括データ抽出よりも分析ワークロードに適しています。 詳細情報: その他の Dataverse 接続

Power Query Desktop から Dataverse に接続する

  1. [データを取得] から [Dataverse] オプションを選択します。 詳細情報: 「データを取得する場所」

  2. このサイトに初めて接続する場合は、[サイン イン ] を選択して 資格情報を入力します。 次に、 [接続](Connect) を選択します。

    このサイトにサインインします。

  3. [ナビゲーター] で、必要なデータを選択し、データを読み込むか変換します。

    ナビゲーターからの読み込みまたは変換。

  4. Power BI Desktop から Power Query を使用する場合、[インポート] または[DirectQuery] データ接続モードのいずれかを選択するように求められます。 [OK] をクリックします。

    [インポート] が選択され、DirectQuery が選択されていない Power BI Desktop 接続設定のスクリーンショット。

Power Query Online から Dataverse への接続

Power Query Online から Dataverse に接続するには、次の操作を行います。

  1. [データ ソースを選択] ページの [Dataverse] オプションを選択します。 詳細情報: 「データを取得する場所」

  2. [データ ソースに接続] ページでは、サーバー URL アドレスは空欄のままにします。 アドレスを空欄のままにすると、[Power Query Navigator] ウィンドウで使用するアクセス許可を持っている使用可能なすべての環境が一覧表示されます。

    サーバー URL を入力します。

    Note

    ポート 5558 を使用してデータにアクセスする必要がある場合は、サーバー URL アドレスの末尾にポート 5558 が追加された特定の環境を読み込む必要があります。 この場合、正しいサーバー URL アドレスを取得する手順については、「Dataverse 環境の URL の検索」を参照してください。

  3. オンプレミス データを使用する予定の場合は、必要に応じてオンプレミス データ ゲートウェイを入力します。 たとえば、Dataverse からのデータとオンプレミスの SQL Server データベースを組み合わせる場合です。

  4. 組織アカウントにサインインします。

  5. 正常にサインインしたら、[次へ] を選択します。

  6. ナビゲーション ページで、必要なデータを選択し、[データの変換] を選択します。

    ナビゲーション ページが開き、アプリケーション ユーザー データが選択されています。

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

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

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

詳細オプション 説明
リレーションシップ列を含める オンにした場合は、他のテーブルとのリレーションシップがある列が含められます。 このボックスをオフにすると、それらの列は表示できなくなります。 詳細については、「リレーションシップ列関連のパフォーマンスの問題」を参照してください。

必要な詳細オプションを選択したら、[次へ] を選択して Dataverse に接続します。

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 環境 URL の場所。

Common Data Service (レガシ) コネクタを使用する場合

Dataverse は、Common Data Service コネクタを直接置き換えるものです。 ただし、Dataverse コネクターの代わりに、Common Data Service (レガシー) コネクターを選択しなければならないケースがあります。

Dataverseでサポートされていない、Common Data Service (レガシー) を使用する場合は、OData でサポートされている特定の Tabular Data Stream (TDS) 型があります。 サポートされている型とサポートされていないデータ型は、「Dataverse SQL と Transact-SQLの違い」に記載されています。

これらの機能はすべて、今後 Dataverse コネクタに追加される予定であり、その時点で Common Data Service (レガシ) コネクタは非推奨になります。

詳細: 大規模なセマンティック モデルへのアクセス

制限事項と問題

Dataverse のパフォーマンスと調整上の制限

Dataverse 接続のパフォーマンスと調整上の制限については、「要求の制限と割り当て」を参照してください。 これらの制限は、同じエンドポイントにアクセスする場合、Dataverse コネクタと OData フィード コネクタの両方に適用されます。

テーブル取得速度

目安として、ほとんどの既定のテーブルは、Dataverse コネクタを使用して 1 秒あたり約 500 行の速度で取得されます。 Dataverse に接続するか、それともデータ レイクにエクスポートするのかを決定する際は、この速度を考慮してください。 より高速な取得速度が必要な場合は、データ レイクへのエクスポート機能または表形式データ ストリーム (TDS) エンドポイントの使用を検討してください。 詳細については、「その他の Dataverse 接続」を参照してください。

その他の Dataverse 接続

Dataverse からデータを抽出および移行する方法は、他にもいくつかあります。

Note

Dataverse コネクタと OData API はどちらも、データの量がそれほど多くない分析シナリオに適しています。 一括データ抽出の推奨方法は、"Azure Synapse Link" です。

閉じたポートが原因の SQL Server 接続の問題

Dataverse コネクタを使用して接続するときに "接続できません" エラーが発生する場合があります。これは、SQL Server への接続を確立中にネットワーク エラーまたはインスタンス固有のエラーが発生したことを示しています。 このエラーは、接続中に TCP ポート 1433 または 5558 がブロックされていることが原因である場合があります。 ブロックされているポートに関するエラーを解決するには、「ブロックされたポート」を参照してください。

Dataverse でのネイティブ データベース クエリの使用

カスタム SQL ステートメントまたはネイティブ データベース クエリを使用して Dataverse に接続できます。 このエクスペリエンスのためのユーザー インターフェイスはありませんが、Power Query の詳細エディターを使用してクエリを入力できます。 ネイティブ データベース クエリを使用するには、[データベース] を [ソース] として指定する必要があります。

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 に含まれる Power BI セマンティック モデルは非常に大規模な場合があります。 Power Query Dataverse コネクターを使用している場合は、モデルにアクセスする特定のクエリが 80 MB 未満のデータを返す必要があります。 そのため、モデル内のすべてのデータにアクセスするには、データのクエリを複数回行う必要がある場合があります。 複数のクエリを使用すると、すべてのデータが返されるまでにかなりの時間がかかる場合があります。

Common Data Service (レガシー) コネクターを使用している場合は、1 つのクエリを使用してセマンティック モデル内のすべてのデータにアクセスできます。 このコネクターは動作が異なり、結果は 5000 レコードある "ページ" を返します。 Common Data Service (レガシー) コネクターは大量のデータを返す方が効率的ですが、結果を返すにはかなりの時間がかかる場合があります。

これらのコネクターを使用して大規模なセマンティック モデルにアクセスする代わりに、Azure Synapse Link を使用して大規模なモデルにアクセスすることをお勧めします。 Azure Synapse Link の使用は、Power Query Dataverse コネクターまたは Common Data Service (レガシー) コネクターよりも効率的であり、特にデータ統合シナリオを中心に設計されています。

SQL Server コネクターと同様に、Dataverse コネクターのナビゲーション プロパティ (リレーションシップ列) を無効にしてパフォーマンスを向上させるオプションがあります。 このオプションは、Power Query Online で使用できる詳細オプションで設定することも、Dataverse コネクター関数の CreateNavigationProperties=false パラメーターを使用して設定することもできます。

 Source = CommonDataService.Database("{crminstance}.crm.dynamics.com",[CreateNavigationProperties=false]),