Power Automateのソリューション内でフローを作成・修正しているとき、意図したとおりに動作せず「どこを直せばいいのかわからない」という状況に陥ることがあります。特に、トリガーやアクションで渡される入力値が想定と異なる場合や、条件分岐の設定が複雑なときに、修正箇所を見失いがちです。この記事では、ソリューション内フローでつまずきやすいポイントを整理し、具体的な直し方をステップごとに解説します。実際の業務で役立つ切り分け方法や注意点も含めているので、トラブルシューティングの参考にしてください。
【要点】この記事で確認すること
- 最初に見る場所: フローの実行履歴で各アクションの入力値と出力値を確認し、想定と実際の値の違いを把握します。
- 切り分けの軸: トリガーから渡される動的コンテンツの有無、条件式の構文、ソリューション内の環境変数・参照関係の3つに分けて確認します。
- 注意点: ソリューション内フローでは環境変数やコネクタ参照が他のソリューションと競合する可能性があるため、安易な値の変更は避け、必ずバックアップを取ってから修正してください。
ADVERTISEMENT
目次
ソリューション内フローでつまずく原因の特定
ソリューション内フローが正しく動作しない原因は、大きく分けて「入力値の問題」「条件分岐のロジックミス」「環境設定の不整合」の3つです。それぞれの原因を特定するための手順を説明します。
実行履歴で実際の値を確認する
フローの実行履歴を開き、各アクションの「入力」と「出力」を確認してください。例えば、SharePointの「アイテムの取得」アクションでIDが空になっている場合、トリガーで正しくIDが渡されていないことがわかります。実行履歴はフローの「28日間の実行履歴」から参照でき、失敗したフローだけでなく成功したフローも確認することで、正常時の値と比較できます。
動的コンテンツの値が空の場合の対処
トリガーやアクションから動的コンテンツを選択したが、値が空で渡されるケースがあります。原因として、トリガーのスキーマが更新されていない、または選択した項目がコレクション型であることが考えられます。対策として、トリガーの設定を開き「新しいパラメーターの追加」から必要な項目を明示的に追加するか、解析JSONアクションを使って値を整形します。
| 問題の症状 | 考えられる原因 | 確認すべき箇所 |
|---|---|---|
| トリガーからの動的コンテンツが空 | トリガーの出力スキーマに項目が含まれていない | トリガーの「設定」→「スキーマ」を確認 |
| 条件分岐で常にfalseになる | 比較演算子の誤り、データ型不一致 | 式エディタで実際の値と型を確認 |
| 環境変数が反映されない | ソリューションの既定値が未設定、または別環境で値が異なる | ソリューションコンポーネントの環境変数一覧 |
条件分岐の直し方:構文とデータ型
条件分岐が正しく評価されない原因として、構文エラーやデータ型の不一致が頻繁に発生します。ここでは具体的な修正手順を説明します。
式エディタでの比較演算子の確認
Power Automateの条件アクションでは、式を使って複雑な条件を記述できます。例えば、数値の比較では「@greater(変数, 100)」のように関数を使います。文字列の比較では「@equals(triggerOutputs()?[‘body/Title’], ‘承認’)」のようにします。よくある失敗として、比較する値の前後に不要な空白が含まれているケースがあるので、trim関数を使って除去してください。
- フローの編集画面で条件アクションをクリックし、「編集」を選択します。
- 条件ボックス内の左側のフィールドで、動的コンテンツまたは式を選択します。
- 右側のフィールドで比較する値を直接入力するか、動的コンテンツを選択します。
- 真の場合と偽の場合のアクションを設定します。
- 保存後、フローをテスト実行し、実行履歴で条件の結果を確認します。
データ型不一致による失敗
数値と文字列の比較は、暗黙の型変換が行われずエラーになることがあります。例えば、SharePointの数値列から取得した値は数値型ですが、条件式で文字列として比較すると「式は無効です」と表示されます。対策として、int関数やstring関数を使って明示的に型変換を行います。また、空文字列とnullの扱いにも注意が必要です。
ソリューション内でよくある失敗パターン
ここでは、実際に多くのユーザーが遭遇する失敗例を3つ紹介します。それぞれに対して具体的な修正方法を示します。
失敗パターン1: 環境変数の値が反映されない
ソリューション内で使用する環境変数を設定したのに、フロー実行時に意図した値が使われない場合があります。原因として、環境変数の「既定値」が空欄のままソリューションをエクスポートした、または別の環境にインポートする際に値の設定を忘れたことが考えられます。修正方法は、ソリューションの「環境変数」コンポーネントを開き、現在の環境で適切な値を設定してください。フロー内で環境変数を参照しているアクションを確認し、正しく設定されているかもチェックします。
失敗パターン2: 複数条件の優先順位を誤る
条件アクションを入れ子にする際、AND条件とOR条件の組み合わせで思わぬ結果になることがあります。例えば、「ステータスが承認済み かつ 金額が10000以上」という条件を設定したい場合、条件アクションの「追加」から「グループを追加」を選び、グループ内でAND条件を指定します。間違ってグループを使わずに複数の条件を直列に並べると、すべての条件を満たす必要があるAND条件ではなく、一部がtrueで全体がtrueになる誤ったロジックになるので注意してください。
失敗パターン3: ループ内の条件分岐でインデックスを間違える
Apply to eachループ内で条件分岐を使う場合、ループのアイテムプロパティを正しく参照しないと、すべての要素に同じ条件が適用されてしまいます。例えば、items(‘Apply_to_each’)?[‘Status’]のように、現在のループのアイテムを指定する必要があります。ループ内でitem()関数を使うのも有効です。よくあるのが、ループの外で定義した変数を使って条件比較し、結果が全要素で同じになるミスです。
管理者に確認すべき設定項目
社内のPower Automate環境でソリューション内フローが正常に動作しない場合、管理者が確認すべき設定があります。以下の項目をリスト化しましたので、必要に応じて参照してください。
- データ損失防止(DLP)ポリシー: 特定のコネクタがフローで使用禁止になっていないか確認します。ソリューション内フローがDLPポリシーに違反していると、実行時にエラーの原因になります。
- ソリューションのコンテキスト: ソリューション内フローは、同じソリューション内の環境変数やコネクタ参照に依存します。他のソリューションと競合していないか、一意の名前が付けられているか確認が必要です。
- ライセンスと割り当て: フローを実行するユーザーに適切なPower Automateライセンスが割り当てられているか確認します。特にプレミアムコネクタを使用する場合は、ライセンス要件を満たしている必要があります。
- 環境のリージョンと制限: クラウドフローの実行頻度やAPI呼び出し制限に引っかかっていないか確認します。制限を超えるとフローが節約モードになり、遅延や失敗が発生します。
よくある質問(FAQ)
読者から寄せられる質問をQ&A形式でまとめました。
Q1: ソリューション内フローを編集しようとするとロックされています。どうすればいいですか?
A1: 他のユーザーが同じフローを編集中の場合、ロックがかかることがあります。強制チェックアウトは推奨されないため、編集者に連絡するか、フローのバージョン履歴から復元してください。管理者はソリューションの「最新の変更を破棄」を実行できますが、他のユーザーの変更が失われる可能性があります。
Q2: 条件分岐で式が正しいのに実行時エラーになります。どうしてですか?
A2: 式が正しくても、参照している動的コンテンツの値がnullや空文字列の場合、エラーになることがあります。実行履歴でそのアクションの入力を確認し、値が存在するか確かめてください。また、式内で「?」を使って安全な参照(例:@triggerOutputs()?[‘body/value’])をすることで、nullを無視できます。
Q3: 環境変数を変更したのにフローに反映されません。なぜですか?
A3: 環境変数はフローの実行時に最新の値が読み込まれます。ただし、フローが長時間実行中の場合など、キャッシュされた古い値を参照することがあります。フローを無効にして再度有効にするか、数分待ってから再実行してください。
まとめ
ソリューション内フローでつまずく場合、まず実行履歴で実際の入力値と出力値を確認することが基本です。条件分岐の直し方としては、データ型の一致と演算子の正しい使い方、そして環境変数の設定状態をチェックする必要があります。失敗パターンとして、環境変数の反映漏れ、複数条件の優先順位ミス、ループ内のインデックス誤りがよくあります。管理者はDLPポリシーやライセンス割り当てなど、組織全体の設定も確認することで、問題の根本解決につながります。本記事の手順を参考に、フローを一つずつ検証し、安定した動作を目指してください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Office・仕事術の人気記事ランキング
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【神技】保存せずに閉じたExcel・Wordファイルを復元する!消えたデータを復活させる4つの救出法
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
- 【Excel】矢印キーで「セルが動かず画面がスクロールする」!ScrollLockの解除方法(ノートPC対応)
- 【Teams】会議の「参加者リスト」を出席後にダウンロードする!誰が参加したか確認する手順
- 【Teams】画面共有時に「音声」も共有する方法!音が流れない時の設定手順
