PowerAppsのコレクション、使ったことはありますか?「なんだか難しそう…」と尻込みしている方も多いかもしれません。
でも、実はとても便利な機能なんです。データを一時的に保存したり、さまざまな方法で扱えたりと、アプリ開発の可能性を大きく広げてくれます。
この記事では、コレクションの基本から活用方法まで、わかりやすくご紹介します。ぜひ、最後まで読んでみてください。
PowerApps コレクションとは
PowerAppsのコレクションとは、アプリ内のメモリに作成できるデータベースのことです。通常、アプリではサービスサーバーのデータベースと情報をやり取りします。しかし、アプリ内の操作がある度に情報のやり取りをしていると、動作が重くなってしまいます。
そこで、通常の操作時はアプリ内のコレクション(データベース)に変更を加え、最後にサーバーへ変更情報を送るようにします。また、起動時にコレクションにデータを一括で送っておき、動作を軽くするといった手法も使えます。
PowerApps コレクションの作成方法
PowerAppsでコレクションを作成するには、まず「コレクション関数」を理解する必要があります。関数を理解したら、実際に関数を使ってコレクションを作成してみましょう。関数が使えれば、あとはどのように活用するかを考えるだけです。以下では、PowerAppsでコレクションを作成する方法を6つのステップで解説します。以下の内容を参考に作業を進めてみてください。
PowerApps Studio を開く
まず、PowerApps Studioを開きます。公式サイトから「サインイン」を選択し、マイページに移動します。次に、左側のメニューから「作成」を選び、「空のアプリ→空のキャンバスアプリ」を選択します。「作成」をクリックすると、「キャンバス アプリを一から作成」の画面が表示され、アプリの名前と種類を登録します。アプリ名を入力し、タブレットかスマホのどちらのアプリを作成するかを選んだら、「作成」をクリックします。これで、アプリ作成画面に移動します。
新しいコレクションを作成する
アプリ作成画面を開いたら、新しいコレクションを作成します。コレクションは、コレクション関数を使って作成します。主な関数は以下の通りです。
【コレクション関数の種類】
- Collect:データベースを作成、追加
- ClearCllect:データベースの初期化および作成
- Clear:データベースの初期化
最も基本的な作成方法は、以下の関数を使う方法です。
コレクション関数
Collect(コレクション名, {項目1:”値A”,項目2:”値B”}, {項目1:”値C”,項目2:”値D”})
上記の関数を「ツリービュー→App」の「OnStart」に入力します。この関数では、以下のようなデータベースが作成されます。
項目1 | 項目2 |
値A | 値B |
値C | 値D |
それでは、より具体的にコレクションの作成方法を見ていきましょう。
コレクションの名前とフィールドを指定
まず、関数の「コレクション名」に任意の名前を設定します。製品リストなら「ProductList」、年号に関するリストなら「YearList」などが適切でしょう。フィールド名は列のタイトルに相当します。上記の関数では、「項目1」「項目2」がそれに該当します。これらも任意の名前を設定します。
コレクションにデータを追加する
データは、「値A〜D」の部分に記述します。例えば項目1を「ジャンル」、項目2を「製品名」とした場合、値A・Cには製品名、値B・Dにはジャンル名を記載します。データを増やす場合は以下のようにします。
コレクション関数で行数を増やす場合
Collect(コレクション名, {項目1:”値A”,項目2:”値B”}, {項目1:”値C”,項目2:”値D”}, {項目1:”値E”,項目2:”値F”})
「}」の後に「,」を追加し、次の行の情報を入力します。ただし、最終行に「,」を追加するとコレクションとして認識されなくなるので注意してください。
コレクションを保存する
関数が完成したら、ツリービュー「App」の右側にある「···」をクリックします。次に、メニューから「OnStartを実行」を選択します。すると、ツリービュー「変数」の「コレクション」に、作成したコレクションが追加されているはずです。作成されていない場合は、関数にエラーがないかを確認してみてください。
コレクションの作成例
コレクションの作成例として、データの送受信を最小限にしたいアプリが考えられます。例えば、注文に関するアプリです。発注したい商品・個数をコレクションに保存しておき、確定時にサーバーへ情報を送るといった処理が可能になります。また、個人情報の入力画面も、コレクションに一部の情報を保存しておき、一括で送信できるようになります。このように、いくつかの情報を一時的に保存したい場合に、コレクションは非常に便利です。
PowerAppsコレクションの活用例
PowerAppsには多くの機能が搭載されており、その中でも特徴的なのは「一時保管機能」です。この機能により、データの送受信回数を減らすことができ、またオフライン作業も可能になります。さらに、絞り込みや検索などの関数を使用すると、コレクション内のデータの活用が容易になります。以下では、コレクションの特徴的な機能を活用した事例を3つ紹介します。アプリ作成時の参考にしてみてください。
一時的なデータ保存
PowerAppsの代表的な活用例として、一時的なデータ保存機能を扱ったアプリがあります。特に、チャットツールや申し込みフォームなどで重宝する機能です。入力中にアプリやウィンドウがクラッシュしても、アプリ内メモリに情報を保管しているため、完全にデータが失われずに済みます。こうしたバックアップ的な機能を使ったアプリは、PowerAppsのコレクション機能を活用した典型的な例です。
オフライン作業
データ保存機能を活用すれば、オフライン作業も可能になります。ブログエディターや文書作成ツール、メモツールなどを例に考えてみましょう。起動時には、これまでの編集情報(文章・フォント・テキストサイズ等)を内部メモリに保存します。オフライン時の作業はメモリ内の情報に上書きし、オンラインに復帰したらデータサーバーにアップロードします。内部メモリだけで完結できる内容なら、オフライン作業に対応したアプリが開発できます。
データのフィルタリングとソート
コレクションでは、データのフィルタリングやソート(並べ替え)なども可能です。具体的には、以下のような関数を活用します。
フィルタリング・ソート・検索で使用する関数
- Filter関数
- Sort関数
- SortByColumns関数
- Search関数
- LookUp関数
これらの関数を使うと、データを日付順や発注個数順に並べ替えたり、特定のジャンルのデータだけを表示、特定の商品データを検索したりできます。受発注システムや予約管理システムなどで、これらの機能は特に役立ちます。
まとめ
PowerAppsのコレクション機能は、データの送受信回数を減らす場合や、内部メモリでデータベースを管理する場合に役立ちます。在庫管理、予約管理、タスク管理、スケジュール管理など、多様なアプリ開発に応用可能です。これからアプリ開発を始める方は、今回紹介した関数を参考に、コレクションの作成に挑戦してみてください。