【PowerApps】時間(時刻)によってNavigate先Screenを変える
If 関数やHour 関数、比較演算子を組み合わせた構文で、Navigateの動きを自動で変える手順です。
はじめに
PowerAppsではボタンやタイマーのキープロパティ(OnSelectやOnTimerEndなど)にNavigate関数を入れることで、別Screenへ遷移させることができます。
また、その画面遷移の際に条件を指定することができます。
今回は、時刻によって遷移先が変わるような構文の一例を紹介します。
構文
完成形
If(Hour(Now()) >= 13,Navigate(Screen5,ScreenTransition.Cover), Navigate(Screen1,ScreenTransition.Cover))
今回の完成形は上記のような感じ。構文を詳しく見ていきましょう。
If関数
今回使用した構文では
If( 条件式, 条件が正しい場合の処理, そうでない場合の処理 )
という感じです。
Hour関数
今回使用した構文では、
Now 関数と組み合わせています。
Now 関数は、現在の日付と時刻を日付/時刻値として返します。
Hour( Now() )とすることで、現在の日付時刻から、〇時の値だけを0~24の範囲で取得します。
比較演算子 >=
『左辺が右辺以上』を表す比較演算子です。
Hour(Now()) >= 13
とすることで、13時以上の時間を表現します。
まとめ
上記の構文を組み合わせることで、OnSelectやOnTimerEndが実行されるタイミングが13時以降かどうかで遷移先のScreenを自動で変わるように記述することができます。
私の職場では、PowerAppsをサイネージ的に使う際に、夕方の時間帯になったら定時退勤を促すページにいくような制御に活用しています。
ありがとうございました。
この記事が気に入ったらサポートをしてみませんか?