Microsoft PL-400(Power Platform Developer Associate) 1-10

表示モード
画像位置
文字位置
理解度の自動記録
STATUS FILTER

表示する理解度を選択

読み込み中...
Q1PL-400
解答を見る
正解:E. 両方の部署の注文を照会する、1 つの自動フロー。

Power Automate の Dataverse トリガーには、スコープやフィルターといった詳細オプションを設定できます。
スコープを指定すると、特定のユーザーや部署が所有するレコードのみをトリガー対象にできます
したがってスコープを部署に設定すれば、フィルターを併用しなくても要件を満たせるため、E が正解です。
A も実装自体は可能ですが、フィルタリングの設定が加わる分、管理作業を最小限に抑えるという要件に合致しないため不正解です。
PowerAutomate : 「行が追加、変更、または削除された場合」トリガー

Q2PL-400
区分

終了日

トーナメントオーナー

解答を見る
正解:選択リスト/日付のみ/検索

「区分」はとり得る値があらかじめ定まっているため、選択リストが最適です。
「終了日」は日付を扱う項目なので、日付のみが適しています
「トーナメントオーナー」は、オーナーを別テーブルとして用意し、その参照を持たせるのが適切なため、検索が最適です。

Q3PL-400
問題文 はい いいえ
コードが実行され、プライマリコンタクト (primarycontactid) 列に値が設定されている場合、コンタクトレコードの電話 (telephone1) 列がアカウントに合わせて更新される
コードが実行され、プライマリコンタクト (primarycontactid) 列に値が設定されていない場合、「Not Updated」というエラーメッセージが表示される
電話 (telephone1) の値が削除されると、コードが実行され、コンタクトレコードの電話 (telephone1) 列が null に更新される
解答を見る
正解:1問目「はい」/2問目「いいえ」/3問目「いいえ」

1 問目:primarycontactid と telephone1 の双方に値がそろっていないと、contact レコードの telephone1 列は更新されませんので「はい」が正解です。
2 問目:primarycontactid が null の場合、contact[0].id を参照する行でエラーが発生し、成否のコールバックに到達しませんので「いいえ」が正解です。
3 問目:電話番号が削除されると、冒頭の if 文で即 return となり updateRecord が呼ばれないため「いいえ」が正解です。

Q4PL-400

選択肢を要件のドロップ欄へドラッグ、またはタップして配置。配置済みの欄をクリックで戻せます(同じ選択肢は複数回使用可)。

接続
一対多のリレーションシップ
多対多のリレーションシップ
自己参照リレーションシップ
モデル駆動型アプリでレコードを階層として視覚化する
1 つのテーブル内のレコードが、他のテーブル内の 1 つのレコードのみを参照できる必要がある
1 つのテーブル内の任意のレコードが、別のテーブル内の任意のレコードから参照できる必要がある
解答を見る
正解:モデル駆動型アプリでレコードを階層として視覚化する→自己参照リレーションシップ/1 つのテーブル内のレコードが、他のテーブル内の 1 つのレコードのみを参照できる必要がある→一対多のリレーションシップ/1 つのテーブル内の任意のレコードが、別のテーブル内の任意のレコードから参照できる必要がある→多対多のリレーションシップ

テーブルが階層型の自己参照リレーションシップを持つ構成であれば、その階層を利用してモデル駆動型アプリで階層のビジュアル化を設定できるため、1 問目は「自己参照リレーションシップ」が正解です。
あるテーブルのレコードが他テーブルの 1 レコードだけを参照する関係は 1 対多にあたるため、2 問目は「一対多のリレーションシップ」です。
任意のレコード同士が相互に参照できる関係は多対多となるため、3 問目は「多対多のリレーションシップ」が正解です。
モデル駆動型アプリによる階層型データのビジュアル化
テーブル リレーションシップ

Q5PL-400
割引情報
団体割引 store_gruodiscount
個人割引 store_personaldiscount
合計割引 store_totaldiscount
フィルタリング属性

トリガー条件

解答を見る
正解:store_totaldiscount/@greater(add(triggerOutputs()?[‘body/store_personaldiscount’], triggerOutputs()?[‘body/store_groupdiscount’]), 30)

トリガーのフィルタリング属性に合計割引の列 (store_totaldiscount) を指定すると、その列が更新されたときだけフローを起動できます。
さらにトリガー条件で合計値が 30% を超えるかを判定しますが、トリガー元のレコード値はtriggerOutputs から取得するのが正しい構文です。
そのため、フィルタリング属性は store_totaldiscount、トリガー条件は triggerOutputs を用いた式が正解です。
フィルター条件

Q6PL-400
解答を見る
正解:C. PostOperation ステージに登録した非同期プラグイン

