技術情報ブログ
Power Platform
2023.10.04

【Power Automate】concat関数の文字数制限の境界値でエラーを発生させてみた

【Power Automate】concat関数の文字数制限の境界値でエラーを発生させてみた
みやみや

こんにちは、みやみやです。

普段は MaaS 事業のシステム開発や運用周りのマネジメントをしているのですが、部署の業務改善で Power Platform も利用しています

今日はconcat 関数の公式リファレンスをみていて、「この結果の長さは 104,857,600 文字以下にする必要があります。」と記載があり、気になったので、実際には何文字までいけるのかを検証してみました

 

検証方法

検証は下記のパターンで試します

検証用でフローを作りました

検証方法
検証方法

考え方ですが、まず、104,857,600 を 2 で割っていき、割り切れる回数の 22 回をループカウンター、割り切れる数字の 25 を基底となる数字として利用します

2で割った回数
2で割った回数

104,857,600 手前まで元気よく文字を結合していき、そこから 1 文字づつ結合して検証しました

 

検証1. シングルバイトのみのとき

ここでは、シングルバイトは半角文字とします

検証1. シングルバイトのみのとき
シングルバイトのみのとき

シングルバイト 25 文字として0123456789012345678901234を、変数Variable1にセットしています
項目数はlength()を使って確認しています

結論としては、シングルバイトのみで104,857,599文字に達するとエラーが発生しました

 

検証2. マルチバイトのみのとき

マルチバイトのみのとき
マルチバイトのみのとき

マルチバイトで 25 文字として0123456789012345678901234を、変数Variable1にセットしています

シングルバイトと同じく、マルチバイトのみで104,857,599文字に達するとエラーが発生しました

 

検証3. サロゲートペアのみのとき

サロゲートペアについての詳しい説明は他のサイトにお任せして、ここでは「2 バイトの定義で収まらなかった文字を、拡張領域として 4 バイトで表すようにした文字」と捉えます

サロゲートペアのみのとき
サロゲートペアのみのとき

サロゲートペアで 25 文字として `𦀗𦀗𦀗𦀗𦀗𦀗𦀗𦀗𦀗𦀗𥿻𥿻𥿻𥿻𥿻𥿻𥿻𥿻𥿻𥿻𦀌𦀌𦀌𦀌𦀌`を、変数Variable1にセットしました

上記 25 文字をlength()でカウントすると、50と返ってきます

つまり、2023/02/21 現在、PowerAutomate のlength()では、シングルバイトやマルチバイトは 1 文字は1として返し、サロゲートペアでは2と返します[1]

そのことから、ループカウントを他の検証と違い21として、検証を行いましたが、大方の予想通り、サロゲートペアのみでは、52,428,799 文字に達するとエラーが発生しました

 

考察

文字数制限に引っかかることはないと思いますが、制限があるということ、全角と半角に差はないこと、サロゲートペアが含まれるときに文字数カウントが変わることを抑えておきたいです

 

参考

Azure Logic Apps および Power Automate のワークフロー式関数のリファレンス ガイド – concat

miyamiya

みやみや

🖊みやみやさんの「Microsoftクラウド技術情報ブログ」一覧はこちら
🖊みやみやさんの「MaaSブログ」一覧はこちら

ビジュアル系プログラマー、ビジュアル系 PM を自称して 20 年近くが経ちました

弊社 MaaS 製品全般で、開発・運用側のマネジメントをしながら、時々開発もしています

Microsoftクラウド関連

シェアする
記事カテゴリ
最新記事
2025.10.29

SharePoint×Power Automate:承認フローの作り方完全ガイド(第2回:トリガー設定~承認前処理の実践編)

2025.10.15

SharePoint×Power Automate:承認フローの作り方完全ガイド(第1回:事前設定編)

2025.10.01

Copilot Studio活用アイデア(1):Microsoft Learn Docs MCP サーバーと連携したFAQエージェント

2025.09.17

