Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
フォーラムで LuckyTemplates メンバーと作業するたびに、DAX で関数を反復する際に混乱が生じることがあります。そこで、これらの関数を使用して何が実現できるのか、またなぜそれらの関数を使用する必要があるのかを確認します。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
DAX数式に詳しくなると、これらの反復関数を思ったよりも頻繁に使用するようになります。これらは、 SUMやAVERAGEのような単純な集計関数よりもはるかに多用途です。
ここにはいくつかの例があります。これらの数式を介してロジックを実行すると実際に何が起こるかをよく理解できるように、これらの各例のロジックを詳しく見ていきたいと思います。
関数の反復で重要なことは、関数が何かを反復することです。
目次
SUMX を使用した単純な反復
この場合、何かを集計したいのですが、この Sales テーブルのすべての行を反復処理したいと考えています。
そして、すべての単一行で、この特定のロジックをここで実行したいと考えています。
非常に単純な Sales テーブルにすぐにジャンプしましょう。ここでは、すべての単一行でロジックを実行します。次に、数量と価格を掛けたいと思います。
この表には価格が存在しません。この特定のモデルについては、実際には Product テーブルにあります。
次に行う必要があるのは、 Product テーブルに戻ることです。これはRELATEDを使用して実行できます。数量と関連する価格の積を計算する場合、これを単一行ごとに実行します。これはまさにこの式の内部で起こっていることです。
これらは、より高度な作業を開始するときに覚えておくべき重要な概念です。
SUMX を使用して売上を獲得するための別のアプローチ
この例では、SUMXでSales テーブルを再度反復処理します。したがって、そのロジックをすべての単一行で実行し、すべての単一行で数量と価格を掛けて計算し、すべての反復が完了したらそれを集計します。
この結果は、最初の例 (SUMX チュートリアル 2) または合計売上高の結果とまったく同じであることがわかります。
ここにはさまざまなものを配置できます。メジャーにすることも、反復関数で分岐させることもできます。実際に計算を正しく行うために、特定の列を参照する必要はありません。
ここでわかるように、ここでメジャー (総売上高) を配置するだけで、まったく同じ結果が得られます。
SUMX と論理関数
ここではSUMX を使用していますが、AVEAGEX、MINX、およびMAXXにも関連します。それらはすべて非常に似たものです。
これらの反復関数で覚えておくべきもう 1 つの重要な点は、単一行ごとにロジックを実行し、結果をメモリに保存することです。
これらすべての値がメモリに保存されると、 SUMやAVERAGEなどの包括的な計算が実行されます。
例に戻ると、この列の金額が前の列よりわずかに少ないことがわかります。
SUMX反復関数を使用して、Sales テーブルのすべての行を反復処理したいと考えています。そして、すべての行で、その特定の売上が 2,000 ドルを超えているかどうかを計算したいと考えています。そうであれば、その行の合計売上高を計算したいと思います。ただし、売上総額が 2000 ドル未満の場合は、ゼロを返したいと考えています。したがって、より価値の高い売上のみを計算したいと考えています。
ロジックを計算列の中に入れればいいのではないかと提案する人もいます。ただし、このロジックを列内に物理的に配置するよりも、DAX内でこのロジックを実行する方がはるかに優れた方法があるため、このようなことは行いません。
テーブルの反復処理
ここが反復関数の素晴らしいところです。以前のように物理テーブルを反復処理できるだけでなく、パラメータとして入力した他の仮想テーブルを反復処理することもできます。
ここでのすべての結果には特定のコンテキストがあると考えます。この特定のケースでは、顧客のコンテキストがあります。
このコンテキストで、すべての場所を反復処理して、特定の顧客が 5,000 ドルを超える売上に達したかどうかを確認したいと考えています。
そうであれば、総売上高を計算したいと思います。しかし、そうでない場合は、ゼロを返すようにします。
したがって、この特定のケースでは、この顧客が購入している高額の場所と、それらの場所での総売上高を計算しています。
ここでVALUESが行っていることは、仮想テーブルを作成していることです。したがって、ここではSUMXは物理的な作業を行っていません。実際には、完全に仮想的なものに取り組んでいます。
MINX を使用した単純な反復
これは前の例と似ていますが、 SUMXの代わりに、すべての単一行を反復処理した後で、他のタイプの集計を実行します。
この特定のケースでは、各顧客のすべての場所を調べて、それらの場所ごとの総売上高を計算しています。
次に、購入した場所の最小限の金額を返金したいと考えています。
MAXX を使用した単純な反復
ここでも、反復関数の多用途性を示すために、同様のことを行っています。私はすべての拠点を調べて売上を調べていますが、その拠点の売上の最大値を返しています。それが、ここでより高い数字が見られる理由です。
結論
この記事で私が触れたかった重要な点は、反復関数内で使用できるオプションの範囲と、単純な合計または平均についてです。
より複雑な計算を掘り下げ始めると、コンテキスト レベルで値を返すためにこれらの特定の関数がいかに重要であるかがわかります。
パラメーターの操作方法さえ知っていれば、単純な式を使用してこれらの計算を実行できる汎用性と方法が非常に豊富です。
これらの反復関数について楽しく学習できた場合は、次のリンクを参照して、このトピックに関する詳細情報を取得できます。
LuckyTemplates で関数を反復するための重要な概念
仮想テーブルによるロジックの反復 – LuckyTemplates の高度な DAX 概念
この作業を楽しんでください。
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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。