Це відео не доступне.
Перепрошуємо.

Power Apps & SharePointでの複数条件の検索方法 (Filter 関数)

Поділитися
Вставка
  • Опубліковано 7 сер 2024
  • 00:00 イントロ
    01:52 SharePointリスト紹介
    02:36 委任の説明
    04:00 Power Apps での関数の説明
    ■概要
    SharePoint がデータソースのときにPower Apps キャンバスアプリにて検索機能を実装したいことがあると思います。
    ただ、Search関数は委任の青い線が出てしまいうまくいかない・・・
    Filter関数はどうやって使えばいいんだろう?
    複数条件を設定するときのコツは?
    そういったことをご紹介いたします!
    ■利用サービス
    SharePoint Online
    Power Apps キャンバスアプリ
    ■対象者
    SharePoint がデータソースのときにPower Apps キャンバスアプリにて検索機能を実装したい方
    ■学べること
     1. 委任とは?
     2. 委任の問題を回避したFilter関数、StartsWith関数の書き方
     3. 複数条件での検索
    ■必要なライセンス
    Microsoft 365 に付属するPower Apps ライセンス
    ■ブログ
    www.geekfujiwara.com
    ■Twiter
    / geekfujiwara
    ■Udemy
    2022/10/31までセール中!
    www.udemy.com/course/power-pl...

