ADVERTISEMENT

【Power Automate】条件分岐で困った時の実行履歴から原因を読む方法

【Power Automate】条件分岐で困った時の実行履歴から原因を読む方法
🛡️ 超解決

Power Automateで条件分岐(Condition)を設定したものの、期待した動作にならずに困った経験はありませんか。条件式が複雑になるほど、どこでつまずいているか特定しづらくなります。そんなときに役立つのが「実行履歴(Run history)」の確認です。実行履歴には各アクションの入力値や出力値、評価結果が詳細に記録されており、条件分岐の原因を特定するための最も確実な手掛かりになります。本記事では、実行履歴の具体的な読み方と、よくある原因パターンを実務的な視点で解説します。

【要点】この記事で確認すること

  • 最初に見る場所: フローの実行履歴一覧から、該当の実行をクリックし、Conditionアクションの「出力」タブを開きます。
  • 切り分けの軸: 条件式の評価結果(true/false)が想定と合っているか、動的コンテンツが正しく展開されているか、データ型が一致しているかの3点を確認します。
  • 注意点: 会社PCで共有されているフローの実行履歴は、所有者や編集者であれば参照できますが、コネクタのアクセス権限が不足していると一部の値が表示されない場合があります。管理者に確認が必要なケースもあります。

ADVERTISEMENT

実行履歴を確認する基本手順

まずは実行履歴を開き、Conditionアクションの詳細を確認するまでの手順を説明します。Power Automateのポータル画面はバージョンにより多少異なりますが、基本的な流れは共通しています。

  1. Power Automate(make.powerautomate.com)にサインインし、左側のメニューから「マイフロー」をクリックします。
  2. 対象のフロー名をクリックして詳細画面を開きます。
  3. 画面上部の「実行履歴」タブをクリックし、実行された履歴の一覧を表示します。
  4. 確認したい実行(日時やトリガーで識別)の右端にある「…」から「実行の詳細を表示」を選択します。
  5. 表示されたアクションのツリーから、問題のConditionアクション(通常は「条件」という名前)をクリックし、下部のパネルで「出力」を展開します。
  6. 出力タブ内の「式」や「結果」の値を確認します。ここに条件式の評価結果(true/false)と、実際に比較された値が表示されます。

実行履歴は直近のものだけでなく、過去の履歴もさかのぼって確認できます。エラーが発生したフローは「失敗」ステータスで表示されるため、すぐに見つけられます。

実行履歴の読み方 — 条件式の評価結果を追う

出力タブの各項目

Conditionアクションの出力タブには、以下の情報が含まれています。

  • 式(Expression): 実際に評価された条件式のテキスト。動的コンテンツが値に置き換わった状態で表示されるため、想定と異なる値が入っていないか確認します。
  • 結果(Result): 条件の評価結果が「true」または「false」で表示されます。これが期待と逆であれば、条件式のロジック自体を見直す必要があります。
  • 入力(Inputs): 条件に渡された元の値。比較対象の動的コンテンツが空や未定義になっていないか確認できます。

評価結果が想定と異なる場合のチェックポイント

結果が想定と異なる場合、次の3点を優先的に確認してください。

  • データ型の一致: 条件式で「等しい」を使う場合、左辺と右辺のデータ型が一致している必要があります。例えば、数値の「123」と文字列の「123」は異なる型とみなされ、falseになります。実行履歴の式で値が引用符で囲まれているかどうかで型を判断できます。
  • 大文字・小文字の違い: 文字列の比較はデフォルトで大文字小文字を区別します。「ABC」と「abc」は一致しません。
  • スペースや改行: 動的コンテンツに意図しないスペースや改行が含まれていると、完全一致の条件でfalseになります。トリミングが必要か検討します。

これらのポイントを実行履歴で確認することで、原因の多くは特定できます。

条件分岐が失敗する主な原因と具体例

動的コンテンツが空または未定義

フローの実行が進むにつれて、動的コンテンツが空になる場合があります。例えば、SharePointのリストアイテムを取得するアクションで、該当のアイテムが見つからなかった場合、その後の条件で参照するフィールドが空になります。実行履歴の式を見ると「@empty(…)?」のような表示になるか、値が「null」や空文字として表示されます。この場合、条件式で「空でない」ことを先にチェックするロジックを追加する必要があります。

タイムゾーンの違いによる日時比較のずれ

Power Automateは内部的にUTCで日時を扱います。動的コンテンツの日時と、固定値の日時(例えば「2025-04-01」)を比較するとき、タイムゾーンを考慮しないと想定外の結果になります。実行履歴の式で日時がUTC表記になっているか確認し、必要に応じてconvertTimeZone関数を使います。

条件式の論理ミス(AND/ORの組み合わせ)

複数の条件をANDやORで組み合わせるとき、グループ化を誤ると意図しない評価になります。例えば「A AND B OR C」と書いた場合、Power Automateでは「A AND (B OR C)」と解釈される可能性があります。実行履歴の式タブで実際の式を確認し、意図した優先順位になっているかチェックします。括弧を明示的に使ってグループ化する習慣をつけると安心です。

