【データ統合】予算・進捗可視化ダッシュボード
Step 3 / 4
[応用] 期限切れや予算オーバーを色で知らせる条件付き書式
異常値を自動的にハイライトし、問題の早期発見につなげます。
Power Appsでは、コントロールの各プロパティに関数を設定し、データの状態に応じた条件付き書式を実装できます。
If関数を使った基本的な色分け
ステップ2で作成した「横棒グラフ」の数値ラベルに条件式を設定します。
- ギャラリー内の予算消化率ラベルを選択し、詳細設定 > Colorに下記を入力します。
If(
ThisItem.Budget < ThisItem.Executed,
Color.Red,
Color.White
)
- Fillに下記を入力します。
If(
ThisItem.Budget < ThisItem.Executed,
Color.Yellow,
Color.Transparent
)
これにより、執行済額(Executed)が予算額(Budget)を超過した場合、文字色が赤色で背景が黄色になります。
With関数とSwitch関数、複合条件の活用
「超過」と「正常」の2段階だけでなく、「警戒レベル」を設けたいケースを想定します。
予算消化率に応じて色を3段階(正常・警戒・超過)に分ける場合、With関数を使います。
- 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)エラー」の対応方法を解説します。
広告