PowerApps コレクションとは?|活用方法や操作について解説

PowerApps コレクションとは?|活用方法や操作について解説
どのように始める?脱Excel管理
本ウェビナーでは、Excelでの業務管理に限界を感じている経営者、管理職、現場社員の方達に向け、脱Excelをローコードツールで実現する方法を紹介しています。
目次

PowerApps コレクションとは

PowerAppsのコレクションとは、アプリ内のメモリに作成できるデータベースのことです。通常、アプリではサービスサーバーのデータベースと情報をやり取りします。しかし、アプリ内の操作がある度に情報のやり取りをしていると、動作が重くなってしまいます。

そこで、通常の操作時はアプリ内のコレクション(データベース)に変更を加え、最後にサーバーへ変更情報を送るようにします。また、起動時にコレクションにデータを一括で送っておき、動作を軽くするといった手法も使えます。

PowerApps コレクションの作成方法

PowerAppsでコレクションを作成するには、まず「コレクション関数」を理解する必要があります。関数を理解したら、実際に関数を使ってコレクションを作成してみましょう。関数が使えれば、あとはどのように活用するかを考えるだけです。以下では、PowerAppsでコレクションを作成する方法を6つのステップで解説します。以下の内容を参考に作業を進めてみてください。

PowerApps Studio を開く

PowerAppsのトップページ画像
PowerAppsでアプリを作成する方法を示した画像
PowerAppsで空のキャンバスアプリを選択する画像
キャンバスアプリからアプリ名を入力する画面のスクリーンショット

まず、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」がそれに該当します。これらも任意の名前を設定します。

コレクションにデータを追加する

PowerAppsのコレクション使用例の画像

データは、「値A〜D」の部分に記述します。例えば項目1を「ジャンル」、項目2を「製品名」とした場合、値A・Cには製品名、値B・Dにはジャンル名を記載します。データを増やす場合は以下のようにします。

コレクション関数で行数を増やす場合

Collect(コレクション名, {項目1:”値A”,項目2:”値B”}, {項目1:”値C”,項目2:”値D”}, {項目1:”値E”,項目2:”値F”})

「}」の後に「,」を追加し、次の行の情報を入力します。ただし、最終行に「,」を追加するとコレクションとして認識されなくなるので注意してください。

コレクションを保存する

コレクションを保存する方法を示した画像
コレクションを保存する方法を示した画2

関数が完成したら、ツリービュー「App」の右側にある「···」をクリックします。次に、メニューから「OnStartを実行」を選択します。すると、ツリービュー「変数」の「コレクション」に、作成したコレクションが追加されているはずです。作成されていない場合は、関数にエラーがないかを確認してみてください。

コレクションの作成例

コレクションの作成例として、データの送受信を最小限にしたいアプリが考えられます。例えば、注文に関するアプリです。発注したい商品・個数をコレクションに保存しておき、確定時にサーバーへ情報を送るといった処理が可能になります。また、個人情報の入力画面も、コレクションに一部の情報を保存しておき、一括で送信できるようになります。このように、いくつかの情報を一時的に保存したい場合に、コレクションは非常に便利です。

PowerAppsコレクションの活用例

PowerAppsには多くの機能が搭載されており、その中でも特徴的なのは「一時保管機能」です。この機能により、データの送受信回数を減らすことができ、またオフライン作業も可能になります。さらに、絞り込みや検索などの関数を使用すると、コレクション内のデータの活用が容易になります。以下では、コレクションの特徴的な機能を活用した事例を3つ紹介します。アプリ作成時の参考にしてみてください。

一時的なデータ保存

PowerAppsの代表的な活用例として、一時的なデータ保存機能を扱ったアプリがあります。特に、チャットツールや申し込みフォームなどで重宝する機能です。入力中にアプリやウィンドウがクラッシュしても、アプリ内メモリに情報を保管しているため、完全にデータが失われずに済みます。こうしたバックアップ的な機能を使ったアプリは、PowerAppsのコレクション機能を活用した典型的な例です。

オフライン作業

データ保存機能を活用すれば、オフライン作業も可能になります。ブログエディターや文書作成ツール、メモツールなどを例に考えてみましょう。起動時には、これまでの編集情報(文章・フォント・テキストサイズ等)を内部メモリに保存します。オフライン時の作業はメモリ内の情報に上書きし、オンラインに復帰したらデータサーバーにアップロードします。内部メモリだけで完結できる内容なら、オフライン作業に対応したアプリが開発できます。

データのフィルタリングとソート

コレクションでは、データのフィルタリングやソート(並べ替え)なども可能です。具体的には、以下のような関数を活用します。

フィルタリング・ソート・検索で使用する関数

  • Filter関数
  • Sort関数
  • SortByColumns関数
  • Search関数
  • LookUp関数

これらの関数を使うと、データを日付順や発注個数順に並べ替えたり、特定のジャンルのデータだけを表示、特定の商品データを検索したりできます。受発注システムや予約管理システムなどで、これらの機能は特に役立ちます。

まとめ

PowerAppsのコレクション機能は、データの送受信回数を減らす場合や、内部メモリでデータベースを管理する場合に役立ちます。在庫管理、予約管理、タスク管理、スケジュール管理など、多様なアプリ開発に応用可能です。これからアプリ開発を始める方は、今回紹介した関数を参考に、コレクションの作成に挑戦してみてください。

あわせて読みたい
PowerApps活用事例7選!よくある課題別の活用方法も解説します! PowerAppsを活用したいが、「どのような場面で活用すればいいのか」「どういう課題を解決できるのか」かイメージできずに困っている方は多いのではないでしょうか。 Pow...
  • URLをコピーしました!

この記事を書いた人

BOLT編集部のアバター
BOLT編集部

BOLTは、国内初のNoCode(ノーコード)/LowCode(ローコード)による開発に特化したシステムの受託開発・導入支援サービスです。
BOLT編集部が執筆するコラムでは、ノーコード・ローコードツールの使い方や事例紹介、システム開発の基本知識などを取り上げています。ノーコード・ローコードの開発に興味をお持ちの方やお困りの方はお気軽にお問い合わせください。

現在開催中のウェビナー

どのように始める?脱Excel管理

Excel(エクセル)は多くの企業内で導入され、表計算やVBAによるマクロ機能が充実していることから、顧客管理や施工管理、品質管理など多くの業務管理に活用されています。

しかし、複数人同時での共同作業が行えなかったり、業務が複雑化、さまざまな場所にデータが点在することから管理が煩雑、属人化してしまいます。

本ウェビナーでは、Excelでの業務管理に限界を感じている経営者、管理職、現場社員の方達に向け、脱Excelをローコードツールで実現する方法を紹介しています。

ウェビナー目次

  • Excel管理の課題
  • 代替ツール(SaaS)の課題
  • 脱Excelをローコードで実現しませんか
  • ケース別の業務改善例

開催日時・場所

  • 開催日時:随時開催中!!
  • 開催場所:オンライン(Google Meet)
  • 参加料:無料

目次