非同期処理であれば、ユーザーは画面上で処理の完了を待つ必要がなくなるため、利用者への悪影響を避けられます。
したがって PostOperation ステージに登録した非同期プラグインが適切で、C が正解です。
PreOperation・PostOperation はプラグインの実行タイミング(レコード保存の前か後か)を表し、ほかに PreValidation というタイミングも存在します。
同期処理はユーザーを待たせるため、要件に合いません。
イベント実行パイプライン

Q7PL-400
問題文 はい いいえ
ある部門のメンバーが取り組んでいる個別の商談を、2 番目の部門のメンバー全員に共有し、それらのメンバーに適切な権限を付与する
商談に組織レベルでアクセスできるセキュリティロールを作成し、そのロールをアクセスが必要な 2 つの部門のすべてのメンバーに付与する
ポジション階層セキュリティを使用し、2 つの部門をポジションとして定義する
解答を見る
正解:1問目「はい」/2問目「いいえ」/3問目「いいえ」

要件は「基本的に部門間で非公開だが、2 部門が協力するときだけ同じ商談を共有できる」ことです。
そのため、既定は非公開のまま、必要なときにレコード共有で例外的にアクセスを許可するのが正しいシナリオで、1 問目は「はい」です。
組織レベルのアクセス権を全員へ付与すると他部門にも常に見えてしまい要件に反するため、2 問目は「いいえ」です。
ポジション階層は上下関係に基づく共有であり本要件には合わないため、3 問目も「いいえ」です。

Q8PL-400

左の「選択肢」から必要な数を右の「回答エリア」へドラッグ(またはタップ)。回答エリア内でドラッグして順序を入れ替えられます。

選択肢
  • プロジェクトのメインフォームを編集する。名前を付けて保存を選択して新しい財務フォームを作成し、欠落しているコスト列を追加し、財務に関連しない列を削除する。
  • Power Apps で財務アプリを共有し、財務セキュリティロールを選択する。
  • 新しいモデル駆動型アプリを作成する。プロジェクトテーブルを追加し、財務セキュリティロールを選択する。
  • 新しいモデル駆動型アプリを作成する。プロジェクトテーブルを追加し、財務フォームを選択する。
  • セキュリティロールを有効にし、財務フォームで財務セキュリティロールを選択する。
  • My Apps ページから財務アプリを選択し、財務セキュリティロールを使うようにアプリを構成する。
回答エリア(上から実行順)
  1. ここへドラッグ

解答を見る
正解:正解の順序:①プロジェクトのメインフォームを編集する。名前を付けて保存を選択して新しい財務フォームを作成し、欠落しているコスト列を追加し、財務に関連しない列を削除する。 → ②セキュリティロールを有効にし、財務フォームで財務セキュリティロールを選択する。 → ③新しいモデル駆動型アプリを作成する。プロジェクトテーブルを追加し、財務フォームを選択する。 → ④Power Apps で財務アプリを共有し、財務セキュリティロールを選択する。

まずコスト列を含む財務フォームを作成し、次にそのフォームに財務セキュリティロールを割り当てて表示を制限します。
続いて新しいモデル駆動型アプリを作成し、作成した財務フォームをそのアプリに追加します。
最後に Power Apps で財務アプリを財務セキュリティロールに共有することで、財務チームのユーザーだけがコスト情報を閲覧できる要件を満たせます。

Q9PL-400

選択肢を要件のドロップ欄へドラッグ、またはタップして配置。配置済みの欄をクリックで戻せます(同じ選択肢は複数回使用可)。

GET
POST
PATCH
ACCEPT
行を作成する
既存の行の列を更新する
解答を見る
正解:行を作成する→POST/既存の行の列を更新する→PATCH

Dataverse Web API では、行の新規作成に POST、既存行の更新に PATCHを使用します。
そのため、行を作成する要件には POST、既存行の列を更新する要件には PATCH が対応します。
GET は取得用、ACCEPT は HTTP メソッドではなくヘッダーであり、いずれもこの用途には使用しません。
Web API を使用してテーブル行を作成する
Web API を使用したテーブル行の更新と削除

Q10PL-400
カスタムコードを含めるために編集する必要があるファイル

サンプルデータを含めるために編集するファイル

解答を見る
正解:PackageTemplate.cs/ImportConfig.xml

ルートフォルダーにあるPackageTemplate.cs(または PackageImportExtension.cs)を編集することで、パッケージにカスタムコードを組み込めます。
一方、ImportConfig.xml には、インポートするソリューションとデータに関する情報を記述します。
そのため、カスタムコードは PackageTemplate.cs、サンプルデータは ImportConfig.xml を編集するのが正解です。
カスタム コードを追加する
ImportConfig リファレンス