Power Automateで無人実行フローを設定したものの、意図したとおりに動作せず「ライセンスが足りないのでは」と疑ってしまうことはありませんか。確かに無人実行には有料ライセンスが必要ですが、実際は入力値の型や条件分岐の記述ミスが原因で、期待と異なる結果になるケースが少なくありません。本記事では、ライセンス以外の原因を切り分け、具体的な修正方法を解説します。フローの実行履歴を確認しながら、正しいデータ構造と条件式に直す手順を理解してください。
【要点】この記事で確認すること
- 最初に見る場所: フローの実行履歴で、失敗したアクションの入力値と出力値を確認します。特に動的なコンテンツが正しく展開されているかが重要です。
- 切り分けの軸: 端末側の環境ではなく、フロー内部のデータ型(文字列・数値・ブール)の違い、条件分岐の順序や括弧の有無が原因かどうかをチェックします。
- 注意点: 無人実行のライセンス変更は管理者に依頼する必要があります。自分でライセンス設定を変更せず、まずはフローのロジックミスを疑ってください。
ADVERTISEMENT
目次
なぜ無人実行フローが想定と異なる動作をするのか
無人実行フローは、トリガーやアクションで受け取ったデータに基づいて処理を進めます。ライセンスの問題であればフロー自体が実行されないか、実行エラーが発生します。しかし、フローは正常に終了しているのに結果が意図と異なる場合、多くの原因は入力値の型不一致や条件分岐のロジックにあります。例えば、SharePointリストから取得した数値がテキスト型として渡され、その後の条件式で想定外の比較が行われるといったケースです。まずは実行履歴から、各アクションで実際にどのような値が使われているかを確認することが第一歩です。
原因を切り分けるための3つのチェックポイント
1. 実行履歴でアクションの入出力を確認する
Power Automateのフロー詳細画面で、各アクションの「入力」と「出力」を開きます。特に動的コンテンツ(式)が期待する値になっているか、データ型が正しいかをチェックします。数値として扱うべき項目に引用符が付いていないか、日付が文字列になっていないかなどを確認してください。
2. 条件式の構文とデータ型の不一致
条件アクションの「値の選択」で、左辺と右辺のデータ型が一致している必要があります。例えば、SharePointリストの「金額」列(数値型)を「@equals(outputs(‘Get_item’)?[‘cost’], 100)」のように比較する場合は、右辺も数値(引用符なし)で記述します。文字列と比較すると常にfalseになります。また、空文字とnullの区別も重要です。式ビルダーで「@empty(…)」や「@equals(…, null)」を適切に使い分けましょう。
3. 条件分岐の順序と複合条件の誤り
複数の条件が重なる場合、短絡評価や括弧の有無によって意図しない経路を通ることがあります。たとえば「AまたはBかつC」という複合条件は、演算子の優先順位を考慮し、括弧で明示する必要があります。Power Automateの条件ビルダーでは、「かつ」と「または」をドラッグでグループ化できますが、必ず実行結果をテストして確認してください。
具体的な修正手順とテスト方法
以下の手順に従って、入力値と条件分岐を修正していきます。実際のフローを開いて試してください。
- フローエディターで、問題のアクション(条件や変換アクション)を選択します。
- 「テスト」をクリックし、「手動」トリガーを選択してテストデータを入力します。無人実行の場合は、実際と同じデータソースを指定します。
- テスト実行後、各アクションの「出力」を確認します。期待する値と異なる場合、その前のアクションの出力もさかのぼって確認します。
- データ型が想定と違う場合は、式に「@string()」「@int()」「@float()」などの変換関数を追加します。例:「@int(outputs(‘Get_item’)?[‘quantity’])」
- 条件式が複雑な場合は、条件アクション内の「式」タブに直接式を記述し、括弧で演算順序を明確にします。例:「@and(greater(variables(‘amount’), 1000), equals(variables(‘status’), ‘approved’))」
- 修正後、再度テストを実行し、すべての分岐で期待通りの結果になることを確認します。すべての条件パターンを網羅するテストデータを用意してください。
代表的な失敗パターンと比較表
実際に発生しやすい失敗パターンを、正常例と比較しながら表にまとめました。自分のフローと照らし合わせてみてください。
| 項目 | 正常な動作 | 失敗パターン |
|---|---|---|
| 数値比較 | @equals(variables(‘count’), 5) | @equals(variables(‘count’), ‘5’) (文字列定数) |
| 空チェック | @empty(variables(‘name’)) | @equals(variables(‘name’), ”) (空文字とnullを混同) |
| 複合条件 | @and(condition1, or(condition2, condition3)) | @and(condition1, condition2, condition3) (3引数でandとorを混在) |
| 日付比較 | @less(formatDateTime(utcNow(),’yyyy-MM-dd’), ‘2025-01-01’) | @less(utcNow(), ‘2025-01-01’) (型が一致しない) |
管理者へ確認すべき情報とライセンスの境界
もしフローのロジックを全て確認しても問題が解決しない場合、管理者に以下の点を確認してください。
- 該当するユーザーまたは共有サービスプリンシパルに無人実行のライセンス(Power Automate per flowプランなど)が割り当てられているか。
- フロー所有者のライセンスが正しいか(無人実行には通常、プレミアムライセンスが必要)。
- データ損失防止(DLP)ポリシーにより、使用しているコネクタがブロックされていないか。
- 実行アカウントに適切な接続参照が設定されているか(ゲートウェイが必要な場合など)。
ライセンスの割り当ては管理センターで確認できます。ただし、多くのケースではライセンス不足によるエラー(‘This flow requires a premium license’など)が明示されます。そのようなメッセージがない場合は、まずフローのロジックを見直すことをおすすめします。
よくある質問(FAQ)
Q1: フローは実行できたが、条件分岐が常に一方しか通らない
A: 条件式のデータ型を確認してください。特に動的コンテンツがテキストとして扱われている場合、数値比較や日付比較が正しく行われません。明示的に変換関数を使うか、式ビルダーで型を指定してください。
Q2: 条件アクションで「指定された値は無効です」というエラーが出る
A: 条件式に構文エラーがある可能性が高いです。括弧の閉じ忘れや、動的コンテンツの参照方法(outputs(‘アクション名’)?[‘プロパティ’])が間違っていないか確認します。式タブに切り替えて、@で始まる正しい式になっているかチェックしてください。
A: Person型はメールアドレスや表示名などを含むオブジェクトです。条件に使う場合は、@equals(outputs(‘Get_item’)?[‘Approver’]?[‘Email’], ‘user@contoso.com’)のようにプロパティを指定します。直接比較はできません。
Q4: 無人実行のライセンスがない場合でも手動実行は可能?
A: はい、手動実行(ボタンなど)は無料のPower Automateライセンスでも可能です。ただし、無人実行(スケジュールや自動トリガー)には有料ライセンスが必要です。テスト時は手動実行を活用し、本番運用前にライセンスを確保しましょう。
まとめ
無人実行フローが想定どおり動かない場合、まずはライセンス不足ではなく、入力値の型や条件分岐のロジックに問題がないかを確認してください。実行履歴で実際の値を見ながら、データ型の変換や条件式の修正を行うことで、多くの問題は解決します。どうしても解決しない場合は、管理者にライセンスやコネクタの設定を確認してもらいましょう。この記事で紹介した手順を実践すれば、フローの意図しない動作を大幅に減らすことができます。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
