Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このチュートリアルでは、LuckyTemplates のVertiPaq オペレーターとストレージ エンジン クエリについて説明します。計算の背後で演算子がどのように機能するか、またストレージ エンジンが DAX コードのパフォーマンスの最適化にどのように役立つかを学びます。
VertiPaq オペレーターとクエリを使用すると、各コードの実行を監視して、必要に応じてコードを改善できます。
目次
VertiPaq オペレーター
VertiPaq には、単純なクエリを計算する機能があります。DAX コードを実行して答えを得る論理演算子が含まれています。
これらは VertiPaq 論理演算子です。
これらは、サンプル クエリによって生成された論理クエリ プランと物理クエリ プランです。
行に_Vertipaq がある場合は、VertiPaq エンジンが単独で作業を行っていることを意味します。Logical Query Planを見ると、 Sum_VertipaqとScan_Vertipaqがあることがわかります。これら 2 つの演算子は、FactSales の数量をスキャンして合計し、回答を生成します。
物理クエリ プランには、ProjectionSpoolを使用するSum_Vertipaqも表示されます。これは、クエリがストレージ エンジンに送信され、データ キャッシュ内の数式エンジンに返されることを意味します。また、レコードが 1 つしかないことにも気づきます。
「レコード」列には、ストレージ エンジンから数式エンジンに具体化される行の数が表示されます。効率的に動作するにはレコードが 1 つだけ必要です。複数のレコードがある場合、クエリが完了するまでに時間がかかります。
ストレージ エンジンがリクエストを実行できない場合は、フォーミュラ エンジンが引き継ぎます。フォーミュラ エンジンは要求をすべて実行できますが、処理速度は非常に遅くなります。
ストレージ エンジンのクエリ
これは、ストレージ エンジンのクエリと、それを読み取って理解する方法についての紹介です。これらの情報を使用して DAX クエリを最適化し、パフォーマンスを向上させることができます。ストレージ エンジンから数式エンジンに返されるデータ キャッシュは非圧縮形式であることに常に注意してください。
これは使用されるサンプルクエリです。
これを実行して [Physical Query Plan] タブを開くと、ProjectionSpool Operator が表示されます。結果を生成するために計算のバックグラウンドでどのように動作するかを理解する必要があります。
ストレージ エンジンのクエリは、 xmSQLと呼ばれる疑似 SQL 言語で表現されます。それは本物のプログラミング言語ではありません。これは、エンジンがバックグラウンドで何を行っているかを視覚的に表現したものです。
DAX Studio でサンプル クエリを実行すると、xmSQL が表示されます。これは、クエリがSalesData の数量を選択し、Sales Dataテーブルからそれを合計することを示しています。
クエリ内のテーブル名が xmSQL とは異なることがわかります。DAX は名前として Fact または DIM を使用することを好まないため、xmSQL はテーブル名としてFactSalesではなくSales Dataを使用します。
DAX のパフォーマンスを高速化するには、ストレージ エンジンを可能な限り動作させる必要があります。データをスキャンする際に、単純な計算と集計を実行できます。サンプル クエリではのみが使用されるため、計算はストレージ エンジンで行われました。
最良の最適化手法は、ストレージ エンジンがほとんどの作業を実行し、数式エンジンが残りの部分だけを実行するように最適なセットを見つけ出すことです。
マルチスレッド環境の VertiPaq ストレージ エンジン
LuckyTemplates の VertiPaq 圧縮とストレージ
LuckyTemplates Desktop の DAX Studio とは
結論
ストレージ エンジンは、DAX の動作を高速化する役割を果たします。論理および物理クエリ プランを使用して、計算全体の背後にあるプロセスを確認できます。どのプロセスが全体のパフォーマンスを低下させているかを追跡し、それを最適化できます。
VertiPaq の仕組みについて詳しく知りたい場合は、このチュートリアルを利用して 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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。