1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Power Appsでローカルに簡単な情報を保存して呼び出す方法(SaveData/LoadData関数)

Last updated at Posted at 2024-11-07

はじめに

Power Appsでは、OneDrive/SharePoint Onlineに配置したExcelファイル、SharePoint Listでデータを管理することが多いと思います。

データをしっかりと管理し、後続の業務でも活用する場合にはこの方法で良いかと思いますが、ちょっとしたアプリの利便性向上のためにわざわざデータを格納する場所を用意するのは面倒ですよね。。

ということで、Power AppsのSaveData、LoadData関数を使って、ローカルに情報を保存する方法を試してみたいと思います。

SaveData、LoadData関数とは?

SaveData関数:名前を付けてコレクションを格納する
LoadData関数:名前を指定してコレクションを呼び出す
ClearData関数:名前を指定してストレージをクリア、もしくは、アプリに紐づく全てのストレージをクリアする

注意事項

  • ブラウザで動作させている場合には、最大サイズは1MB。モバイルデバイスのアプリの場合には最大サイズの制約はないが、アプリの利用可能メモリサイズに依存する。
  • プレーンテキストとしてデータが保存されるため、機密情報を取り扱うのは推奨しない。特に、複数ユーザーが同一端末を使いまわしている場合に注意が必要。

早速やってみる

テンプレで作成できるPower Appsの画面に、検索条件を保存するボタンを追加しました。
スクリーンショット 2024-11-06 22.27.00.png

保存ボタンの処理は以下の通り。

保存ボタンのOnSelectイベント
SaveData(
    ClearCollect(
        検索キーワード,
        { SearchWord: SearchInput1.Text }
    ),
    "検索キーワード"
);

次にLoadData関数を使います。
今度は、アプリケーション読み込みのタイミング(OnStart)に処理を実装します。

アプリ読み込み時(OnStartイベント)
LoadData(検索キーワード, "検索キーワード");

最後に、TextBoxのデフォルト値を設定します。

検索キーワードを入力するTextBoxのDefaultプロパティ
First(検索キーワード).SearchWord

たったこれだけで、Power Appsでローカルに情報保存、保存した情報を呼び出す処理の実装は完了です!
実際にアプリを開き直してみると、以下のように保存した検索ワードが自動設定されていることが分かります。

実際データはどこに保存されるのか?

①ブラウザを利用している場合

ブラウザのディベロッパーツールを使用することで、実際に保存されている値を確認することができます。

(1) ディベロッパーツールを開く
(2) アプリケーションタブを開く
(3) ストレージの「IndexedDB」というエリアを見ると、Power AppsのアプリケーションIDの下に、keyvaluepairsというデータが存在します。中身を見てみると、SearchWordとして「テスト」という文字列が保存されていることが分かります。
スクリーンショット 2024-11-07 23.11.37.png

そもそもIndexedDBとは何なのか?

IndexedDB は、ユーザーのブラウザー内にデータを永続的に保存する手段です。ネットワークの状態にかかわらず高度な問い合わせ機能を持つウェブアプリケーションを作成できますので、アプリケーションがオンラインとオフラインの両方で動作するようになります。
(引用元:https://developer.mozilla.org/ja/docs/Web/API/IndexedDB_API/Using_IndexedDB)

ブラウザが管理するデータベースなので、ブラウザのバージョンアップ時や、ユーザーがブラウザで保存情報の削除を行う等した場合には、データ自体が無くなる可能性があるということですね。なので、消えてしまってもアプリの動作や業務に支障が無い情報だけを管理すべき、ということになります。

②モバイルアプリを利用している場合

スマホ単体での確認は難しい気がします。
まだ確認手順を確立できていないので、また後日実施して情報更新します。

今後やりたいこと

注意事項にも記載した通り、機密情報を取り扱うのは推奨されていません。
一方で、機密情報をExcelやSharePoint Listで管理するのはもっと現実的ではないと思っていまして、Power Apps/Power Automateで何らかデータを暗号化して管理する方法を検討してみたいと思います!

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?