Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このチュートリアルでは、コンテキスト遷移とネストされたイテレータについて説明します。これらのエンティティの重要性と、それらが最適化の優れたソースとなり得る方法を学びます。
思い出してください。コンテキストの遷移は、行コンテキストが同等のフィルター コンテキストに変化するときに発生します。反復子でコンテキスト遷移が発生すると、生成される結果が遅くなることがよくあるため、何が起こっているのかを認識する必要があります。
目次
ネストされたイテレータと CALCULATE
反復中にコンテキスト遷移が呼び出される場合、実体化テーブルが作成されます。これは、コンテキスト遷移が DAX の数式を介して呼び出されることを意味します。テーブルは、数式エンジンに送信される非圧縮データです。
例として、最初のメジャーは、500 以上の場合に現在の価格を取得する大規模販売のメジャーです。
次の尺度は、ネストされたイテレータを使用した Big Sales の平均です。
最後のメジャーは、ネストされたイテレータと CallBackDataID を含まない Big Sales の平均を取得します。
ネストされたイテレータを使用してメジャーを実行します。実行前に必ずキャッシュをクリアしてから、サーバー タイミングとクエリ プランをオンにしてください。
3 つのスキャン、2 つのCallBackDataID、および 15,003 行が生成されたことがわかります。出力には 101 行しかないため、これは懸念の原因です。これは、メジャーに 2 つの反復子または X 関数があるために発生しました。
これは、実行されたメジャーの完全に展開された形式です。
Fact Sales テーブルをで反復しています。次に、使用してCallBackDataIDを再度繰り返します。このメジャーの短縮形式には、コンテキスト遷移を呼び出してテーブルを具体化する暗黙のそのため、出力用の行が 101 行しかない場合でも、15,003 行が取得されました。
ネストされた反復子を持たない他のメジャーを実行します。AVERAGEXを使用して Fact Sales テーブルを繰り返し処理していますが、Current Price は関数の外にあります。現在の価格が 500 以上の製品をフィルターして除外し、平均を計算します。
スキャンが 2 つ、行数が 104 のみで、CallBackDataID がないことがわかります。したがって、 CALCULATE を使用すると、ネストされたイテレータとCallBackDataIDを削除できます。
LuckyTemplates の DAX 関数: イテレーターの使用
LuckyTemplates で反復関数を使用する方法
DAX 計算 – フィルター コンテキスト遷移
結論
DAX のパフォーマンスが低下する原因は数多くあります。そのうちの 1 つは、ネストされた反復子が原因で、不必要なコンテキスト遷移が発生します。これらの反復子は必要以上の行を実体化するため、クエリの速度が低下します。
これに対する最善の解決策は、これをCALCULATE内に配置することです。これにより、フォーミュラ エンジンの作業が軽減され、ストレージ エンジンの機能が最大化されます。
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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。