Microsoft Dataverse への接続
Dataverse でビジネス データを安全に格納し、Power Apps で機能豊富なアプリを構築して、ユーザーがそのデータを管理できるようにします。 Power Automate、Power BI、および Dynamics 365 からのデータを含むソリューションにそのデータを統合することもできます。
既定では、アプリは Dataverse テーブルの現在の環境に接続します。 アプリが別の環境に移動すると、コネクタは新しい環境のデータに接続します。 この動作は、単一環境を使用するアプリ、または開発からテスト、運用環境に移行するアプリケーション ライフサイクル管理 (ALM) プロセスに従うアプリに適しています。
Dataverse からデータを追加する際は、環境を変更してから、1 つ以上のテーブルを選択できます。 既定では、 アプリは、現在の環境でのデータに接続します。
環境の変更を選択した場合、現在の環境の代わりに、または現在の環境に加えて、別の環境を指定してデータをプルすることができます。
テーブルリストの下に、選択した環境の名前が表示されます。
視認性とアクセス
環境の変更を選択すると、環境のリストが表示されます。 リストに環境が表示されていても、その環境でで実行できる操作は、その環境のセキュリティ ロールによって異なります。 たとえば、読み取り権限がない場合、環境内のテーブルやレコードを見ることはできません。
注意
アプリ デザイナーの外側のアプリの詳細ペインにリストされる接続には、ユーザーの同意が必要な接続が表示されます。 アプリで使用されるネイティブ Dataverse 接続には追加の同意は必要ないため、ネイティブ接続はそのリストには含まれません。
Power Apps データ型のマッピング
Microsoft Dataverse コネクタは、Dynamics 365 Connector よりも堅牢で、機能パリティに近づいています。 次の表は、Power Apps のデータ型と Dataverse のデータ型との対応を示しています。
Power Apps | Microsoft Dataverse |
---|---|
選択肢 | 選択肢、はい/いいえ |
DateTime | 日付と時間、日付のみ |
Image | Image |
数 | 浮動小数点数、通貨、10 進数、期間、言語、タイムゾーン、整数 |
テキスト | 電子メール、複数行のテキスト、電話、テキスト、テキスト領域、ティッカー シンボル、URL |
GUID | 一意識別子 |
Power Apps は Dataverse の機能と操作を委任できる
特定のデータ型に対するこれらの Power Apps 操作は、Dataverse に処理を委任することができます (Power Apps 内でローカルに処理するのではなく)。
品目 | 数 [1] | Text[2] | 選択肢 | DateTime [3] | GUID |
---|---|---|---|---|---|
<, <=, >, >= | 可 | 可 | いいえ | 可 | - |
=、<> | 可 | 可 | 可 | 可 | 可 |
かつ/または/ではない | 可 | 可 | 可 | 可 | はい |
CountRows [4] [5]、CountIf [6] | はい | はい | はい | はい | はい |
フィルター | 可 | 可 | 可 | 可 | 可 |
First [7] | 可 | 可 | 可 | 可 | 可 |
(メンバーシップ) で[8] | 可 | 可 | 可 | 可 | 可 |
in (サブストリング) | - | 可 | - | - | - |
IsBlank [9] | 可 | 可 | いいえ | 可 | はい |
参照 | はい | はい | はい | はい | はい |
検索する | いいえ | はい | いいえ | いいえ | - |
並び替え | はい | はい | はい | はい | - |
SortByColumns | はい | はい | はい | はい | - |
StartsWith | - | はい | - | - | - |
合計、最小、最大、平均 [6] | はい | - | - | いいえ | - |
- 算術式を含む数値 (
Filter(table, field + 10 > 100)
など) は委任できません。 Language および TimeZone は委任できません。 列から数値へのキャストはサポートされていません。 Power Apps で値が数値として表示されるが、バックエンド データ ソースが通貨などの単純な数値ではない場合は、委任されません。 - Trim[Ends] または Len をサポートしていません。 Left、Mid、Right、Upper、Lower、Replace、Substitute などの他の関数をサポートしています。また、委任では Text(column) などのキャストはサポートされていません。
- DateTime は委任できますが、DateTime 関数 Now() と Today() は除きます。
- Dataverse の CountRows はキャッシュされた値を使用します。 レコード数が 50,000 レコード未満であると予想されるキャッシュされていない値の場合は、
CountIf(table, True)
を使用します。 - CountRows については、ユーザーがテーブルの合計を取得するための適切な権限を持っていることを確認してください。
- 集計関数は、50,000 行のコレクションに制限されます。 必要に応じて、Filter 関数を使用して 50,000 を選択します。 ビューでは集計関数はサポートされていません。
- FirstN はサポートされていません。
In
は Dataverseの 15 テーブル クエリの制限が適用されます。- 比較をサポートしています。 たとえば、
Filter(TableName, MyCol = Blank())
などとします。
Power Fx で Dataverse アクションを直接呼び出す
Power Fx 言語の一部として、作成者は数式内で Dataverse アクションを直接呼び出すことができるようになりました。 非バインド アクションとバインド アクションの両方がサポートされています。 作成者は、Power Fx Environment
言語オブジェクトをアプリに追加し、Dataverse アクションにアクセスできます。
作成者は、入力と出力の両方で型指定されていないオブジェクト フィールドを操作できます。 たとえば、入力側では、多くの Dataverse アクションは引数として型指定されていないオブジェクトを必要とします。 作成者は、ParseJSON を使用してこれらの引数を渡し、Power Fx レコードを型指定されていないオブジェクトに変換できるようになりました。 出力側では、型指定されていないオブジェクトを返すアクションの場合、返されたオブジェクト プロパティに dot
を入れるだけです。 ラベルなど Power Apps で使用する特定のコンテキストで使用する特定の値をキャストする必要があります。
この機能がない場合、作成者は Power Automate を使用して Dataverse を直接呼び出すのが一般的でした。 ただし、Power Fx から直接 Dataverse を呼び出すことで、パフォーマンス上の利点 (および使いやすさ) が向上するため、直接トランザクションの読み取りや更新に適しています。 Power Automate を使用して Dataverse アクションを呼び出すアプリがある場合は、代わりにこの直接アクション アプローチを使用することを提案するバナーが表示されます。
型指定されていないフィールドの操作は、Dataverse に限定されません。 すべてのタイプのコネクタで機能し、基本的なアドホック動的スキーマ サポートを提供します。
注意
- Power Fx コマンドでの DV アクションは完全にはサポートされていません (パラメーターを使用したアクション呼び出しに固有)。
- エンティティまたはエンティティ コレクションへの直接参照はサポートされていません。
- ネストされた (2 レベル以上の深さ) オブジェクト型のパラメーターの場合、第 2 レベルの属性は PowerApps で必須として扱われます。
Microsoft Dataverse アクションへのアクセスを有効にする
新しいアプリの場合、この機能は自動的に有効になります。 以前に作成したアプリの場合は、Dataverse アクションへのアクセスを有効にする必要があります。
古いアプリの場合は、編集用のキャンバス アプリを開き、設定>近日公開の機能>廃止済み に移動して、Dataverse アクションを有効にします。
Power Fx 環境言語オブジェクトをアプリに追加する
Power Fx 式で Dataverse アクションを使用するには、データを追加するを選択し、環境を検索してアプリケーションに追加します。
これにより、Power Fx Environment
言語オブジェクトがアプリケーションに追加されます。
アクセス可能な Dataverse アクション
Power Fx Environment
オブジェクトがアプリケーションに追加されると、数式に Dataverse を追加してアクションにドット入力することで、Environment
アクションにアクセスできます。
バインドされていない Dataverse アクションは、テーブルに対してピア レベルであり、環境言語オブジェクトの親スコープが必要です。 システム レベルとカスタムの両方で、環境内のすべてのアクションが利用可能です。 非バインド アクションとバインド アクションの両方が利用可能です。 2レベルの通話制限が削除されました。
数式で Dataverse アクションを使用する方法の詳細については、型指定されていない動的オブジェクトの操作を参照してください。
バウンド/アンバウンド アクションのエンティティ型引数を渡す
Dataverse アクションのためのエンティティ型引数を渡すために、まずエンティティ タイプ引数の値を変数に設定します。 さらに、*activityId などの欠落している値が入力されていることを確認します。 これは、Swagger で定義された型を持たないエンティティにとって特に重要です。
Set(MyArgVar, {
name: first(systemUser).name,
Id: First(systemUser).Id
... })
他の環境での名前変更、更新、アクション
環境の名前を変更するには、省略記号を選択し、[名前の変更] を選択します。 新しい Dataverse アクションを Dataverse で追加し、Power Apps で表示する必要がある場合は、[更新] を選択できます。 また、別の環境でアクションを使用する必要がある場合は、まず環境を変更し、そこで「環境」を検索し、選択してアプリケーションに追加する必要があります。