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 に接続する
[データを取得] から [Dataverse] オプションを選択します。 詳細情報: 「データを取得する場所」
このサイトに初めて接続する場合は、[サイン イン ] を選択して 資格情報を入力します。 次に、 [接続](Connect) を選択します。
[ナビゲーター] で、必要なデータを選択し、データを読み込むか変換します。
Power BI Desktop から Power Query を使用する場合、[インポート] または[DirectQuery] データ接続モードのいずれかを選択するように求められます。 [OK] をクリックします。
Power Query Online から Dataverse への接続
Power Query Online から Dataverse に接続するには、次の操作を行います。
[データ ソースを選択] ページの [Dataverse] オプションを選択します。 詳細情報: 「データを取得する場所」
[データ ソースに接続] ページでは、サーバー URL アドレスは空欄のままにします。 アドレスを空欄のままにすると、[Power Query Navigator] ウィンドウで使用するアクセス許可を持っている使用可能なすべての環境が一覧表示されます。
Note
ポート 5558 を使用してデータにアクセスする必要がある場合は、サーバー URL アドレスの末尾にポート 5558 が追加された特定の環境を読み込む必要があります。 この場合、正しいサーバー URL アドレスを取得する手順については、「Dataverse 環境の URL の検索」を参照してください。
オンプレミス データを使用する予定の場合は、必要に応じてオンプレミス データ ゲートウェイを入力します。 たとえば、Dataverse からのデータとオンプレミスの SQL Server データベースを組み合わせる場合です。
組織アカウントにサインインします。
正常にサインインしたら、[次へ] を選択します。
ナビゲーション ページで、必要なデータを選択し、[データの変換] を選択します。
詳細オプションを使用して接続する
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)。
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 (レガシ) コネクタは非推奨になります。
制限事項と問題
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 コネクタを使用する Microsoft 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 コネクタを使用している場合、モデルにアクセスする特定のクエリには、データのサイズに関係なく、固定で 5 分のタイムアウトが設定されています。 詳細については、「制限」を参照してください。 そのため、モデル内のすべてのデータにアクセスするには、データのクエリを複数回行う必要がある場合があります。 複数のクエリを使用すると、すべてのデータが返されるまでにかなりの時間がかかる場合があります。
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]),