12
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Microsoft Power AppsAdvent Calendar 2024

Day 12

Power Apps で SharePoint リストのユーザーまたはグループ列 (複数選択を許可) でフィルターをする

Last updated at Posted at 2024-12-11

はじめに

以下のように、担当者とは別に共同担当者を設定し、Power Apps のアプリ上、自分が担当者の場合、もしくは、自分が共同担当者に入っている場合、データを参照したり編集できるようにしたいケースあると思います。

この際、共同担当者は案件により人数が変わるかもしれないため、ユーザーまたはグループ列で複数選択を許可します。

image.png

image.png

この際、Power Apps 側でフィルターするアプローチについて、悩まれる方もいると思うため、方法を整理しておこうと思います。

アプローチ

まず、以下のようなイメージになるかなということで、式を書いてみましたが、共同担当者.Email といった感じで指定することができませんでした。ユーザーまたはグループ列で複数選択を許可すると Power Apps での扱いが少し難しくなります。

image.png

イメージとしては、ユーザーまたはグループ列で複数選択を許可すると、イメージとしては以下のような構造で、ユーザーに関する複数の情報を持つことになります。

image.png

解決策は以下のような感じです。

まず、以下のようにして、SharePoint リストの情報をコレクションに格納し、複数行ある共同担当者の Email 列だけ取り出して、Concat 関数で一つの文字列にします。一つの文字列にするにあたって、今回は、カンマ (,) で結合しています。そして、その文字列を AddColumns 関数で新しい列 (共同担当者Email) に代入します。

image.png

共同担当者Email という新しい列は、アドレス1,アドレス2 といった文字列になります。

image.png

そして、作成されたコレクションに対して以下のような式でフィルターをします。
共同所有者Email はアドレスが結合された文字列のため、その文字列に自分のメールアドレスが入っているか in 演算子で判定します。

image.png

こちらで、ユーザーまたはグループ列 (複数選択を許可) である、共同担当者列に自分が含まれているデータをフィルターして表示することができました。

12
2
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
12
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?