37
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PowerAppsを触ってみた備忘録

Last updated at Posted at 2019-02-26

はじめに

PowerAppsを計30時間程触ってみたので、自分用の備忘録書きます。
30時間の中では、以下のようなサンプルも作成しました。

アプリ作成でやること(キャンバスアプリ)

  • データの箱を決める(sharepoint,excel,database,etc..)
  • データ項目を決める
  • レイアウトを大体決める
  • データソースと接続する
  • 処理、プロパティを書く
  • 実行して動作テスト

用語

  • コントロール:リボンから挿入できるパーツ(テキストフォーム、ラジオボタン、ギャラリー等)
  • スクリーン:画面
  • プロパティ:各画面、コントロールの設定値
  • 関数: f(x)で書く処理
  • コレクション:PowerAppsのローカル上で保持できるテーブルみたいなもの

よく使うコントロール

  • テキスト入力:テキストの入力フォーム。単一行か複数行かは設定してた方が良い。
  • コンボボックス:選択肢はitemsプロパティで設定。Choiseでデータソースから参照するか["選択肢1","選択肢2"]のように記述する
  • ギャラリー:接続したデータソースを一覧で表示する。コレクションも可。どの項目を表示させるかはプロパティのフィールド⇒編集から設定できる。
  • フォーム:接続したデータソースの入力フォームを自動で作成してくれる。新規モードと編集モードがある。デフォルトが編集モードになっているので注意。
  • アイコン:下の方にある図形はよく使う

よく使うプロパティ項目(自分で手を入れる部分)

  • default: デフォルト値 
  • OnVisible:画面が表示された時の処理 初期化、変数定義に使うことが多い
  • OnSelect:ボタンが押された時の処理
  • item :コントロールが参照するデータソース、コレクションを設定できる。設定し忘れること結構ある
  • Visible:表示、非表示

よく使う関数

  • Navigate("スクリーン名","画面遷移のエフェクト"):画面遷移処理
  • Submit("フォーム名"):フォームで入力されたデータを入力フォームが接続しているデータソースにINSETする
  • Patch("データソース名","データソースの列名と入れる値"):データソースにデータをインサートする。コレクションでも可
  • Clear(コレクション名):コレクションを初期化する。
  • Reset("入力フォーム名"):入力フォームをクリアする
  • User():サインインしているユーザーの情報を取得できる
  • Now():現在日時取得。実際はText( Now(), "[$-ja-JP]yyyy/mm/dd" )みたいにフォーマットして使う
  • Filter("テーブル名","条件"):条件にマッチしたレコードを複数返す
  • LookUp("テーブル名","条件"):条件にマッチした最初のレコードを返す
  • Collect("コレクション名",{"列名:値"},{...}):コレクションを作成する
  • Set("変数名","値"):グローバル変数を決める
  • Select("コントローラー名"):指定したコントローラー名と同じ処理をさせる
    ⇒ギャラリーの各カードの中のボタンにSelect(Parent)とすると選択された項目の値がとれるようになる("ギャラリー名.Selcted"が使える)

詰まったポイント

  • フォームのレイアウトはプロパティで列数を決定する
  • NewForm(新規モード)はSubmitすると表示が消えるので、itemにdefault(テーブル名)をしておく。
  • コンボボックスの初期値はDefaultSelectedItemsに以下のJSONで指定する
'@odata.type':"#Microsoft.Azure.Connectors.SharePoint.SPListExpandedReference"
 ,Value: "初期値を入れる"
}```
- ```"入力フォーム名".LastSubmit.ID```:入力フォームで最後にINSERTされたリストの項目のIDを取得する
⇒複数のリストで1:Nのデータが登録できる。詳しくは[こちら](https://qiita.com/h-nagao/items/7a57d78394bec6e6c4ed)
- ```User().FullName```でとってきた姓名を入れ替える処理<br>```Concatenate(Last(Split(User().FullName," ").Result).Result," ",First(Split(User().FullName," ").Result).Result)```

## 便利
- 右上のアプリチェッカーを押すとエラー一覧が見れる
- 関数には```//```でコメントをつけれる
- 組織全体にアプリを共有するには、配布の検索ボックスに```すべて```もしくは```everyone```と入力する。

## これから試す予定
- 例外処理系
- バリデーションチェック系
- 集計
- コンポーネント
- 承認ワークフロー系


37
60
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
37
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?