見出し画像

PowerPlatform塾 11回目 Power Apps複数条件で絞り込む!

まず感想ひとこと。
今回はつまづきまくった💦

前回までの記事はこちら↓

今回何をしてつまづいたのか、アウトプットしますので見てください!


複数の条件で絞り込む

今はこんな感じでスタッフでしか絞り込めない。

画像1

前回の復習で種類のドロップダウンリストを作る

画像2

↑ここで右側上部 種類のドロップダウンリストの名前をKind_Dropにしたかったのにkind_Dropにしちゃったんですよね。小文字。
この時点の私は気づかず💦

kind_Dropの位置はこう↓

画像3

これから、二つのドロップダウンリストからこんな感じで
人物と種類で絞り込み条件をできるようにする

画像27

まず忘れてたけど、Power Appsの場合絞り込みたい側に関数を仕込む必要があるんですよね。「Filterってどこにいますか?」って聞いちゃいました。
先週のことなのに、忘れてしまう💦

絞り込みたいこのギャラリーを選んで・・・

画像28

今↓


画像4

カンマを打ってこの後ろに式を追加↓

画像5

↑間違えてて上手くいかなくてHELP要請。
最近は「助けて」という前に画面共有のアイコンをたたいて共有してしまうという技を使っているという、ある意味手慣れてきた。(恥)

画像6

Kind=になってなかった💦そしてコントロールの命名が小文字のkind_Dropだったため、見本とは異なることを知る。

↓初めて使ったnoteのcode機能!(一度に貼り付けできないのかな💦)

Items = Filter (zaiko_list , Staff = Staff_Drop . Selected . Result , 
Kind = kind_Drop . Selected . Result

これで複数の絞り込みが可能に。

未選択の場合はどうする?


でも、「未選択の場合」を作っていないのでそちらを作る。
Staff_Dropのプロパティの詳細設定の「AllowEmptySelection」を・・

画像7

trueに変更!

画像8

プレビューで見てみると「未選択」の状態を作れた

画像9

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

はい!やってみよう!

画像10

エラー!
またkind_Dropの小文字問題も・・・

上から
「Staff_Drop」が未選択ならば、Kindだけでフィルターをかける
「kind_Drop」が未選択ならば、Staffだけでフィルターをかける
上記2つのどちらでもない場合は、KindとStaff両方で絞り込む

画像12


IF関数+And関数+Not関数

このどちらのドロップダウンリストも未選択の時に在庫リストすべてが出てほしい

画像11

今はIF関数で
「Staff.Dropが未選択の場合~になっているのでkind.Dropの値で検索しなきゃ!」となっている状態

「Staff.Dropもkind.Dropも未選択の時」を追加しないといけない

IF条件は条件は基本的にひとつなので
条件と条件どちらもということになると、AND関数を使う!

で・・・・「akira先生大変です💦
プレビューしてもうまくいきません( ;∀;)」

)の数と,忘れでエラー出まくりで先生に修正していただいた!
)と,注意!絶対!(太字)

画像13

画像14

上から
Staff.Drop が未選択&kind.Drop が選択の場合 Kind でフィルターかけてね
Staff.Drop が選択&Kind.Drop が未選択の場合Staff でフィルターかけてね
どちらも未選択の場合在庫リスト全てを表示してね
上記のどれにも当てはまらなかったら、どちらでも絞り込んでね


テキストで絞り込む

テキストで完全一致の検索をしたい。

まずは、テキストコントロールを追加
Product_Inputという名前をつけた

画像15

規定・ヒントのテキスト・位置を変更

画像16

画像17

Filterの一番後ろに

Title=Product_Input.Text

を追加する


画像18

あああ
エラーでここで先生に訂正していただく
余計なものがあった💦

画像19


(↑これコード入れようかなと思ってやめたけど消し方のワカラナイ残骸です。note初心者でごめんなさい💦)


さて、これでできるようになったのが
何も入力していないときに在庫リストが全表示された!

画像20

テキストラベルで完全一致!

画像21


並べ替えSort関数


以前作った「Zaiko_Name」ラベルをこのように編集。

画像25

次は、並べ替えのための切り替えコントロールの追加!

「挿入→入力→切り替え」
で、またもや私は失敗を・・・ギャラリーの中に配置しちゃったんですね。
スクリーンに入れなきゃいけなかった!

画像22

Sort_Toggleという名前を付けて、詳細設定から
FalseTextに”降順”
TrueTextに”昇順”と入力


今度はSort関数を使ってみる。
zaiko_listの数式の頭にSort(を足す。

画像23


最後のほうに
,ID,If(
Sort_Toggle.Value = true,
Ascending,
Descending))を追加

画像24

ここで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割くらい先生の力でエラー修正していただいて
今回はこんな感じまでたどりついた!

画像30


次回はナビゲーションバーとのこと!

ここで委任の話。あまり実感がわかなかったのだけどメモしておく。
 委任警告がでたら2000を超えると読み込まなくなるので
 PowerAutomateでどこかに移さないといけない
 Excelは絶対に委任不可能 絞り込み=隠しているだけ
 なのでDBとしては使ってはいけない

 例えば、日報を社員全員で書くと2000は簡単に行くので
 1週間たったらどこかに移行する等をする


感想

要復習。こうしたらこうなるってのをもうちょっと頭で理解しなくちゃなぁ。
講義あと3回?(え、私、一人でアプリ作れるようになるのかな。)

akira先生のブログで

[Docs見て拒否反応示して「Docsが分かりづらいからしょうがない!」ってのはカッコ悪いですね。]
ってセリフがあったのだけれど、正直私の頭ではわからないんですよ。
これまで情シスとして何年もやってきてはDocsのページにぶつかるけどいつもワカラナイ。
カッコ悪くていいので、ワカラナイと叫ばせてください。
そしてわかる方による、わかりやすいブログや書籍や講習で勉強させてください。

こないだのこのPower Apps勉強会で思い知ったけれど、いや前から知ってるけれどakira先生凄いんですよ。
そんな方に直々に講習を受けさせてもらえる機会、ありがたい限り。
もっとちゃんと身につけなきゃな。

私もakira先生から有料講習受けたい!と思った方は↓からakira先生に問合せしてくださいね。(お世話になっているのでせめて広報します。)
今日もありがとうございました!



















スキいただけるとめっちゃ嬉しいです✨ 励みになります!