Power Appsモデル駆動型アプリ×SharePoint統合:エンティティに基づくとは?

2025.09.03

SharePointサイトを効率展開!テンプレート化3つの方法を比較してみた

データ構造.Net Core Test Explorerレスポンシブロードマップエクスポートインスタントクラウドフロー[市民開発者JSON文字制限フィルター クエリ内製化切替samplePowerAppsグループウェアMUI権限設計AIチャットボットモデル駆動型アプリSortByColumns関数Dataverse for Teams入門技術インポート自動化したクラウドフロー構築デザインフロー実行ドキュメント ライブラリ市民開発登録者X-SPNFCタグエンゲージメントMultilingualデータ移行実運用Power AppsTypeScriptitem関数初心者Itカスタマイズ委任自動化したクラウド フロー運用開発環境filter query管理システム列StyleDLPポリシー地方自治体MLJSON書式保守性Power PlatformHTMLGoogle Maps中級者DXcomponentVBAフローの種類選択肢列環境sortガバナンス登録日StudioTestCopilot Studiot共有リンクテンプレート化DX推進SharePointEF CoreMarker Clustererキャンバスアプリ情報技術ダイアログエラーインスタント クラウド フロー参照列本番環境ソートerror notification更新者AICanvas自治体DXレポート化サイト複製作り方ExcelマイグレーションRANK()関数DatePickerメッセージIDコンポーネントエクセルスケジュール済みクラウド フローChatGPTライセンスmultiple itemエラー通知更新日生成系AITest Studio生成AI自治体APIPnP PowerShellページ承認Power AutomateFramework CoreDynamics 365 SalesDropdownメールdialogerrorレスポンシブ レイアウトOpenAI環境構築手順複数項目削除変更Copilotテスト事例HTTP リクエストカスタムスクリプトドキュメント管理C#Attribute directivesMicrosoft Translatorviewfirst()関数Tips復元responsive layoutオープンAIpipelineシェアポイントフォルダ外部DBlicenseテストスタジオ活用ワーケーション業務効率化IT管理attributeO/Rマッパーマーカークラスタリングライブラリビューnest新機能restoreデータ行の制限チャットGPTCI/CD便利機能ゴミ箱連携添付ファイルコントロール使い方サイトブランド化名古屋ファイル保存申請システムvalidationazure sql databasetailwindcssアクセス制限入れ子変数Power BI引き継ぎgalleryパイプラインカレンダー完全削除接続ファイルサイズ基本知識フォントカスタマイズ体験記エンティティワークフロー自動化ローコードCase式マルチテナントノーコード動的リスト検索個人列退職ギャラリーDevOpsCalendarモデル駆動型データフローフルリモートワークPowerAutomateブランドセンター感想フォルダ構成設定AngularHTTP Requestドロップダウンメニュー承認collectionMicrosoft 365グループユーザー列所有者を変更スクロールMicrosoft 365Teamsセキュリティロールrecycle binアーティサンX-SP Designテーマ作成チームサイトMicrosoft Learn DocsAccessCSSBreakpointObserverリマインドコレクションセキュリティグループSharePoint Online異動コンテナ簡易在庫管理ローコード開発ビジネスルールアクセス許可Artisanスライドショーデザイン拡張コミュニケーションサイトカスタムコネクタInfoPathxUnitメディアクエリSet複数の添付ファイル送信元リストLoopショートカットキー時間外非エンジニアDataverseSharePoint Framework転職Slide showMicrosoft365サイトの種類OpenAPIMatTable.Net Core 3.1スマホForAll承認フローメールの送信非表示Microsoftshortcut key通知体験談JavaScriptSPFx主キー比較移行要件定義MCPサーバーAngular MaterialVSCodePCUpdateContextform差出人アプリdesignconcat関数ファイル勉強表示サンプルCopilot Studio社内ポータル多言語化サイト構成FAQエージェント
PageTop
ページトップに戻る