Help us understand the problem. What is going on with this article?

Power Apps でアプリ開発してみた

Power Apps とは

Power Apps は、アプリ、サービス、コネクタ、データプラットフォームのスイートであり、ビジネスニーズに合わせてカスタムアプリを構築するための迅速なアプリケーション開発環境を提供します。

Power Apps を使用すると、基になるデータプラットフォーム (Common Data Service)またはさまざまなオンラインおよびオンプレミスのデータソース (SharePoint、Excel、Office 365、Dynamics 365、SQL Server など)に格納されているビジネスデータに接続するカスタムビジネスアプリをすばやく作成できます。

image.png

完成形

簡易的な顧客ごとの資産・契約管理のアプリケーションです。

開発

STEP1 Power Appsでプロジェクトを作成

今回はCommon Data Serviceを使用して、アプリを作成していきます。

Common Data Serviceに最初から用意されているContactsテーブルを利用して、開始します。
demo001.png

demo002.png

これだけで、実は、以下の3画面が自動で生成されます。
- 一覧画面
- 編集画面
- 新規作成画面

demo003.png

STEP2 画面の編集/作成 (資産一覧、契約一覧画面)

2-1 新規画面追加

Inputタブより、New Screenを選択して、新規画面の追加
demo004.png

2-2 四角形のViewの配置

画面左のサイドメニューより、Rectangleを選択。
demo005.png

2-3 Labelの配置

画面上部のタブより、Textを配置。
demo007.png

2-4 Buttonの配置

画面左のサイドメニューより、Buttonを選択。
demo008.png

2-5 一覧部分の配置

画面上部のタブより、Galleryを配置。
demo009.png

これでレイアウトは、ほぼ完成です。

STEP3 Common Data Serviceのエンティティの作成

3-1 Entityの新規作成 (Common Data Service)

Power Appsのトップ画面でEntityを選択し、New EntityからAgreementsエンティティの作成。
demo010.png
demo011.png

3-2 Contactsエンティティとのリレーションの追加

demo012.png

3-3 AgreementsエンティティにAmountフィールドの追加

demo013.png

これでAgreementsエンティティの作成が完了です。

同様にして、Assetsエンティティも作成してください。
Assetsエンティティの構成はAmountの名前のみ、EvaluatedValueに変更しています。

STEP4 画面遷移処理

画面遷移にはNavigate関数を用います。

Galleryに以下の式を適用しています。

Navigate('Customer Top', ScreenTransition.Cover);
Set(customer_full_name, Gallery1.Selected.'Full Name');

demo014.png

値の受け渡しに以下のSet関数を使用しています。
※単純に次の画面のみに値を受け渡す場合は、Navigate関数の第三引数のContextに値を受け渡すことも可能です。

Set(customer_full_name, Gallery1.Selected.'Full Name');

STEP5 値の受け取り

資産一覧/契約一覧画面のGalleryのData SourceにAgreementsを指定してください。
demo015.png

Advancedのタブを選択し、Data項目のItemsにFilter関数を使用して、表示する値を抽出します。
demo016.png

ここで、先程の画面遷移時に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)

demo017.png

(総資産)-(総契約額)は以下の式で計算します。

Sum(Filter(Assets, Contact.'Full Name' = customer_full_name), EvaluatedValue) - Sum(Filter(Agreements, Contact.'Full Name' = customer_full_name), Amount)

demo018.png

これで、顧客選択時に各金額が出力されるようになったかと思います。

STEP7 タブの切り替え実装

AgreementsタブとAssetsタブの切り替え処理を実装します。

各ボタン押下時に、値をセットします。

Set(varTab,btnAgreementsTab.Text)
Set(varTab,btnAssetsTab.Text)

demo019.png

GalleryのVisible項目に以下の式を適応させます。

varTab=btnAgreementsTab.Text

demo020.png

これで、タブの切替処理も完了です。

編集画面や新規画面などはまた別の記事で紹介致します。
誤り、改善点や疑問点ありましたらコメント下さい。宜しくお願い致します。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした