LoginSignup
0
1

More than 3 years have passed since last update.

キャンバスアプリでデータソースの絞り込みを行う

Posted at

SharePointのリストをスマホで編集しやすくするためにPower Appsのキャンバスアプリを作成したが、必要なものだけが表示されるようにしたかった。
例えば交通費の経費申請をする場合など。
経費リストには交通費以外の経費申請の内容が登録されていくが、それは申請する経費の種類によって入力する内容が異なったりする。
その時に一覧画面に交通費以外の申請内容が表示されても困るので絞り込みをしたかった。

結論

BrowseScreed1 -> BrowseGallery1 -> 詳細設定 -> データ -> Items に設定されている内容(Filter関数)を変更する。
※PowerAppsがキャンバスアプリを作成した際に自動で生成するコントロール名で記載しています。

Filter関数には条件(Formula)を複数指定できるので、絞り込みたい条件をカンマ区切りで指定していく。
例えば

Filter([@経費], 経費種別.Value = "交通費", StartsWith(Title, TextSearchBox1.Text))

など。
ここの数式のポイントが

  1. 経費種別.Value としている。(経費種別はSharePointリストの1項目で選択肢)
  2. =で文字列の一致を判定している。

の2つ。

経費種別.Value としている事

SharePointリストで選択肢の項目に対して文字列の比較をしようとした場合、選択肢項目は文字列ではないのでValueプロパティで選択している項目の文字列を取得する必要がある。
※これが選択肢ではなく、1行テキストとかであれば項目名を直接指定するだけで済む。

=で文字列の一致を判定している

Power Appsの数式にはIsMatch関数が存在する。
しかしこの関数を使おうとした場合に、以下の様な警告が表示された。

委任に関する警告です。この数式の "Filter" の部分は、大きなデータ セットで正常に機能しない可能性があります。

データ ソースは数式を処理できずに、不完全なデータ セットを返すことがあります。データ セットが不完全な場合、アプリケーションは正しい結果を返さないか、正常に機能しない場合があります。

なので=で文字列が一致しているかは判定している。
IsMatchについてはまた後日詳しく調べるとしよう。

参考記事:キャンバス アプリでの委任を理解する
参考ブログ:委任に対するデータ行の制限

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