Power Apps iconPower AppsことはじめPower Apps icon
【データ統合】予算・進捗可視化ダッシュボード
Step 3 / 4

[応用] 期限切れや予算オーバーを色で知らせる条件付き書式

異常値を自動的にハイライトし、問題の早期発見につなげます。

Power Appsでは、コントロールの各プロパティに関数を設定し、データの状態に応じた条件付き書式を実装できます。

If関数を使った基本的な色分け

ステップ2で作成した「横棒グラフ」の数値ラベルに条件式を設定します。

  1. ギャラリー内の予算消化率ラベルを選択し、詳細設定 > Colorに下記を入力します。
If(
    ThisItem.Budget < ThisItem.Executed,
    Color.Red,
    Color.White
)
  1. Fillに下記を入力します。
If(
    ThisItem.Budget < ThisItem.Executed,
    Color.Yellow,
    Color.Transparent
)

これにより、執行済額(Executed)が予算額(Budget)を超過した場合、文字色が赤色で背景が黄色になります。

With関数とSwitch関数、複合条件の活用

「超過」と「正常」の2段階だけでなく、「警戒レベル」を設けたいケースを想定します。
予算消化率に応じて色を3段階(正常・警戒・超過)に分ける場合、With関数を使います。

  1. Colorに下記を入力します。
With(
    { 消化率: ThisItem.Executed / ThisItem.Budget },
    If(
        消化率 >= 1,     // 100%以上(超過)
        Color.Red,
        消化率 >= 0.8,   // 80%以上(警戒)
        Color.Orange,
        Color.White   // 通常
    )
)

With関数を使うことで、If関数に使う条件式が一つで済みます。

異常値のハイライト

Switch関数を使う場合、状態を表すテキスト列(「正常」「遅延」「超過」など)がある場合に有効です。
下記のように使います。

Switch(
    ThisItem.Status,
    "超過", Color.Red,
    "遅延", Color.Orange,
    "正常", Color.Green,
    Color.Black // デフォルト色
)

ステータスラベルがある場合、「超過」であれば赤色に文字色が変わります。

Tips: 文字ではなく「●」の記号を使えば、ランプの点灯を表現できます。

色情報をデータソース側に持たせるテクニック

画面上にある全てのコントロールで複雑な計算式を実行すると、アプリの動作が重くなります。
 ※ギャラリーが100行以上あるなど

Power AutomateやDataflowsの段階で、データソース側に「状態フラグ」や「カラーコード」を持たせ、列として事前に作っておく方法があります。
この場合、Power Apps側では計算を一切行わず、ColorValue(ThisItem.カラーコード)と呼び出すだけで済みます。

異常値を適切にハイライトできたら、次はこれらのデータを扱う上で必ず直面する「委任(Delegation)エラー」の対応方法を解説します。

広告