Power Apps とは
Power Apps は、アプリ、サービス、コネクタ、データプラットフォームのスイートであり、ビジネスニーズに合わせてカスタムアプリを構築するための迅速なアプリケーション開発環境を提供します。
Power Apps を使用すると、基になるデータプラットフォーム (Common Data Service)またはさまざまなオンラインおよびオンプレミスのデータソース (SharePoint、Excel、Office 365、Dynamics 365、SQL Server など)に格納されているビジネスデータに接続するカスタムビジネスアプリをすばやく作成できます。
完成形
簡易的な顧客ごとの資産・契約管理のアプリケーションです。
— TeppeiKikuchi🇮🇩ジャカルタ (@tpi29) February 16, 2020
開発
STEP1 Power Appsでプロジェクトを作成
今回はCommon Data Serviceを使用して、アプリを作成していきます。
Common Data Serviceに最初から用意されているContactsテーブルを利用して、開始します。
これだけで、実は、以下の3画面が自動で生成されます。
- 一覧画面
- 編集画面
- 新規作成画面
STEP2 画面の編集/作成 (資産一覧、契約一覧画面)
2-1 新規画面追加
Inputタブより、New Screenを選択して、新規画面の追加
2-2 四角形のViewの配置
2-3 Labelの配置
2-4 Buttonの配置
2-5 一覧部分の配置
これでレイアウトは、ほぼ完成です。
STEP3 Common Data Serviceのエンティティの作成
3-1 Entityの新規作成 (Common Data Service)
Power Appsのトップ画面でEntityを選択し、New EntityからAgreementsエンティティの作成。
3-2 Contactsエンティティとのリレーションの追加
3-3 AgreementsエンティティにAmountフィールドの追加
これでAgreementsエンティティの作成が完了です。
同様にして、Assetsエンティティも作成してください。
Assetsエンティティの構成はAmountの名前のみ、EvaluatedValueに変更しています。
STEP4 画面遷移処理
画面遷移にはNavigate関数を用います。
Galleryに以下の式を適用しています。
Navigate('Customer Top', ScreenTransition.Cover);
Set(customer_full_name, Gallery1.Selected.'Full Name');
値の受け渡しに以下のSet関数を使用しています。
※単純に次の画面のみに値を受け渡す場合は、Navigate関数の第三引数のContextに値を受け渡すことも可能です。
Set(customer_full_name, Gallery1.Selected.'Full Name');
STEP5 値の受け取り
資産一覧/契約一覧画面のGalleryのData SourceにAgreementsを指定してください。
Advancedのタブを選択し、Data項目のItemsにFilter関数を使用して、表示する値を抽出します。
ここで、先程の画面遷移時にSetしたcustomer_full_nameを参照させます。
Filter(Agreements, Contact.'Full Name' = customer_full_name)
Assets表示用のGalleryにも同様に設定してください。
STEP6 計算処理
契約一覧、資産一覧の値をもとに、(総資産)-(総契約額)を表示させます。
総資産額は以下の式で計算しています。
Sum(Filter(Agreements, Contact.'Full Name' = customer_full_name), Amount)
(総資産)-(総契約額)は以下の式で計算します。
Sum(Filter(Assets, Contact.'Full Name' = customer_full_name), EvaluatedValue) - Sum(Filter(Agreements, Contact.'Full Name' = customer_full_name), Amount)
これで、顧客選択時に各金額が出力されるようになったかと思います。
STEP7 タブの切り替え実装
AgreementsタブとAssetsタブの切り替え処理を実装します。
各ボタン押下時に、値をセットします。
Set(varTab,btnAgreementsTab.Text)
Set(varTab,btnAssetsTab.Text)
GalleryのVisible項目に以下の式を適応させます。
varTab=btnAgreementsTab.Text
これで、タブの切替処理も完了です。
編集画面や新規画面などはまた別の記事で紹介致します。
誤り、改善点や疑問点ありましたらコメント下さい。宜しくお願い致します。