Power Automate の文字列関数: Substring と IndexOf
Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。
このチュートリアルでは、DAX Studio で VertiPaq Analyzer を使用して LuckyTemplates のデータ モデルを最適化する方法を学習します。
VertiPaq Analyzer は、最適化の観点から表形式モデルに関する有意義な情報を抽出するDAX Studioの組み込みツールです
VertiPaq Analyzer を起動するには、 DAX Studio の[詳細]タブに移動します。次に、「メトリックの表示」オプションをクリックします。
これにより、下部に新しいペインが開きます。VertiPaq Analyzer の [メトリクス]ペインには、表形式モデル内のすべてのテーブルのリストが含まれています。
各列には、データ モデルに関する次のような重要な情報が表示されます。
目次
LuckyTemplates のデータ モデルの VertiPaq Analyzer メトリック
データ モデル内のテーブルを分析するときに、これらのさまざまなメトリックを使用できます。この例では、Sales テーブルが最も大量の %DB を消費していることがわかります。
VertiPaq Analyzer の表の一番左の列までスクロールします。テーブルをクリックすると、その列の情報をドリルダウンできます。
これにより、分析目的に必要な列を識別できます。データ モデルから不要な列を削除することもできます。これにより RAM が節約され、実行中の計算が最適化されます。
たとえば、Online Sales Key 列は合計 83 MB の RAM を消費します。この列がレポートの目的に役に立たない場合は、列を削除して記憶域スペースを空けることができます。
「エンコーディング」セクションでは、値エンコーディングがオンライン販売キー列に適用されていることがわかります。この列には一意の値のみが含まれるため、辞書エンコーディングを適用しても意味がありません。保存されたインデックスはその値と同じままです。
これは列を圧縮する場合には役に立たないため、Analysis Services はディクショナリ エンコーディングをスキップします。そのため、辞書セクションは 120 KB しか消費しません。
辞書エンコーディング、ストレージの割合、およびユーザー階層のサイズ
後になって考えてみると、[受注番号] 列を見ると、その [辞書] セクションが [データ] セクションよりも多くの記憶域を消費していることがわかります。
データ セクションには、列内の各行のインデックスまたはポインター値が格納されます。Sales Order Number 列には大部分のデータがインデックスの形式で保存されているため、すべての圧力は辞書によって消費されます。
列サイズは、データ、ディクショナリ、および階層セクションの合計を示します。「データ型」セクションでは、受注番号列が文字列として保存されるため、辞書エンコーディングが使用されます。
次に、VertiPaq Analyzer の右端までスクロールすると、パーセンテージのデータが表示されます。
% テーブルは、テーブルに対して列によって消費されるスペースの量を示します。一方、% DB は、データベース全体に対して列によって消費されるスペースの量を示します。
Products テーブルに移ると、それが User Hierarchy Size の値を持つ唯一のテーブルであることがわかります。
ユーザー階層サイズは、DAX Studio で作成された階層によって消費されるスペースの量を示します。
LuckyTemplates のデータ モデルの RI 違反
VertiPaq Analyzer の [列] タブを使用すると、データを表-列形式で表示できます。
これにより、列ごとに並べ替えることができるため、データセット全体で最も多くの RAM を消費する列を特定しやすくなります。
[関係] タブでは、 RI 違反の根本原因を表示できます。
DAX コードに RI 違反が含まれている場合、VertiPaq Analyzer はRI 違反セクションの下に赤いフォントで数字 1を配置します。ただし、違反のあるテーブルを展開しても、その原因を確認することはできません。
この情報は、[関係] タブに表示されます。
この例では、Sales テーブルには、Sales テーブルのプロダクト キーと Product テーブルのプロダクト キーの間に 2,183 個の欠落キーがあることが示されています。その結果、Sales テーブルに 1,000 万の無効な行が発生し、153 のサンプル違反が発生します。
VertiPaq Analyzer のリレーションシップ ページでは、ファクト テーブルとディメンション テーブルの間で欠落しているキーを特定できます。
DAX を使用してこの情報を再確認することもできます。
コードを実行すると、実際に 1,000 万行に空白のプロダクト キー値があることが結果でわかります。
VertiPaq Analyzer の [概要] タブ
[概要] タブには、データ モデルの基本的な全体情報が表示されます。
合計サイズは、データ モデルが消費している RAM の合計量を示します。分析日は、DAX Studio で最後に [メトリクスの表示] オプションをクリックした日付に関係します。
互換性とは、現在のファイルで使用されている Analysis Services のバージョンを指します。最後に、サーバーは、DAX Studio に接続するために Analysis Services が使用するローカルホストのポート番号を表示します。
結論
VertiPaq アナライザーは、Microsoft LuckyTemplates に含まれるパフォーマンスおよび分析ツールです。これにより、LuckyTemplates レポートまたはデータセットのデータ モデルを分析して、データがどのように構造化され、どのように使用されているかを理解できます。
VertiPaq アナライザーは、データ モデルのパフォーマンスと効率を理解するのに役立ついくつかの指標を提供します。これらのメトリクスを分析することで、大規模なテーブル、低いデータ密度、非効率なデータ型などのデータ モデルの潜在的な問題を特定し、パフォーマンスを向上させるためにモデルを最適化するための措置を講じることができます。
ではごきげんよう、
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 を使用して数式内に仮想リレーションシップを作成する方法を説明します。