Windows11の教科書

ウィンドウズ11やスマホで困ったことを調べたブログ

ウィンドウズ11やアプリで困ったことを調べたブログ

スポンサーリンク


【Power Apps】コレクションとは?使い方は?

Power Appsを使ってよくわからなかったのがコレクションという機能です。

ここではコレクションの紹介や使い方をまとめていきます。

コレクションとは?

My newly organized bookshelf

コレクションは、

Holds a table that can be referenced from anywhere in the app. Allows the contents of the table to be modified rather than being set as a whole. Can be saved to the local device for later use

 

つまり「アプリからいつでも参照できるテーブル」であり、「ローカルデバイスに保存されえる」ものだそうです。

Understand variables in canvas apps - Power Apps | Microsoft Docs

 

ということで、データとして保持しておきたい変数はコレクションとして使うのがいいのかなと思います。

 

使い方

「ビュー」タブに「コレクション」があります。

f:id:apicode:20210414092939p:plain

 

ここで使用しているコレクションが一覧できます。データが入っているか、思った通りのデータになっているかは、こちらで逐次確認しましょう。

f:id:apicode:20210414092943p:plain

 

 

コレクションの設定

コレクションの初期化

「ClearCollect」は、コレクションをクリアして引数のテーブルに初期化しなおします。

ボタンに以下のようなコードを書いて実行して生成できます。

「cProduct」という名前のコレクションで「タイトルがバッテリー、量が10個、値段15ドル」というテーブルを設定しました。

ClearCollect( cProduct, { Title: "バッテリー", Quantity: 10, Price:15 } )

 

実行後にコレクションを画面で確認すると、確かにデータが追加されていました。

f:id:apicode:20210414093624p:plain

 

コレクションへテーブルを追加

「Collect」を使うと引数のデータをテーブルに追加できます。

Collect( cProduct, { Title: "USBケーブル", Quantity: 2, Price:5} ,{ Title: "スマホスタンド", Quantity: 0, Price:12 } )

 

コードをボタンに入れて実行してみると、コレクションの画面で追加されていることがわかります。

f:id:apicode:20210414093911p:plain

 

コレクションのテーブルを削除

「Remove」や「RemoveIf」を使います。

特定の状況のレコードをすべて削除するには以下のように記述します。

RemoveIf( cProduct, Quantity > 0 )

 

 

コレクションのデータを変更

「Update」「UpdateIf」などの関数で変更します。

 

「Update」では名前、対象行、変更内容を指定します。

最初の行のテーブル内容を変更すると

Update( cProduct, First(cProduct), { Title: "バッテリー", Quantity: 5, Price:15} )

 

ちゃんと反映されていました。

f:id:apicode:20210414105433p:plain

 

 

「UpdateIf」なら名前、条件、変更内容を指定します。

一度に全部変えるなら条件は「true」とします。

UpdateIf( cProduct, true, { Quantity: 0 } )

 

実行後Quantityの数値はすべて0となりました。

f:id:apicode:20210414105154p:plain

 

コレクションを全クリア

「Clear」でデータをクリアできます。

Clear( cProduct )

 

コードに入れて実行してみると、確かにデータがなくなっていました。 

f:id:apicode:20210414094018p:plain

 

 

コレクションとしてテーブルを使っている場合、テーブルの関数で値を調べたり計算させることもできます。 

www.kyoukasho.net

 

 

コレクションの保存・読み込み

コレクションのメリットは、そのままデバイスに保存できることにあります。

「SaveData」コマンドにコレクションと保存名を渡します。

SaveData(cProduct,"savedata")

 

データの読み込みは「LoadData」を使います。

念のためClear

Clear( cProduct ); LoadData( cProduct, "savedata", true )

 

ただし開発画面やウェブプレイヤーでは動作しないと書かれているので、スマホ版で確認する必要がありそうです。 

Understand variables in canvas apps - Power Apps | Microsoft Docs

 

 

 

Power Appsではデータやテーブルの管理がちょっとわかりにくかったです。アプリの作成には欠かせませんので、しっかり理解しておきましょう。  

www.kyoukasho.net

 

 

 

PowerAppsの使い方はこちら。

www.kyoukasho.net

 

このブログは、ネットや書籍上の情報、個人の体験や感想を中心にまとめたものです。 正確性を期していはいますが、間違い・誤訳等あるかもしれません。 当サイトの情報によって生じたいかなる損失について一切の責任を負わないものとします. あらかじめご了承ください。

利用規約・プライバシーポリシー |〇問い合わせ