Power Appsの使い方

Power AppsとPower Automateの使い方やできることがわかるブログを目指しています。

PowerApps データソースから文字列+日付の複数条件でデータを取得する

Filter()関数を使用して、SharePointなどのデータソースから

複数条件でデータを取得する方法です。

 

事前準備

・文字列と日付の型のカラムがあるデータソースを準備してください。

・ギャラリーにデータソースを紐づけておいてください。

・テキストコントロールを準備してください。

・日付選択コントロールを準備してください。

 

この記事ではこのようなデータソースを扱います。

f:id:botherntu:20180824004159p:plain

 

 

GalleryのItemsプロパティを変更する

例えばGalleryのitemsプロパティに

 

Events //データソース名

 

と記述すると、データソースの中身が全件表示されます。

f:id:botherntu:20180823234952p:plain

 

ここに、Filter()関数を用いることで、必要なデータを絞り込むことができます。

 

FilterTableFormula1 [, Formula2, ... ] ) 

Filter( データソース名条件1 [, 条件2, ... ] )

 

という感じで使用できます。今回は

Filter(
Events,
Title=TextSearchBox1.Text,
Date >= DatePicker1.SelectedDate,
Date < DatePicker1.SelectedDate + 1
)

 と記述してみます。

すると、テキストに入力したタイトルに完全一致するイベントで、かつ

選択した日付のイベントがリストに表示されます。

 

実際にはタイトル検索は部分一致(in)や前方一致(StartWith)などで実装したほうが便利ですね。場合によってはそもそもSearch()関数のほうがいいかも。

日付での検索も日付選択を2つ用意しておいて範囲検索で使用する場合が多いと思います。

(ぶっちゃけ実用的な例じゃないです・・・試しに書いてみて、動きを理解する用。)

 

 

とりあえず複数条件でのデータ取得の方法はここまでで完了です!

 

委任の罠

ただ、ここで注意点があります。

もしかしたらPowerApps上で関数に波線が出ていませんか?

 

こんな風に。

f:id:botherntu:20180827010335p:plain

 

 

これは、委任ができていない状態です。

この状態だと非常によろしくないです。データソースの一部しか検索できていない状態です。

データの持ち方を工夫する、取得の方法を変える、別のデータソースの利用を検討する、などの対応が必要です。

 

委任についてはまた記事にまとめようと思います。

 

 

f:id:botherntu:20180824000631p:plain

 

 

docs.microsoft.com

 

 

PR

Power Apps Power Automate に関する技術支援を提供しています。

Power Apps / Power Automate 技術支援サービス | ZEE CitizenDevSupport

https://powerapps.zee-citizendevsupport.com/

 

PowerApps ボタンやラベルなどのコントロールでよく使う基本プロパティについて

ボタンやラベルなどのコントロールのプロパティでよく使う基本項目について書いてみます。

 

Text

表示するテキストを設定できます。

Value

チェックボックス、スライダー、ラジオボタンなどにあります。

コントロールの値です。

Items

ギャラリーやドロップダウン、ラジオボタンなどにあります。

表示するデータソースやコレクションなどを指定します。

OnSelect

ボタンやアイコン、ギャラリーなどにあります。

ボタン押下時に実行する関数を記述できます。

OnChange

テキストやラジオボタンなどにあります。

値が変わったときに実行する関数を記述できます。

Visible

表示、非表示を設定できます。

DisplayMode

View / Edit / Disabled のモードがあります。

Viewモードではボタンは反応しなくなります。

Editモードではボタンが反応します。

Disabledモードではグレーアウトして無効になってるぽくなります。

見た目のデザイン

各コントロールを選択した状態で、上部メニューのホーム>から

背景色、文字色、フォントサイズ、太さなどを設定できます。

 

基本的なコントロールについて詳しくはこちら

docs.microsoft.com

 

PR

Power Apps Power Automate に関する技術支援を提供しています。

Power Apps / Power Automate 技術支援サービス | ZEE CitizenDevSupport

https://powerapps.zee-citizendevsupport.com/

 

PowerApps 画面上部にバナー通知を表示する

簡単なメッセージを表示できる関数があります。

 

Notify()関数を使用すると、このようなバナー表示を出すことができます。

 

f:id:botherntu:20180824014124g:plain

 (無駄なものがいくつかあって見にくくてすみません)

 

Notify("表示するメッセージ")

OnSelectなどに上記のように記述すると使えます。

また、第2引数も指定することができ、

 

・警告メッセージ(黄色)

Notify("メッセージ",NotificationType.Warning)

 

・エラーメッセージ(赤)

Notify("メッセージ",NotificationType.Error)

 

・成功メッセージ(緑) 

Notify("メッセージ",NotificationType.Success)

など見た目も計4種から選べます。

 

保存成功のメッセージや、失敗のメッセージなどに利用できます。

PowerApps 画面遷移(画面の移動)をする

Screen間の画面遷移、画面の切り替えの方法です。

 

事前準備

ScreenAに

・移動 ボタン

 

ScreenBに

・戻る ボタン

 

をそれぞれ準備してください。

 

移動 ボタンの実装

OnSelectプロパティに

 

Navigate(ScreenB,Fade)

 

と記述します。

引数に指定したスクリーンに、第2引数で指定したアニメーションの方法で移動します。

f:id:botherntu:20180821223705p:plain

 

戻る ボタンの実装

OnSelectプロパティに

 

Back()

 

と記述します。

移動してきたもとの画面(今回はScreenA)に戻ります。

f:id:botherntu:20180821223850p:plain

 

以上です。

PowerApps ギャラリーで選択したデータをフォームから更新する

事前準備

スクリーンAに

・データ選択用Gallery

 

スクリーンBに

・フォーム

・保存 ボタン

 

をそれぞれ設置しておいてください。

Galleryとフォームはデータソースを紐づけてある状態にしてください。

 

 

データ選択用Galleryの実装

OnSelectプロパティに

 

EditForm(Form);

Navigation(Screen,Fade)

 

と記述します。

Formは対象のフォーム、

Screenはフォームを設置したスクリーンを指定してください。

 

これでギャラリーを選択すると、フォームの画面へ遷移するようになりました。

f:id:botherntu:20180821004645p:plain

 

フォーム Itemの指定

フォームのItemプロパティに

Gallery.Selectedと記述します。

 

※Galleryは環境に合わせて変更してください。

f:id:botherntu:20180821005208p:plain

 

※このフォームのItemプロパティが、修正モード時に対象となるデータを指定するプロパティになります。場合によりここに変数を入れることもあると思います。

 

保存 ボタンの処理

OnSelectプロパティに

 

SubmitForm(Form)

 

と記述します。

f:id:botherntu:20180821005511p:plain

 

以上です。

 

これで、ギャラリーで選んだ項目の更新を行えるようになりました。

実際に動かして試してみてください。

 

ちなみに、F5を押すことで再生モードにすることが可能です。

Power Apps や Power Automate に関する仕事のご依頼は下記ページからお問い合わせください。
ZEE CitizenDevSupport