什麼是 Python 中的自我:真實世界的例子
什麼是 Python 中的自我:真實世界的例子
本教程將展示DAX Studio中的 VertiPaq 分析器指標及其如何幫助優化您的 DAX 代碼。將討論每個指標,以便您了解每個指標如何幫助提高代碼的性能。
這是 VertiPaq 分析器指標。
目錄
VertiPaq 分析儀的表格選項卡
第一個指標是“表格”選項卡或“整體表格視圖”。在此選項卡中,您可以看到基數 列。它指的是表中唯一值的數量。它是數據模型和DAX 查詢中最重要的列。
如果您查看DimCustomer表,就會發現有 20 個唯一值。這意味著有 20 個具有非重複值的獨立客戶。
這是一個示例 DAX 查詢。
它使用 函數來計算各種表的行數。行數對應於表中生成的基數。
數據大小列
Cardinality之後的下一列 稱為Table。它顯示了表格佔用了多少內存。數據量越大,需要的注意力就越多。Col Size列是Data、Dictionary和Hierarchy Size列 的總和。
Data 、Dictionary和Hierarchy Size列分別顯示壓縮數據、字典編碼列和自動生成的層次結構列的總大小。
接下來是編碼 列,顯示使用的編碼類型。Value 和Hash Encoding 出現在所有表中,這就是結果顯示“Many”的原因。
Referential Integrity Violations 也將顯示在RI Violations列中。當一個值存在於Fact表中但不存在於Dimension表中時,就會發生違規。
User Hierarchy Size 列顯示用戶定義的層次結構的大小。基於一對多設置的多方關係的大小也將顯示在“關係大小”列中。
接下來,您有%DB列。此列顯示一個表佔所有表總大小的百分比。
在該示例中,您可以看到DimCustomer表幾乎佔據了總表大小的 66%。數據庫與事實表的百分比 應大於維度 表。
這些是百分比:
由於此示例沒有大量數據,因此 無法使用Segments 和Partitions列;它只適用於較大的表。
選項卡中的最後一列稱為Columns。它只是顯示表格中的列數。數據類型和% 表列不適用於整體表視圖。
FactSales 表內部
這是 Overall FactSales 數據表。
表中的每一列都有自己的信息。例如,總體表級別具有各種列,例如Cardinality、Column Size等。
在示例中,您會注意到SalesKey的基數等於表的基數。這是因為 SalesKey沒有重複值並且是唯一值。
Column Size列與 Table 級別同等重要。它顯示Data、Dictionary和Hierarchy Size列的總和。
您還可以看到使用的編碼方法是Hash Encoding,它創建了一個不同的值列表。
如果您查看Quantity行,您會發現它使用哈希編碼方法,即使數據類型是整數也是如此。
這樣做的原因是 SQL Server Analysis Services 設置了一種確定最佳壓縮方法的方法。
% Table列將該列顯示為總表大小的百分比。在示例中,SalesKey具有最大的表大小,這是有道理的,因為它具有最高的基數和列大小。
同樣,% Database 列顯示表或表中的列佔整個數據庫的百分比。
您會看到FactSales表佔數據模型總大小的 46.8%。FactSales表中的SalesKey列佔數據庫總大小的 15% 。
由於此示例只有少量數據,因此您將只有一個段和一個分區。Columns列也是如此。在列視圖中,列數將始終為一。
VertiPaq 分析儀的列選項卡
“列”選項卡 具有更易於查看數據的格式。它提供比表選項卡更詳細的信息。
您會注意到它具有與“表格”選項 卡相似的列。
“列”選項卡允許您對任何列進行排序。在此示例中,它按基數排序,基數用小三角形表示。行列顯示表格 中有多少行。
您可以看到FactSales-SalesKey 有 15,000 行和基數。所有主鍵都有與其對應的基數相等的行。
如果行數不等於基數,則該表將具有重複值。
如果查看FactSales-CustomerKey,您會注意到它的基數為 801,列大小接近 110 萬。
這意味著它需要被優化和壓縮。要對其進行優化,請轉到 LuckyTemplates 文件並打開DimCustomer 表。
CustomerKey列是字符串類型的數據。您可以看到值以 C 開頭,然後是數字。單擊替換值以更改列內的值。
找到值 C 並將其更改為空白。接下來,將數據類型更改為整數。
對Fact表 中的CustomerKey列執行相同的操作 。單擊 Apply 並返回到 DAX Studio。接下來,單擊查看指標以重新加載 DAX,然後按基數對其進行排序。
列大小現在從 110 萬減少到 46,372。如果您查看表視圖,您會看到列大小也已降至 46,372。
如果對列大小接近 110 萬的 SalesPersonKey 執行相同的操作,則可以將其減少到 5,540。
將字符串或文本類型的值更改為整數類型可以優化您的 DAX,使其性能更好。
通過這門新課程優化 DAX 函數
簡單的 LuckyTemplates 轉換以獲得更優化的數據
使用高級 DAX 優化 LuckyTemplates 公式
結論
DAX 優化在 VertiPaq Analyzer 的幫助下從 DAX Studio 開始。在分析器指標中,您將看到表和列的工作原理,並確定哪個實體需要進一步優化和改進。
如果您想找出代碼的哪一部分降低了代碼的性能,請使用 VertiPaq Analyzer。它肯定會讓你的 DAX 變得更好。
尼克利
什麼是 Python 中的自我:真實世界的例子
您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。
在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。
本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。
在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。
我想展示 LuckyTemplates Apps 在線服務如何幫助管理從各種來源生成的不同報告和見解。
了解如何在 LuckyTemplates 中使用度量分支和組合 DAX 公式等技術計算利潤率變化。
本教程將討論數據緩存物化的想法,以及它們如何影響 DAX 在提供結果時的性能。
如果直到現在你還在使用 Excel,那麼現在是開始使用 LuckyTemplates 來滿足你的業務報告需求的最佳時機。
什麼是 LuckyTemplates 網關?所有你必須知道的