VertiPaq LuckyTemplates:如何對列進行編碼

VertiPaq LuckyTemplates:如何對列進行編碼

在本教程中,您將了解在 LuckyTemplates 中使用 VertiPaq 對列進行編碼的方法。您將了解每種方法的工作原理以及它如何影響 DAX 的性能。

每種方法都有自己的數據壓縮方式,因此可以為您提供更快、更順暢的交易。

目錄

在 LuckyTemplates 中使用 VertiPaq 進行值編碼

第一種數據壓縮類型是Value Encoding。它出現在整數類型的列上。

這是原始成本列的示例:

VertiPaq LuckyTemplates:如何對列進行編碼

可以看到裡面是有值的。

現在,如果 VertiPaq 將這些數據按原樣存儲在列中,則需要 12 位內存。

然而,VertiPaq 正在尋找方法來最小化存儲數據所需的內存量。它將找到一列的最小值,然後通過從每個值中減去 3004 來對該列進行編碼。通過這樣做,它只需要 9 位內存。

VertiPaq LuckyTemplates:如何對列進行編碼

VertiPaq 減少了它所需的內存,使您的代碼執行得更快。

字典編碼

下一個數據壓縮方法是字典或哈希編碼,它發生在非整數或文本值列上。

這是具有重複產品名稱的列的示例:

VertiPaq LuckyTemplates:如何對列進行編碼

VertiPaq 具有有助於壓縮非整數列的功能。它在該列中構建一個不同值的列表,然後為它們分配一個數字。

VertiPaq LuckyTemplates:如何對列進行編碼

您可以看到它應用了一個與產品名稱相對應的數字。

接下來,它將產品名稱的值替換為整數值。

VertiPaq LuckyTemplates:如何對列進行編碼

存儲整數值比存儲文本值需要更少的位。

這是 DAX 和存儲引擎在編碼時所做的事情。

在 LuckyTemplates 中使用 VertiPaq 運行長度編碼

最後一種編碼類型稱為Run Length Encoding。它查找重複值並存儲開始和結束。

這是一個包含 銷售人員 ID和 行的示例表:

VertiPaq LuckyTemplates:如何對列進行編碼

這是使用遊程編碼編碼的表格:

VertiPaq LuckyTemplates:如何對列進行編碼

它知道 ID 為 EMP1017 的銷售人員從第 1 行到第 363 行。

您會看到它有行開始、行結束,它還顯示了中間有多少重複值。所以,沒有必要將 EMP1017 存儲 362 次,因為它知道從哪裡開始,從哪裡結束。

使用編碼列的運行長度編碼

VertiPaq 的另一個優點是它可以對使用值或字典編碼編碼的列進行運行長度編碼。

這是一個使用字典編碼編碼的表格:

VertiPaq LuckyTemplates:如何對列進行編碼

您會注意到NameID列在重複。這意味著您可以對列使用運行長度編碼。

在這種情況下,VertiPaq 將只查找 NameID、Row Start 和 Row End。

VertiPaq LuckyTemplates:如何對列進行編碼

因此,它不再存儲整數值 3 次,而是存儲一次。


使用 LuckyTemplates 中的這一新課程
度量優化 DAX 函數:優化技巧和技巧
優化 LuckyTemplates 表的高級技巧

結論

VertiPaq 存儲引擎內部,有 3 種數據壓縮方法可以使您的 DAX 代碼運行更流暢。

一旦您了解了每種方法在您的計算中的工作原理,您就可以使用並最大化其中的任何一種來提高代碼的性能並輕鬆檢索報告中所需的數據。


什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

使用 LuckyTemplates 在線服務中的應用程序的最佳技巧

我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

隨著時間的推移分析利潤率變化——使用 LuckyTemplates 和 DAX 進行分析

了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。

DAX Studio 中數據緩存的物化想法

DAX Studio 中數據緩存的物化想法

本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。

使用 LuckyTemplates 進行業務報告

使用 LuckyTemplates 進行業務報告

如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的

什麼是 LuckyTemplates 網關?所有你必須知道的