Power Query の最適化: 10 進数の削減

このチュートリアルでは、RAM の使用量を削減するためのPower Query最適化手法を学習します。具体的には、小数点以下に格納される数値を減らす方法を学習します。これは、10 進数形式で格納された列を扱う場合に役立ちます。

この例では、正味価格が 11MB の RAM を消費しているのに対し、総コスト、単位コスト、単価はそれぞれ 8MB を消費していることがわかります。

Power Query の最適化: 10 進数の削減

Power Queryに移動し、正味価格列のフィルター オプションをクリックすると、列に小数点以下 3 桁までの値が保存されていることがわかります。

Power Query の最適化: 10 進数の削減

これにより、パフォーマンスの問題が発生する可能性があります。複数の数字が 10 進数として保存されている場合、辞書にはより多くの一意の値が含まれます。これにより、VertiPaq は辞書用に巨大なストレージ構造を作成します。

したがって、これらの列を最適化することをお勧めします。

目次

列の Power Query の最適化

理想的には、小数点以下 2 桁までの値を保存する必要があります。最適化する列を右クリックします。[変形] > [丸め] > [丸め]をクリックします。

Power Query の最適化: 10 進数の削減

次に、小数点以下の桁数を 2に設定し、「OK」をクリックします。

Power Query の最適化: 10 進数の削減

すべての列を一度に変換する簡単な方法は、列を強調表示して同じ手順に従うことです。

Power Query の最適化: 10 進数の削減

これにより、1 つのステップで 10 進数形式がすべての列に適用されます。完了したら、作業内容を保存します。

RAMの使用状況を確認する

RAM の削減量を確認するには、DAX Studioを開きます。[詳細設定] タブに移動し、[メトリックの表示]をクリックします。

Power Query の最適化: 10 進数の削減

元の列と最適化された列を比較すると、列サイズとディクショナリ サイズが減少していることがわかります。

Power Query の最適化: 10 進数の削減

この例では、キロバイト単位の違いは RAM スペースの大幅な削減にはならないように見えます。ただし、小数点以下 7 桁の数値など、より明確な値を扱う場合、RAM の節約は大幅に向上します。

また、[単価] 列では、カーディナリティは変わりませんが、列サイズが大幅に減少していることにも気づくでしょう。

Power Query の最適化: 10 進数の削減

粒度を下げるか、列のデータ モデルに変更を加えると、Analysis Services に新しい並べ替え順序が導入されます。これにより、データ モデルのサイズが増加または減少する可能性があります。

個別の値の数が変わらなかったとしても、Analysis Services は列のサイズを削減するより適切な並べ替え順序を見つけた可能性があります。

この最適化手法は、日付/時刻列を保存する場合に特に役立ちます。これは、ミリ秒までの値を保存する可能性があります。

各値のカーディナリティを 1 秒に減らすと、ディクショナリ内の一意の値が減ります。


データをより最適化するためのシンプルな LuckyTemplates 変換
高度な DAX
ストレージ エンジンを使用して LuckyTemplates の数式を最適化する – LuckyTemplates での DAX クエリの最適化におけるその役割

結論

表形式モデルを使用している場合は、列のカーディナリティを減らすことに重点を置きます。

カーディナリティは、データ モデルが消費する RAM の量を決定する要素です。また、コードを実行するときに特定の列をスキャンするのにかかる時間もわかります。

DAX クエリを最適化することは、優れた LuckyTemplates レポートを維持するために重要です。これにより、作業のパフォーマンスが向上するだけでなく、マシンへの負担も軽減されます。

Leave a Comment

Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。