Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このチュートリアルでは、DAX Studio のVertiPaq Analyzerの [リレーションシップ] タブについて説明します。DAX コードの速度を低下させる参照整合性違反を特定する際に、これがどれほど役立つかを学びます。これは、どのテーブルまたは列を最適化および改善する必要があるかを判断するのに役立ちます。
目次
VertiPaq Analyzer の「関係」タブのチュートリアル
[関係] タブには、データ モデル内のすべての関係が表示されます。説明のために、これはこのチュートリアルで使用されるサンプル ファイルです。4 つの関係セットがあることがわかります。
これはデータ モデルのダイアグラム ビューです。
ファクト テーブルに関連する 4 つのディメンション テーブルがあります。「Relationships」タブに戻ると、 「Max From Cardinality」列が表示されます 。
この列は、リレーションシップのコストを定義します。これは、 DAX がフィルターをディメンション テーブルからファクト テーブルに転送するのに必要な時間です。
タブ内のその他の重要な列は、「Missing Keys」、「Invalid Rows」、および「Sample 違反」です。これらは、モデル内の参照整合性の問題を示しています。
参照整合性違反
参照整合性違反は、1 対多の関係の多側に値があり、一方側には存在しない場合に発生します。
これらの違反により、DAX のパフォーマンスが低下し、場合によっては不正確な計算が発生することがあります。
これらの違反を特定するには、[関係] タブを使用するか、DAX クエリを実行します。パフォーマンスをよりスムーズにするために、常に問題を解決することがベスト プラクティスです。
「リレーションシップ」タブに戻ると、ディメンション テーブルとファクト テーブルのリレーションシップを参照する違反があることがわかります 。
ファクト テーブルには、781 個の欠落したCustomerKey と、DimCustomerテーブル とDimSalespersonテーブルに存在しない 1 個の欠落したSalespersonKeyがあります。
「サンプル違反」列には、欠落しているキーが何であるかを示します。この例では、Customer Key テーブルから 5 つのキーのみが表示されています。
表示されるキーの数を変更する場合は、「ファイル」に移動し、「オプション」をクリックします。次に、[詳細設定] をクリックして、違反の数を変更します。この例では、20 個の不足しているキーが使用されています。
タブに戻ったら、[View Metrics] をクリックして DAX を再実行します。不足しているキーをさらに確認できるようになりました。
ここで、これらのキーが欠落している理由とその内容を理解する必要があります。DAX クエリを作成して、顧客キーテーブルから不足しているキーを取得します。
まずEVALUATE関数を使用し、次に 関数を使用します。左側のテーブルでは、FactSales テーブルのCustomerKeyに 関数を使用します。
また、右側のテーブルでは、DimCustomere r テーブルのCustomerKeyにDISTINCT 関数を使用します。F5 を押すと、欠落している 781 個のキーがすべて表示されます。
VertiPaq Analyzer チュートリアル: RI 違反の修正
違反を修正するには、サンプル ファイルに戻り、 [データの変換]をクリックします。次に、DimCustomerテーブルに移動し、完全なリストを取得して、[適用] をクリックします。
DAX クエリを再度実行します。不足しているキーがないことがわかります。
SalesPersonKey テーブルからの違反についても、同じことを実行します。DimSalesPersonテーブルに移動し、不足しているキーを取得して、[適用] をクリックします。
現在、参照整合性違反はありません。
この新しいコースで DAX 関数を最適化する
より最適化されたデータを実現する簡単な LuckyTemplates 変換
高度な DAX を使用して LuckyTemplates 数式を最適化する
結論
DAX の最適化をどこからどのように始めればよいかわからない場合は、VertiPaq Analyzer メトリクスの [関係] タブを使用してください。参照整合性違反のあるテーブルを特定し、それらを削除して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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。