アクション ベースのデータ ソースの使用

完了

アクション ベースのデータ ソースは、データを単に読み取ったり書き込んだりするのではなく、関数を使用してデータ ソースとやりとりする点が、より一般的な表形式のデータ ソースとは異なります。 表形式とアクション ベースのデータ ソースの最も重要な違いは、アクション ベースのデータ ソースは、フォーム コントロールで使用できないことです。 フォームは、表形式のデータ ソースでのみ機能します。 これはアクション ベースのデータ ソースがデータの読み取りしかできないという意味ではありません。ほとんどのアクション ベースのデータ ソースでは、必要に応じてデータを更新するための関数を提供しています。 アクション ベースのデータ ソースは、データの読み取りおよび書き込みに必要なだけでなく、メールやその他の通知の送信にも使用できます。

次の例では、アプリに Office 365 ユーザー コネクタを追加して、ユーザーのクエリを実行し、ログインしているユーザーのマネージャーを見つけ、最後にログインしているユーザーのプロファイルを更新する方法を学習します。

Office 365 のデータ ソースの追加

この例では、アクション ベースのデータ ソースである Office 365 ユーザーのデータ ソースをアプリに追加します。 このプロセスは、表形式のデータ ソースを追加するのと同じです。

  1. Power Apps Studio で、上部のメニュー バーから 表示 を選択します。

  2. メニュー バーで データ ソース を選択します。

  3. ポップアップ リストから データ ソースの追加 を選択します。

  4. ポップアップ リストで 新しい接続 を選択します。

  5. 検索ボックスに「Office 365」と入力します。

  6. オプションの一覧がフィルター処理されます。Office 365 ユーザー を選択します。

  7. ポップアウト リストに、データ ソースの概要が表示されます。接続 を選択します。

これで Office 365 ユーザーのデータ ソースがアプリに追加されました。 次にこのアプリや任意のアプリでデータ ソースを使用するときに、上記の手順 3 の データ ソースの追加 画面でデータ ソースが使用できるようになります。 このデータ ソースに新しい接続をもう一度追加する必要はありません。

データ ソースがアプリに追加されたので、Office 365 ユーザーの一覧をギャラリーに表示できます。

  1. メニュー バーで 挿入 を選択します。

  2. ギャラリー を選択します。

  3. ポップアップ メニューから 縦書き を選択します。

  4. ギャラリー パネルで、データ ソースの右側の なし を選択します。

Office 365 ユーザーのデータ ソースが表示されないことに注意してください。 これはギャラリーには表形式のデータ ソースしか表示されないためです。 アクション ベースの接続は引き続きギャラリーで使用できますが、プロセスは異なります。

  1. 数式バーに、Items プロパティがあります。 数式バーから CustomGallerySample を削除します。

    Items Gallery プロパティのフロー項目のスクリーンショット。

  2. Items プロパティに次を入力します。

    Office365Users.SearchUser()
    
  3. ギャラリー パネルで、レイアウトタイトルサブタイトル に変更します。

  4. タイトル ラベルを DisplayName に設定する

  5. サブタイトル ラベルを Mail に設定します。

    ギャラリー設定からの設定プロパティのフローのスクリーンショット。

これでギャラリーに、すべての Microsoft 365 ユーザーの DisplayNames と Mail のプロパティが、表形式のデータ ソースを使用する場合と同じように表示されます。 これは Office365Users データ接続の関数が表形式のデータを返すからです。 このデータの出力は、データのテーブルを入力として受け取る SortByColumns や Sum のような任意の関数で使用できます。

ログインしているユーザーのマネージャーの電子メール アドレスを検索する

Office 365 データ ソースのもう 1 つの一般的な使用法は、ユーザーのマネージャーをクエリすることです。 表形式のデータ ソースでは、LookUp 関数を使用してこの種の情報を検索します。 このアクション ベースのデータ ソースでは、次の例で示すように、関数を使用して情報のクエリを直接実行します。

  1. 前の例から、ギャラリーの外側の領域をクリックします。

  2. メニュー バーで 挿入 リンクを選択します。

  3. ラベル を選択します。

  4. 数式バーで [Text] を削除します。

  5. 数式バーに次の数式を入力します。

    Office365Users.ManagerV2(User().Email).mail
    

注意

この判別式を入力した後にエラーが発生した場合、Office 365 にはマネージャーが割り当てられていません。

ラベルに、現在のユーザーのマネージャーのメール アドレスが表示されます。 数式の内訳を次に示します。

式の引数 式の入力 メモ
id User().Email User() は、現在ログインしているユーザーに関する情報 (FullName、Email、Image など) を返す組み込み関数です。
.property .mail この関数では、マネージャーのユーザー レコード全体が返されます。 ラベルにメール アドレスのみを表示するには、ドット (.) 表記を使用します。

ログインしているユーザーのプロファイル情報を更新する

アクション ベースのコネクタのもう 1 つの使用法は、データを更新することです。 表形式のデータ ソースでは、フォームまたは Patch 関数を使用して直接更新することができます。 これらの機能は、アクション ベースのデータ ソースでは機能しません。 代わりに、各アクション ベースのデータ ソースでは、そのコネクタによってオプションに提供される関数に依存します。 次の例では、提供された関数を使用して Microsoft のユーザー プロファイルを更新する方法を示します。

  1. キャンバスで 挿入 メニュー オプションを選択します。

  2. ボタン を追加します。

  3. ボタンの OnSelect プロパティに対し、数式を次に設定します。

    Office365Users.UpdateMyProfile({aboutMe: "Project manager with 5 years of technical project management experience."})
    

これで Microsoft 365 のプロファイルが更新されます。 数式の内訳を次に示します。

式の引数 式の入力 メモ
任意 {aboutMe: " 5 年の技術プロジェクトの管理経験を持つプロジェクト マネージャー。"} 追加のオプション パラメーター: birthday、interests、mySite、pastProjects、schools、skills

別の例は、画面上の Text Input コントロールを参照することでプロファイルを更新することです。  画面に textinput1 という Text Input コントロールがある場合、数式は次に更新されます。

Office365Users.UpdateMyProfile({aboutMe: TextInput1.Text})

Office 365 ユーザーのアクション ベースのデータ ソースは、情報豊富なデータ ソースで、多くのアプリで一般的に使用されています。 このデータ ソースをより理解するには時間がかかります。 これを含むすべての利用可能なデータ ソースの詳細については、コネクタ を参照してください。

これらの例では、アクション ベースのデータ ソースをアプリに統合する方法を示します。 その概念は、ギャラリーにユーザーを表示するような場合には表形式のデータ ソースとよく似ていますが、ユーザーのプロファイルに書き戻すような場合には大きく異なっています。

次のユニットでは、Power Automate の詳細および Power Apps アプリとの統合方法について説明します。