状況別トラブルシューティング — 比較表

以下の表に、よくある症状と実行履歴での確認ポイント、対策をまとめました。自分の状況に当てはめてみてください。

症状 実行履歴で確認する項目 よくある原因 対策
条件が常にtrueになる 式の比較対象が固定値のみ、または動的コンテンツが無効な値になっている 動的コンテンツが空で、空ではない条件が成立しっぱなし 空チェックを追加し、空の場合は別の処理に分岐する
条件が常にfalseになる 式の値が期待と異なる(型不一致、スペースあり) 数値と文字列の比較、余分な空白 型変換関数(string, int)を使って明示的に型を合わせる、トリムする
複数条件の一部だけが効いている AND/ORの組み合わせが意図と異なる グループ化の不足 条件式を括弧で明示的にグループ化する
日時比較がずれる 式にUTC表記の日時が表示される タイムゾーン未考慮 convertTimeZone関数でユーザーのタイムゾーンに変換してから比較する
大文字小文字を区別したくないのに区別される 式で大文字と小文字がそのまま比較されている 大文字小文字を区別するデフォルト動作 toUpper関数またはtoLower関数で統一してから比較する

失敗しやすい実装ミスと対策

実行履歴を見ても原因がわからない場合、実装段階でのミスが潜んでいる可能性があります。特に初心者が陥りやすいパターンをいくつか紹介します。

  • 動的コンテンツの選択ミス: SharePointのリストフィールド名が表示名ではなく内部名で表示されることがあります。実行履歴の式で「Title」ではなく「OData__…」のような見慣れない名前が出ている場合、正しいフィールドを選び直します。
  • 適用先アクションの設定ミス: 条件の結果ごとに実行するアクションを間違って「はい」「いいえ」の逆に設定していないか確認します。実行履歴では「条件がtrueの場合」のアクションと「falseの場合」のアクションのどちらが実行されたかが追跡できます。
  • コネクタの遅延やタイムアウト: 条件の前段階で外部サービスからの応答が遅れると、動的コンテンツが正しく取得できないまま条件評価が行われます。実行履歴で前のアクションのステータスが「成功」でも、出力に値がない場合はタイムアウトの可能性があります。

管理者に確認すべきポイントと再発防止

会社の環境でPower Automateを利用している場合、個人で修正できない制約が原因で条件分岐が動作しないことがあります。以下の点を管理者に確認しましょう。

  • コネクタのアクセス権限: フローが使用しているコネクタ(SharePoint、Outlookなど)の接続が有効か、またはアクセス権限が適切に設定されているか。実行履歴に「アクセス拒否」エラーが表示される場合は、管理者に権限の見直しを依頼します。
  • データ損失防止(DLP)ポリシー: 組織のDLPポリシーにより、特定のコネクタと条件式の組み合わせがブロックされている可能性があります。実行履歴のエラーメッセージに「ポリシーで禁止されています」といった文言があれば、管理者にポリシーの緩和を相談します。
  • 共有フローの所有者: 他のユーザーと共有しているフローの場合、自分のアカウントで実行した履歴と、他のユーザーでの実行履歴で挙動が異なることがあります。これはコネクタの所有者が原因です。管理者にフローの所有者を確認してもらいます。

よくある質問

ここでは、条件分岐の実行履歴に関するよくある質問とその回答をまとめました。

Q1. 実行履歴の「式」に表示される値が一部しか見えず、全体をコピーできません。どうすればよいですか?

実行履歴の出力パネルはスクロール可能です。式のテキストを選択してコピーするには、テキストをドラッグして右クリックでコピーするか、Ctrl+C(MacはCmd+C)を使用します。どうしても取得できない場合は、フローを編集モードで開き、Conditionアクションの設定画面で式を確認する方法もあります。

Q2. 以前は動いていた条件分岐が急に動かなくなりました。何を確認すればいいですか?

まず、実行履歴で最近の実行と以前動作していた実行を比較します。動的コンテンツの元となるデータ(SharePointリストの値など)が変更されていないか確認してください。また、コネクタの認証が切れていないか、Power Automateのサービス自体に障害が発生していないかもチェックします。

Q3. 条件分岐の中にさらに複数の条件がある場合、どのようにデバッグすればよいですか?

複数のConditionアクションを入れ子にしている場合は、各Conditionごとに実行履歴を確認します。どの時点で想定外の分岐が発生しているか、上流から順に追跡します。また、一時的に「コメント」アクションを挟んで中間値をログ出力する方法も有効です。

まとめ

Power Automateの条件分岐が期待通りに動作しない原因を特定するには、実行履歴を詳細に読み解くことが近道です。最初に「式」タブで評価された値を確認し、データ型や空白、タイムゾーンなどの落とし穴を一つずつつぶしていきましょう。特に動的コンテンツの空チェックと型変換は基本中の基本です。また、会社の管理者と連携しながら権限やポリシーの制約にも目を向けてください。この記事で紹介した手順とチェックポイントを実践することで、条件分岐のトラブルシューティングが格段に効率化されるはずです。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。

ADVERTISEMENT