КОМЕНТАРІ • 38

  • @sssss.joseph
    @sssss.joseph Рік тому +1

    いつも貴重な動画をありがとうございます。
    フィルターで表示されたレコードの値を集計する場合sumを使うと計算はしてくれますが委任エラー表示になります。
    こういった場合はコレクションを使うのがいいですか?
    ご教示いただければありがたいです。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      いつもご視聴ありがとうございます!
      はい、データソースがSharePointなどであるときはSum 等の集計関数は委任できませんので一度Collectionに必要なレコードをとってくることになるかと思います。
      ちなみにDataverseであれば50,000件までは集計関数を委任できます。
      Office 365付帯のDataverse for Teamsもありますのでご検討ください!

    • @sssss.joseph
      @sssss.joseph Рік тому +1

      @@geekfujiwara さん
      ご丁寧にご解答いただきありがとうございます。大変参考になりました!
      やはりDATAVERSEを検討してみます!
      これからも動画楽しみにしてます🥰
      ありがとうございます🙇🏻

  • @user-id2dd1nq9o
    @user-id2dd1nq9o Рік тому

    参考になる動画ありがとうございます。同じことをしたくて構文参考にさせていただくとStartsWith構文まではギャラリー検索可能なのですが、IsBlank構文を追加するとギャラリーが非表示になり”名前が無効ですThisItemは認識されません”となってしまうのですがどうしてかご教示いただければありがたいです。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      ご感想もありがとうございます。
      ThisItemというエラーメッセージが出るということは、ギャラリーコントロール全体ではなく、レコード単位に設定している可能性があります。以下ご確認ください。
      ・ギャラリーのItems プロパティに関数を設定しているか(ギャラリー内のレコードへの関数うの設定ではなく、Iteams(データソース)に設定を行う必要がある)

  • @ncp61ist314
    @ncp61ist314 Рік тому +1

    PowerAppsを業務に使用したくフジワラさんの動画を参考にアプリを作らせて頂いておる初心者です。
    そこで、sharepointリスト上でレコード数が2000は超える想定から今回の動画を観てfilter関数を使用してみましたが、委任の警告が出てしましました。
    現時点ではレコード数が100ほどしかないことから(作成環境)とりあえず動いてはいるのですが、本稼働後に検索で上がってこないことは避けたく思っております。
    下記の関数になるのですが、解決方法についてご教示いただけないでしょうか。
    Filter(業務受付リスト,
    StartsWith(ID,検索_受付ID.Text)
    )
    この「ID」というのはsharepointリストじょうで自動採番される数値型の値であり、「検索_受付ID」というテキストボックスも数値型として設定しておりますので".text"と入れるのも違和感を感じております。
    お手数をおかけいたしますが、どうかよろしくお願いいたします。

    • @geekfujiwara
      @geekfujiwara  Рік тому +1

      参考にしていただきましてありがとうございます。
      ご想定の通りで、テキストインプットコントロール にて入力させているため、テキスト型とリスト上の数値型を比較している状況です。
      見た目同じ値でもデータ型が違っており、うまく動かないという現象です。
      例えば以下のように関数を変えてみてください。Valueはテキスト型を数値型に変換する関数です。
      Filter(業務受付リスト,
      StartsWith(ID,
      Value(検索_受付ID.Text)
      )
      )
      Microsoft のドキュメントはこちらにあります。
      learn.microsoft.com/ja-jp/power-platform/power-fx/reference/function-value

  • @yamadahi8304
    @yamadahi8304 7 місяців тому

    コメント失礼いたします。
    とても参考になりました。
    自分のアプリ上で試してみたのですが、二つドロップボックスがあって条件フィルターを設置しています。
    両方選ばないとフィルターがかからないのですが、何が原因だと考えられますでしょうか。説明不足あるかもしれませんが、何卒宜しくお願いします。

    • @geekfujiwara
      @geekfujiwara  7 місяців тому

      IsBlank()を条件に入れていないからですかね。

  • @apexman9528
    @apexman9528 Рік тому +1

    はじめまして。
    貴重な動画ありがとうございます。
    テキスト検索で、部分一致検索をしたいです。
    京を検索すれば、東京都も京都も出てくるようにしたいです。
    お忙しいとは思いますが、ぜひとも方法ご教授頂けないでしょうか😭

    • @geekfujiwara
      @geekfujiwara  Рік тому +1

      SharePoint リストをデータソースとした場合、部分一致を実現するSearch 関数の委任に対応しておりませんので残念ながら出来ません。したがって、最大2,000件のレコード数という取得上限数がありますが一度SharePoint リストのデータをClearCollectしてローカルにキャッシュしてそのコレクションに対してSearch 関数をかけることで部分一致が可能です。またMicrosoft 365ライセンスの範囲内でご利用いただけるDataverse for Teams をデータソースとしてご利用いただければ直接データソースへのSearch関数の委任が可能です。

    • @apexman9528
      @apexman9528 Рік тому

      @@geekfujiwara そうなんですね、ご丁寧に本当ありがとうございます!!

    • @apexman9528
      @apexman9528 Рік тому +1

      何度もすみません。
      ドロップダウンで全てを選択した場合、すべてのデータを表示させたいのですが、どのようにしたらよいでしょうか。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      Itemプロパティに
      If(ドロップダウン名.Selected.Value = “全て” , データソース名,
      Filter(データソース名, 条件))
      こんな感じですね!

    • @apexman9528
      @apexman9528 Рік тому +1

      @@geekfujiwara
      さっそくありがとうございます。
      本当に助かります😭😭
      ドロップダウンが2個ある場合の構文はどうなるのでしょうか。
      本当何度も申し訳ないです。

  • @kosa5650
    @kosa5650 Рік тому +1

    初めまして。
    いつもUA-camを参考に業務の効率化をさせていただいております。
    もしご存じであれば教えて頂きたいのですが、現在PowerAppsのキャンバスアプリにて、Share Pointのリストにデータを入力するツールを作成しているのですが、委任問題を避けるために「Share Pointのリストデータが1900件になれば、自動的に別のShare Pointのリストを作成し、退避する」などの対応は可能なのでしょうか?
    不躾なご質問で恐れ入ります。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      可能です。「SharePoint リストを作成する」というPower Automate は標準コネクタでは用意されておりませんが、SharePoint リストは特別にHTTPリクエストを送ることができるコネクタが用意されておりますので、SharePoint リストを作成するGraph API を実行するようにすればよいかと思います。リスト数は定期的にスケジュールフロー等でカウントすることでトリガーしてはいかがでしょうか。
      Graph APIは以下の通りの仕様です。
      learn.microsoft.com/ja-jp/graph/api/list-create?view=graph-rest-1.0&tabs=http
      SharePoint のHTTPリクエストのコネクタは以下のようにご利用いただけます。
      learn.microsoft.com/ja-jp/sharepoint/dev/business-apps/power-automate/guidance/working-with-send-sp-http-request
      データの新リストへのコピーと既存リストからの削除はPower Automate の標準アクションにて実行できるかと思います。ただ、イメージ列に関しては標準アクションでサポートされていないためご注意ください。
      コピーは、複数の項目の取得を行い、項目の作成をApply to each させる(標準で取得上限が100件のため、適宜見直してください)
      一方、Microsoft 365のライセンスの範囲でも利用できるDataverse for Teams というデータベースサービスも利用できますのでこちらもご検討いただければ委任の問題はほぼ気にしなくてよくなるのではないかなと思います。こちらも合わせてご検討ください。
      learn.microsoft.com/ja-jp/power-platform/admin/about-teams-environment

  • @kanako8674
    @kanako8674 Рік тому +1

    IsBlank関数と||で、Dropdownが未選択だった時に全件表示することができるのは分かったのですが、IsBlankがtrueだとなぜ全件表示させることができるのか、理屈がピンときません。
    Filter関数の条件の部分がtrueだと、条件が無い、という意味になるのでしょうか。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      そもそも Filter に書かれている条件と言うのは、trueの時のデータセットを返します。ドロップダウン未選択=Blank と言うことはIsBlankを評価したとき、データソースに関係なく常にtrue なので、全件表示となります。

    • @kanako8674
      @kanako8674 Рік тому +1

      @@geekfujiwara お返事ありがとうございます。全レコードtrueで評価されて、全レコードが返ってきているイメージでしょうか。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      いえ、データソース関係なくドロップダウンに値があるかないかを判断して、常にtrueとなっている感じです。全レコード評価してません!

    • @kanako8674
      @kanako8674 Рік тому +1

      @@geekfujiwara 常にtrueというのは、常に何がtrueなんでしょうか?ソースが、でしょうか?ソースがtrue=全部見えている状態でしょうか。
      しつこくてすみません。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      ドロップダウンの中身の評価ですー。
      何も選択してないので常にIsBlankはtrueですよね??

  • @user-hp7dh3qp3x
    @user-hp7dh3qp3x Рік тому +1

    初心者すぎて説明がとても下手なのですが、イコールを打った際、型に互換性がないため比較できません。textとnumberの型は比較できません。と出てきます。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      元々のSharePoint の列のデータ形式を合わせるようにするか、Power Apps 側でSharePoint リストに渡すデータ形式をValue 関数かText 関数で変換してみてください!

    • @user-hp7dh3qp3x
      @user-hp7dh3qp3x Рік тому +1

      @@geekfujiwara先ほどの質問とは異なるのですが、
      選択肢型で1~5、赤と青と緑などの2つドロップボックスで絞り込みたい場合はどのように関数を作れば良いでしょうか?またドロップボックスの方の関数も教えていただけると嬉しいです。このようなことがわかる動画があればURL欲しいです。

    • @geekfujiwara
      @geekfujiwara  Рік тому

      選択肢用のコレクションですが以下のようにドロップダウンのItems に設定してみてください。動画の 4:28 付近に説明があります。
      数字の場合
      [1, 2, 3, 4, 5]
      文字列の場合
      [“青”, “緑”, “赤”]

    • @user-hp7dh3qp3x
      @user-hp7dh3qp3x Рік тому +1

      @@geekfujiwara 何度も申し訳ないです。シェアポイント側での設定等はあるでしょうか?シェアポイント側のリストは選択肢に で作成で大丈夫ですよね?

    • @geekfujiwara
      @geekfujiwara  Рік тому

      SharePoint リスト側は選択肢型で作成でOKですよ!
      その場合、Power Apps 側ではテキスト形式として認識するため、選択肢内のデータが数字であっても、テキスト形式として選択肢を作成するようにしてください。
      たとえばこんな感じです。
      [“1”, “2”, “3”]
      他にもSharePoint の選択肢列をドロップダウンに設定する方法もありますが、まずはこの基本的なやり方を試してみてください。