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

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 レポートを維持するために重要です。これにより、作業のパフォーマンスが向上するだけでなく、マシンへの負担も軽減されます。


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて