PowerPlatform塾 11回目 Power Apps複数条件で絞り込む!
まず感想ひとこと。
今回はつまづきまくった💦
前回までの記事はこちら↓
今回何をしてつまづいたのか、アウトプットしますので見てください!
複数の条件で絞り込む
今はこんな感じでスタッフでしか絞り込めない。
前回の復習で種類のドロップダウンリストを作る
↑ここで右側上部 種類のドロップダウンリストの名前をKind_Dropにしたかったのにkind_Dropにしちゃったんですよね。小文字。
この時点の私は気づかず💦
kind_Dropの位置はこう↓
これから、二つのドロップダウンリストからこんな感じで
人物と種類で絞り込み条件をできるようにする
まず忘れてたけど、Power Appsの場合絞り込みたい側に関数を仕込む必要があるんですよね。「Filterってどこにいますか?」って聞いちゃいました。
先週のことなのに、忘れてしまう💦
絞り込みたいこのギャラリーを選んで・・・
今↓
カンマを打ってこの後ろに式を追加↓
↑間違えてて上手くいかなくてHELP要請。
最近は「助けて」という前に画面共有のアイコンをたたいて共有してしまうという技を使っているという、ある意味手慣れてきた。(恥)
Kind=になってなかった💦そしてコントロールの命名が小文字のkind_Dropだったため、見本とは異なることを知る。
↓初めて使ったnoteのcode機能!(一度に貼り付けできないのかな💦)
Items = Filter (zaiko_list , Staff = Staff_Drop . Selected . Result ,
Kind = kind_Drop . Selected . Result
これで複数の絞り込みが可能に。
未選択の場合はどうする?
でも、「未選択の場合」を作っていないのでそちらを作る。
Staff_Dropのプロパティの詳細設定の「AllowEmptySelection」を・・
trueに変更!
プレビューで見てみると「未選択」の状態を作れた
IF関数
ここでakira先生より数学の話。
数学A 場合の数
カード2枚 どちらか表 どちらか裏 パターンはいくつある?
(ああ、遠い昔に勉強したような気がする・・・)
今回の場合はこんな感じ。
「Staff_Drop」「Kind_Drop」 ともに選択
「Staff_Drop」だけが選択・・・Staff だけでフィルターをかける
「kind_Drop」だけが選択・・・Kindだけでフィルターをかける
「Staff_Drop」「Kind_Drop」 ともに未選択→Zaiko_listを全部見れるようにする
そのために使うのがIF関数。
IF関数を使ってどちらも選択されていない場合は
IF(条件,A,B)
条件を満たすならばA,満たさないならばB
はい!やってみよう!
エラー!
またkind_Dropの小文字問題も・・・
上から
「Staff_Drop」が未選択ならば、Kindだけでフィルターをかける
「kind_Drop」が未選択ならば、Staffだけでフィルターをかける
上記2つのどちらでもない場合は、KindとStaff両方で絞り込む
IF関数+And関数+Not関数
このどちらのドロップダウンリストも未選択の時に在庫リストすべてが出てほしい
今はIF関数で
「Staff.Dropが未選択の場合~になっているのでkind.Dropの値で検索しなきゃ!」となっている状態
「Staff.Dropもkind.Dropも未選択の時」を追加しないといけない
IF条件は条件は基本的にひとつなので
条件と条件どちらもということになると、AND関数を使う!
で・・・・「akira先生大変です💦
プレビューしてもうまくいきません( ;∀;)」
)の数と,忘れでエラー出まくりで先生に修正していただいた!
)と,注意!絶対!(太字)
上から
Staff.Drop が未選択&kind.Drop が選択の場合 Kind でフィルターかけてね
Staff.Drop が選択&Kind.Drop が未選択の場合Staff でフィルターかけてね
どちらも未選択の場合在庫リスト全てを表示してね
上記のどれにも当てはまらなかったら、どちらでも絞り込んでね
テキストで絞り込む
テキストで完全一致の検索をしたい。
まずは、テキストコントロールを追加
Product_Inputという名前をつけた
規定・ヒントのテキスト・位置を変更
Filterの一番後ろに
Title=Product_Input.Text
を追加する
あああ
エラーでここで先生に訂正していただく
余計なものがあった💦
(↑これコード入れようかなと思ってやめたけど消し方のワカラナイ残骸です。note初心者でごめんなさい💦)
さて、これでできるようになったのが
何も入力していないときに在庫リストが全表示された!
テキストラベルで完全一致!
並べ替えSort関数
以前作った「Zaiko_Name」ラベルをこのように編集。
次は、並べ替えのための切り替えコントロールの追加!
「挿入→入力→切り替え」
で、またもや私は失敗を・・・ギャラリーの中に配置しちゃったんですね。
スクリーンに入れなきゃいけなかった!
Sort_Toggleという名前を付けて、詳細設定から
FalseTextに”降順”
TrueTextに”昇順”と入力
今度はSort関数を使ってみる。
zaiko_listの数式の頭にSort(を足す。
最後のほうに
,ID,If(
Sort_Toggle.Value = true,
Ascending,
Descending))を追加
ここでnoteの機能で全体を貼っておこう!(あ、いっぺんに貼り付けできた!)
Items=
Sort(If(
And(
Staff_Drop.Selected.Result = Blank(),
Not(kind_Drop.Selected.Result = Blank())
),
Filter(
zaiko_list,
Kind = kind_Drop. Selected. Result,
Product_Input.Text in Title
),
And(
kind_Drop.Selected.Result = Blank(),
Not(Staff_Drop.Selected.Result = Blank())
),
Filter (
zaiko_list,
Staff = Staff_Drop. Selected. Result,
Product_Input.Text in Title
),
And(
kind_Drop.Selected.Result = Blank(),
Staff_Drop.Selected.Result = Blank()
),
Filter(
zaiko_list,
Product_Input.Text in Title
),
Filter (
zaiko_list,
Staff = Staff_Drop. Selected. Result,
Kind = kind_Drop. Selected. Result,
Product_Input.Text in Title
)
),ID,If(
Sort_Toggle.Value = true,
Ascending,
Descending))
ここのエラーチェックにとても時間をいただいてしまった💦
(ありがとうございました!)
上から
これらのテーブルをソートするよ
・Staff.Drop が未選択&kind.Drop が選択の場合 Kind でフィルターかけてね
・Staff.Drop が選択&Kind.Drop が未選択の場合Staff でフィルターかけてね
・どちらも未選択の場合在庫リスト全てを表示してね
・上記のどれにも当てはまらなかったら、どちらでも絞り込んでね
IDの列で、並び替え順はSort_Toggleの値を見てね
だと思う!(曖昧!)間違ってたら後で修正するのでツッコミください。
そして、6割くらい先生の力でエラー修正していただいて
今回はこんな感じまでたどりついた!
次回はナビゲーションバーとのこと!
ここで委任の話。あまり実感がわかなかったのだけどメモしておく。
委任警告がでたら2000を超えると読み込まなくなるので
PowerAutomateでどこかに移さないといけない
Excelは絶対に委任不可能 絞り込み=隠しているだけ
なのでDBとしては使ってはいけない
例えば、日報を社員全員で書くと2000は簡単に行くので
1週間たったらどこかに移行する等をする
感想
要復習。こうしたらこうなるってのをもうちょっと頭で理解しなくちゃなぁ。
講義あと3回?(え、私、一人でアプリ作れるようになるのかな。)
akira先生のブログで
[Docs見て拒否反応示して「Docsが分かりづらいからしょうがない!」ってのはカッコ悪いですね。]
ってセリフがあったのだけれど、正直私の頭ではわからないんですよ。
これまで情シスとして何年もやってきてはDocsのページにぶつかるけどいつもワカラナイ。
カッコ悪くていいので、ワカラナイと叫ばせてください。
そしてわかる方による、わかりやすいブログや書籍や講習で勉強させてください。
こないだのこのPower Apps勉強会で思い知ったけれど、いや前から知ってるけれどakira先生凄いんですよ。
そんな方に直々に講習を受けさせてもらえる機会、ありがたい限り。
もっとちゃんと身につけなきゃな。
私もakira先生から有料講習受けたい!と思った方は↓からakira先生に問合せしてくださいね。(お世話になっているのでせめて広報します。)
今日もありがとうございました!
スキいただけるとめっちゃ嬉しいです✨ 励みになります!