powerbi性能優化
對于powerbi,性能優化可以從15個方面考慮:
1.過濾源數據【quickbi數據集過濾或sql過濾】
2.刪除無關列 【quickbi不選字段或sql不查詢】
3.聚合分析粒度 【quickbi使用sql聚合或計算字段聚合】
4.整理字段 【quickbi使用sql聚合或計算字段聚合】
5.禁用不必要的加載 【quickbi不可做】
6. 禁用系統日期表 【quickbi可以使用單獨一張日期表數據集】
7.選擇適當的數據類型 【quickbi計算字段可以選擇維度或度量】
8.選擇合適的連接方式 【quickbi只有直連】
9.避免使用計算列 【quickbi只有計算字段,類似度量值,但也不是度量值】
10.不斷優化DAX 【quickbi修改使用函數也可達到目的】
11.盡量使用內置可視化對象 【quickbi高級版只有內置圖表可用】
12.避免直接展示明細數據 【quickbi不會因為明細表影響效率】
13.避免過度使用交互 【quickbi有交互功能,性能優劣不取決于交互】
14.簡化設計 【quickbi圖表超100個以后,整個看板性能會變差】
15.定期更新PowerBI Desktop 【quickbi每月更新】
quickbi性能優化
但quickbi沒有這么復雜,大的方面主要分為2種:開啟加速引擎,添加占位符默認值。
實際優化效果:
加載速度可以從2分鐘縮短到5秒甚至1秒內。
對quickbi看板搭建的理解:
quickbi儀表板是通過連接數據庫,通過寫sql代碼生成數據集,再使用內置的圖表生成可視化看板的;即便使用內置的探索空間,上傳excel到探索空間,本質上也是使用了內置的數據庫,因此quickbi做性能優化需要從數據集入手。
下文分享如何做性能優化,主要分為2大類,數據集含占位符、數據集不含占位符。
情況一:不含占位符
a. 多表連接或單獨一個表或者sql數據集,未添加加速配置
可以使用加速配置,性能優化大概可以縮短至5秒內,甚至更短
開啟前:
開啟后:
b. 已添加加速配置,
相同網頁,首次打開慢,第二次打開快,可以使用查詢結果緩存
情況二:使用占位符
a.占位符沒有使用默認值,
可以使用添加數據集的占位符默認值,打開速度可以從16秒縮短至2秒左右
b.占位符使用默認值,
當開啟緩存后,查詢鏈路仍然是數據庫時,可以通過在sql代碼中通過where條件限制日期區間,可以有效提高性能
兩款BI的對比:
相對powerbi來說,quickbi的性能優化方式比較簡單,不需要思考更多的可能性。
對于上方標紅的部分:
1. 對于禁用不必要的加載:
如果是同一個數據模型,powerbi可以禁用某個數據表在更新數據時不加載;
但quickbi在更新數據集時,是數據集內所有的數據同時進行查詢,從而更新數據,如果想要進行部分更新,可以限制日期范圍,但對于所有用到的表來說,還是進行了全表更新。
2. 選擇合適的連接方式
powerbi可以選擇直連,也可以選擇導入模式,powerbi的導入模式相當于把數據表全部加載進模型中,作為緩存使用。
quickbi使用直連模式,當開啟加速引擎后,才將數據結果進行緩存,如果部分函數不支持加速引擎或使用占位符,則quickbi數據集就又自動轉為直連模式。
3.避免使用計算列
powerbi的計算列是會計算在內存中,而度量值只有在使用時才會計算,且度量值不占用內存,度量值創建數量沒有限制。
而quickbi只有計算字段,不使用時不占用內存,在使用時才會占用內存,但當計算字段的度量超89個之后,就無法再創建新的度量。