Dynamics 365 CRM(Salesとか)やPower Appsのモデル駆動アプリのリスト画面でアイコンを表示するにはJavascriptを利用する必要があるというのがこれまでの定説(?)でした。が、この度、ノンコーディングでアイコンを表示する方法を思いついたのでここに記載します。
これまでの定説
Power Apps 環境の管理者とカスタマイザーは、ビューにグラフィックスを追加して、JavaScriptを使用した列の値に基づいてグラフィックを選択するために使用するロジックを設定できます。 この機能により、テキストまたは数値とともにアイコンを表示するリスト ビューをカスタマイズできます。
Javascriptを使わずにアイコンを表示する方法
方法は非常に簡単で、計算式と絵文字(emoji)を組み合わせるだけです。
Sample
例えば、直近5日間の間に新たに登録された見積に対して”New”というアイコンを表示させたいとします。この場合、以下のような手順で実装していきます。
手順①:日付の計算式を作成
まずは「(今日の日付)ー(見積作成日)=Aging」という計算式を作ってアイコンを表示するための条件を判定させる仕組みを用意します。日付計算をさせるので、データ型は”期間”にしておくのがよいでしょう。またPower Appsでは、期間=整数(分)として取り扱われるため、計算式ではDIFFINMINUTES関数を使って分単位での差を計算します。
今回は見積というカスタムテーブルを作成していますが、どのテーブルでも同じ手順で実装できます。
手順②:emojiを探す
手順③:アイコンを表示させるための計算フィールドを作成
最後に、🆕を表示させるための計算フィールドを作成します。Power Appsでは数値以外の情報も計算フィールドとして取り扱うことができるため、今回のようにある条件に合致する場合に🆕を表示させるといった簡単なロジックであれば十分に対応することができます。
あらたにテキスト項目を追加し、計算式としてAging列が3600(=60分×24時間×5日)以下の場合に🆕を表示させるというロジックを入れます。
できた
ということで、若干地味ですが、以下の感じで実装することができました。
この方法を応用すれば、利益率が20%以下の見積に赤信号を点灯させるといったベタな要件はノンコーディングで乗り切ることができます。
Dynamics 365やPower Appsでアプリを開発する際、どうしてもJavascriptを使ったコーディングが発生するケースがありますが、少し工夫すればノーコード開発に寄せていくことも可能なのでこういう引き出しをいっぱい持っておきたいものです。