Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
との違いについては、依然として多くの混乱があります。どちらの機能もさまざまなシナリオで使用できるため、これはユーザーが習得する必要がある重要な知識です。ただし、一方の機能が他方より効率的である場合もあります。このチュートリアルの完全なビデオは、このブログの下部でご覧いただけます。
ここでは、この 2 つの違いを示す 1 つの例に焦点を当てます。ただし、その例に入る前に、集計関数と反復関数の違いを理解することが重要です。
目次
アグリゲータとイテレータの比較
DAX に関しては、アグリゲーターとイテレーターという 2 種類の計算エンジンがあります。
集計関数には、SUM、、、およびが含まれます。一方、イテレータは、SUMXのように、末尾に X がある関数です。
反復関数はテーブルのすべての行を調べて、これらの各行にロジックを追加します。
集計関数は、コンテキストが数式に配置された後に残った列全体を調べます。そこから、列全体に対して 1 つの集計が一度に実行されます。
アグリゲータとしての SUM
SUM はアグリゲーターとしてどのように使用されますか?
この例では、指定されたサンプル データの総収益を計算します。
ここでは常にコンテキストが重要です。この場合、それぞれの特定の日付がそれぞれの特定の結果のコンテキストになります。
このテーブルをさらに詳しく調べると、 Date から Sales テーブルに流れる直接的な関係があることがわかります。
次に、このモデルの下で動作しているデータを見ると、すべてがどのように適合しているかがわかります。
したがって、この関係は、ここの [注文日] 列にリンクされています。この列の特定の日付がフィルターされると、対応する結果が「収益」列の下に表示されます。
そこから、SUM はフィルターされた結果に対して大きな計算を 1 回行うだけです。
イテレータとしての SUMX
ここで、違いを確認できるように、同じサンプル データに対してSUMXを使用します。実際には、[収益] 列に触れずにその収益を計算できます。
SUMX 関数を使用すると、常にテーブルが要求されます。ここでは、物理テーブルまたは仮想テーブルのいずれかを使用できることに注意してください。
Revenue を計算するには、Sales テーブルを選択します。次に、この式に式 (メジャーまたはそのテーブルの特定の列) を配置して、すべての行でロジックの実行を開始できるようにします。ここで説明するように、式はテーブルの各行に対して評価された式の合計を返します。
サンプル データには注文数量が含まれているため、ここではそれを使用して合計を取得します。単価も使用します。
その数式をレポートにドラッグすると、結果はまったく同じになります。
もちろん、どちらも同じ 2 つの列 (注文数量と単価) からデータを取得しているため、同じ結果が表示されます。
いずれにせよ、 SUMと同じ結果が得られるのに、なぜSUMX を使用するのでしょうか?
SUMX を使用すると、ロジックは列全体だけでなく、その列内のすべての行にも適用されます。実際、「収益」列を削除しても、特定の結果を取得することができます。
したがって、そのロジックがすべての行に適用されると想像してください。1行目の注文数量と単価を乗算し、それをメモリに保存します。2 行目とその後の他のすべての行に対して同じことを実行し、それぞれの結果を保存します。
これは、最終的にSUMX の計算に使用されるのは、テーブル上の物理データではなく、メモリに保存された結果であることを意味します。
DAX での反復関数の操作
LuckyTemplates での反復関数 SUMX と AVERAGEX の使用
DAX を使用した高度なシナリオ分析のための LuckyTemplates データ モデル
結論
LuckyTemplates における SUM と SUMX の主な違いを、特に LuckyTemplates で実際にできることをまだ理解していない人に説明できれば幸いです。
経験則としては、集計関数で解決できる単純でわかりやすいシナリオの場合は、SUM を使用します。ただし、より高度なロジックが必要な場合は、SUMX を使用してください。
SUMX は、数千から数百万の行がある場合にも役立ちます。メジャーで参照されるテーブルと列が存在する限り、反復関数を使用するとプロセスがより効率的になります。
ではごきげんよう、
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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。