Power Appsでコメント機能を実装する方法

Power Apps

Power AppsからSherePointリストなどのデータソースへ、データ:コメントが1:Nとなるようにコメントを付ける方法を紹介します。

具体的には、データソースのコメントを保存する列の1つのセルの中に文字列情報を格納し、Power Apps側で展開して配列とすることで、ほぼ無限にコメントを付ける方法を紹介します。

SherePointリスト作成

以下の様にSherePointリストを作成します。

列名列の種類説明
タイトル一行テキストコメントを付ける対象のデータ
Comment複数行テキストデータに対するコメント

SherePointリストの列を増やす方法ではダメなのか?
簡単に思いつく方法としては、SharePointリストの列を増やすことでデータに対してコメントを付ける方法です。
しかし、Power Apps側から列を追加できないために付けられるコメントの数が限られてしまいます。

画面イメージ

左側のギャラリー(Gallery1)にはタイトル列の情報を表示させています。

そして、右側のギャラリー(Gallery2)にはComment列の情報が表示されるようにします。

右下には、コメントを入力するためのテキストボックス(TextInput1)コメントを追加するボタン(Button1)を設置します。

コメント機能の実装方法

通常SharePointリストなどには配列データを格納できる列はありません。

しかし、データソースには文字列として保存しておき、Power Apps側で使用する時に配列とすれば疑似的に配列データを格納させることが出来ます。

Split関数

Split関数文字列を配列に変換する関数です。

この関数を使用して、文字列→配列の変換を行います。

コメントの登録

データソースとPower Appsで文字列→配列の変換をしていますので、コメントを登録するのにもひと工夫が必要です。

通常Power Appsでデータを更新する際には既存のデータ(今回は文字列)を置き換えて更新しますが、今回は既存のデータの末尾にデータを追加します。

UpdateIf(
    TEST,
    Gallery1.Selected.Title=Title,
    {Comment:Gallery1.Selected.Comment&","&TextInput1.Text}
);
Reset(TextInput1)

既存の文字列とテキストボックスで入力した値を&”,”&で繋げることで、,で区切った状態でデータソースにデータが登録されます。

Reset関数でテキストボックスの値をリセットするのも忘れずに!

これで2つほどコメントを追加してみます。

データソースを見てみると、,区切りでデータソースに登録されていました。

データの表示

登録されたデータをSplit関数を使用して配列にしてギャラリーに表示させます。

Filter(     //空白を削除
    Split(      //Comment列の内容を,区切りで配列情報に変換
        LookUp(     //Gallery1で選択した項目のComment列を取得
            TEST,
            Title=Gallery1.Selected.Title,
            Comment
        ),
        ","
    ),
    Result<>""
)

LookUp関数Gallery1で選択したデータのコメント列の値を取得します。

Comment列に登録されているデータは,区切りでコメントが入力された文字列ですので、Split関数を使用して配列へと変換します。

Gallery2内にラベルを追加すると、コメントの中身が見られるようになります。

外側のFilter関数が無いと以下の画像の様になってしまいます。(先頭文字が区切り記号である,のため)

ですので、Filter関数を用いてSplit関数で生成された列であるResult列から空白を除いています。

データ2に対してもコメントを追加させることが出来ました。

Power Appsでコメント機能を実装する方法 まとめ

  • データソースには文字列情報として保存しておく
  • Power Apps側で配列情報へSplit関数で変換する
  • UpdateIf関数でこれまでのデータ+コメントという形式でデータソースに保存する

今回はコメント(文字列情報)に絞って紹介しましたが、他にも色々な応用が出来ると思います。ぜひコメントで教えてください。

コメント

  1. […] 具体例→Power Appsでコメント機能を実装する方法 […]

タイトルとURLをコピーしました