Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このブログ投稿では、Power Apps 内で同時実行機能を使用する方法を学びます。同時関数を使用すると、名前が示すように、Power Apps 内で関数を同時に実行できます。
通常、プロセスやワークフローを実行するときは、すぐに次のプロセスやワークフローを実行する必要があります。ただし、アプリを同時に実行するか、代わりに同時に実行することでアプリを最適化できる特殊なケースがあります。それがこの投稿で説明する内容です。
ここにあるのは、 Power Apps内で最適化したい非常に単純なアプリケーションです。ユーザーがここにフレーズを入力すると、[シーケンスの実行] ボタンによってさまざまな処理が行われます。
[シーケンスの実行] ボタンのOnSelect プロパティに移動しましょう。
ここでわかるように、かなり多くのことが起こっています。まず、変数StartTime = Nowを設定して、これにかかる時間を測定します。
次に、Output というコレクション変数をクリアします。
そして、おそらく最も長い時間がかかる一連の作業を実行します。基本的に、テキスト入力に入力したものはすべて、フランス語、ドイツ語、オランダ語、韓国語、ギリシャ語、スペイン語、ヒンディー語に翻訳するようMicrosoft Translatorに依頼します。各行の末尾のセミコロンは、これが連続して発生することを表します。
最後に行うことの 1 つは、これらすべての入力とすべての変数を取得し、それらからコレクションを作成することです。このコレクションには、翻訳したい実際のテキスト、翻訳先の言語、および実際に翻訳されたテキストが含まれています。そしてまた、フランス語、ドイツ語、オランダ語などに対しても同じことを行います。
目次
SharePoint接続を更新する
また、SharePoint接続を更新して、処理時間をさらに延長します。次に、このシーケンス全体にかかる時間を追跡するため、変数EndTime = Nowを設定します。
繰り返しますが、これはセミコロンの存在によってわかるシーケンスです。各セミコロンは新しい関数の開始を表すため、これはすべて順番に行われます。
「シーケンスの実行」ボタンをクリックして、このプログラムを実行してみましょう。実際のフレーズHello、言語、および対応する翻訳を含むテーブルが出力されることがわかります。
下部には、SharePoint リストを更新するときに 500 ミリ秒かかったことがわかります。
明らかに、これにはそれほど時間はかかりませんでした。そして、処理に 500 ミリ秒かかるものに興奮する人はいません。
しかし、これらのプロセス (サードパーティのサービスを使用する) に時間がかかる場合はどうなるでしょうか? ここに 1 つの単語を書く代わりに、米国憲法の第 2 条をコピーして貼り付け、シーケンスを実行したらどうなるでしょうか?
こちらは少し時間がかかりました。1700 ミリ秒、つまり約 1.7 秒かかりました。
米国憲法第 3 条をコピーして貼り付けると、飛躍的に時間がかかります。現在約 4 秒です。
Power Apps のシーケンシャル関数と同時関数
これらの関数を順番に実行し、非常に複雑な関数を使用する傾向がある場合は、実際に時間がかかる傾向があるため、これらの関数を同時に実行するユースケースを確認できます。
今度はまったく同じことを実行してみましょう。ただし、右側ではそれを同時に実行します。これをHelloに戻し、シーケンスを実行し、これのコピーを作成して、右側に持っていきましょう。
このボタンの OnSelect プロパティに移動し、それを同時実行するように変更する必要があります。Clear Output の後に、 「 Concurrent 」という単語を入力します。
Power Apps 内の並行関数は、さまざまな関数を引数として、または Power Apps が数式と呼ぶものを受け取ります。つまり、Power Apps が最初にフランス語、次にドイツ語、次にオランダ語を実行するのではなく、すべてを同時に実行することになります。
これらすべての関数を並行関数で囲みます。エラーが発生する理由は、並行関数が引数をカンマで区切られた数式として受け取るためです。現在セミコロンを使用しているので、これらの項目をそれぞれ入力してカンマに変更するだけです。
最後のセミコロンについては、この関数の最後の引数なので削除します。次に、concurrent も技術的には関数であるため、この最後にセミコロンが必要になります。
ここには依存関係がないため、最後に行うことの 1 つは、顧客リストの更新を同時実行関数に移動することです。
繰り返しますが、これを行う理由は、これらの関数がすべて相互に依存していないためです。つまり、これらの関数を順番に実行する必要がないからです。これらは同時に発生する可能性があるため、私たちは最初にこれを行っています。
したがって、これをすべて完了したら、ここに移動して、これをStart Time twoとEnd Time twoに設定する必要があります。これは、他の開始時間変数と他の終了時間変数と競合しないようにするためです。 。
また、変数がマッシュアップしないように、[出力] を[出力 2]に変更します。
この関数を閉じてテストしてみましょう。変数をEnd TimeからEnd Time Twoに、Start TimeからStart Time Twoに変更します。
次に、このボタンが生成する出力 2 を確認するようにデータ テーブルを変更します。ボタンを[Run Sequence]から[Run Concurrent]に変更します。
これで、まったく同じことを行う 2 つのものができました。1 つは順番に実行し、もう 1 つは同時に実行します。
いくつかのテストを行ってみましょう。「Hello」と入力し、シーケンスを実行します。最初にシーケンス ボタンを実行し、次に同時ボタンを実行します。
同時実行はシーケンシャルよりも約 2 倍または 3 倍高速であることがわかります。ここで、米国憲法のセクション 1、2、3、4、5、6、7 をコピーして、シーケンス ボタンと同時ボタンを使用した場合にどれくらい時間がかかるかを見てみましょう。
シーケンスボタンを押すのに時間がかかり、一時停止が目立っていました。ユーザーはそれを気に入らないでしょう。ただし、同時に実行すると、かかる時間はわずか 1 秒です。
まだ時間がかかります。しかし、できる限り最適化された方法でそれを行っていることはご存知でしょう。ユーザーにとって 1 秒と 3 秒の差は大きな意味を持ちます。
3 倍の乗数は、Power Apps を最適化するのに非常に適しています。
Power Apps の同時実行機能の利点
ここでは最適化されていないものがいくつかあることに注意してください。40、50、または 60 の言語があるとします。その場合、順番に実行しているよりも多くのことを同時に実行しているため、2 倍または 3 倍の乗数に気づくだけでなく、10 倍または 12 倍の乗数に気づく可能性があります。
したがって、この例では乗数は 3 倍しか見えませんが、ここで実行しているプロセスよりも多くの同時プロセスがある場合には、速度がさらに速くなることがわかります。
結論
このブログ投稿では、同時関数とは何か、およびそれを使用して Power Apps をより最適化する方法について説明しました。複数のデータ更新や複数のデータソースの読み込みを行う場合、同時実行機能を使用すると高速に実行できます。
ご冥福をお祈りします、
ヘンリー・ハビブ
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。
Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。
LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。
SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。
SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。
ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。
DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。
LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。
このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。