為什么我的Power BI Matrix或Table Visual很慢(上)


​你常常已創建具有許多可視化和計算的Power BI報告,但速度很慢!最慢的部分是報告頁面,其中包含矩陣或表格可視化!視覺為何如此緩慢?這是Power BI中的控件問題嗎?或Power BI問題呢?或者與建模和計算有關?在本文中,將解釋為什么Power BI報告中的矩陣和表可能會很慢,以及你應該如何處理它?所以今天這篇文章就可以給你一半的答案!

 

度量值

大多數情況下,當你在矩陣或表格中使用度量值時,會出現性能問題。話雖如此,但感覺我已經看到甚至在表格或矩陣視覺中顯示列的模型很慢,並且大部分時間的原因是模型的設計和雙向關系。

 

度量值如何工作

度量值是你常用在Power BI中創建的三種計算類型之一。另外還有兩種類型的計算是:計算表和計算列。我們來看看度量值的計算方法。

 

 

度量值是即時計算的

 

度量值不是預先計算的值。度量值是Power BI中唯一未預先計算的計算類型。測量計算將立即發生,當你更改切片器中的值,過濾或單擊視覺以突出顯示某些內容時。像這樣的操作,每次互動都會觸發對度量值的計算。

 

度量值消耗CPU

 

在計算度量值時,你有時可能會注意到(如果計算需要很長時間)CPU使用率突然上升到100%,並且在完成計算后會再次下降。

 

度量值占用內存

 

度量主要是消耗CPU,但是,它們有時也消耗內存。我們考慮以下計算:

MINX ( Customer, [Sum of Sales Amount] )

 

上面的計算是使用迭代器,迭代器的工作方式是:SUMX將遍歷Customer表中的每一行,計算每行的表達式(Sales of Amount),並將其存儲在臨時內存中,然后經過所有行后,它把最終結果輸出。

 

如你所見,存在臨時內存消耗。盡管度量本身並未存儲在任何位置,並且不會占用內存來存儲最終輸出,但臨時計算可能會有內存消耗。這種內存消耗不僅僅發生在迭代器上。還有其他可能導致此問題的場景函數和表達式。

 

為什么表和矩陣視覺上的度量值可能會很慢

 

度量值是在運行中計算的,它們消耗CPU的處理能力,也消耗臨時存儲器,因此很明顯測量將花費一些時間來進行計算。但是,你可能會首先注意到Table和Matrix的性能問題,為什么?事實是,度量是根據過濾器上下文中的值組合計算的(對計算度量輸出有影響的值集)。

 

作為一個例子,在下表中,每次我們在切片器中選擇一個值,同時進行六次計算!表格中每行的一個計算:

 

 

 

你可能想知道為什么六次,行數是五。請注意,總行只是另一個計算,在EnglishEducation字段上沒有任何過濾器的計算。因此,每次單擊“Color”時,都會發生六次計算。讓我們檢查矩陣中的另一個例子:

 

 

 

這次除了六行之外,我們還有四列,因此計算發生6 * 4 = 24次。每次在切片機中選擇顏色值時,都會進行24次計算!如果該矩陣有許多行和更多列,該怎么辦:

 

 

 

現在有1.8萬行記錄,和九列,每當你更改切片器中的值時,這將超過160,000次計算!

 

現在讓我們假設每次計算需要1秒鍾(這並不多),它消耗1MB內存。對於160,000計算,你可以了解它可以花多長時間,以及多少內存。事實上,Power BI內存引擎會進行大量的並行處理和壓縮等工作。因此,你不會產生160GB內存消耗或45分鍾等待此表,這樣會少得多。但是,盡管存在壓縮級別,仍會存在無法並行處理的部分或消耗內存的部分。

 

當計算在卡片圖中進行時,它只計算一次。當它出現在柱形圖或條形圖中時,它只發生在幾個項目上(因為你不會在這些視覺效果中放置一個包含數千個值的字段)。但是,當你使用表格,尤其是矩陣視覺效果時,你希望顯示詳細信息,並帶來包含大量值的字段。因此,你最終會進行數千甚至數百萬次計算,這就是你的報告變慢的原因。

 

當你將度量值計算放在矩陣或表格中時,這些視覺效果中字段的詳細上下文會導致數千甚至數百萬次計算。

 

請注意,對於簡單的計算或用正確設計的模型編寫的計算,這仍然會超快。即使有很多記錄和專欄。挑戰在於測量計算本身表現不佳。

 

現在你已經意識到為什么你的表格或矩陣視覺效果很慢,讓我們看看有什么方法可以讓它變快。關於如何解決,我們將在下一篇具體講我們給出的解決方案!

 

技術交流

1.Power BI免費下載:http://www.yeacer.com/

    Microsoft Power BI Desktop中文最新版:下載地址

2.歡迎加入的Power BI技術群,目前正在學習階段,有興趣的朋友可以一起學習討論。 

   Power Data技術交流群:702966126 (驗證注明:博客園Power BI) 

   更多精彩內容請關注微信公眾號:悅策PowerBI          


如果您覺得閱讀本文對您有幫助,請點一下“推薦”按鈕,您的“推薦”將是我最大的寫作動力!歡迎各位轉載,作者博客:https://www.cnblogs.com/yeacer/ 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM