1. 概述
1.1 問題現象
1)設計使用者在製作了表格組件後,組件顯示「當前表資料量超過最大可顯示行數,如需展示請聯絡管理者」,例如如下圖兩個報錯:Cross Tab is too large、out of row restriction
2) 在公共資料介面修改顯示行數時,最終顯示的值比使用者實際修改的值大。
1.2 解決方案
1)確認資料量大小,透過自身對資料的過濾/分組匯總/減少欄位等方式減少資料量,避免該報錯;
2)如果資料量不能減少,請務必前往【服務平台>線上支援】聯絡技術支援,在技術支援指導下修改資料存取量參數,隨意修改可能增大當機風險。
3)若是交叉表超出最大可顯示行數,但確認資料量大小後發現未超過資料存取量設定的大小,可以嘗試選擇使用自訂求和代替自動求和。
2. 操作步驟
2.1 減少資料量
若該組件展示時,用不到這麼多資料,使用者可先在資料編輯介面中處理,透過過濾、分組匯總、刪除不必要欄位等方式來減少資料量大小,具體操作設計使用者可查看如下連結:
此外,也可在組件或儀表板中直接進行資料的過濾,減少資料量,參考如下連結:
設計使用者在新增上述步驟嘗試減少資料量後,可以再次預覽組件查看是否還有資料量限制的報錯。
2.2 修改資料存取量
注:進行修改前請務必前往【服務平台>線上支援】聯絡技術支援,且只有管理者可以修改資料存取量。
1)設計使用者上報錯誤後,管理者確認好設計使用者使用的資料量。進入管理系統>系統管理>標準下,查看 BI 參數下的資料存取量,如下圖所示:
2)資料存取量限制了可讀入伺服器記憶體的資料行數,可有效保護系統記憶體的健康使用。
配置過低,將影響資料計算準確性。配置過高,系統有當機風險。重啟後生效。
建議保持預設值 1000000。可配置範圍:1~10,000,000。建議配置範圍:10,000~1,000,000
在確認設計使用者需要的資料量大小後,根據分配系統的記憶體大小,適當調整該值大小。
比如將此處預設 1000000,調整為 3000000,如下圖所示:
注:若 JVM 分配至16G 可調大至 500萬,最大可調至 1000萬 但效能不佳。修改 JVM 記憶體請參見:Linux 修改 jvm 記憶體 。
3)調整該值大小後,儲存並重啟 FineBI ,設定項生效。設計使用者可重新嘗試預覽該組件。
2.3 交叉表改合計方式為求和
若是交叉表報錯「當前表資料量超過最大可顯示行數,如需展示請聯絡管理者」,確認資料量後,發現表的資料量並沒有超出資料存取量設定的資料。可以嘗試將「自動」改為「求和」。如下圖所示:
合計方式為「自動」時,是用明細資料進行的求和計算,使用明細資料就代表行列都是用原表的總資料量進行計算,就算不勾選顯示匯總行,後台也還是會計算的,只不過前端會不顯示,會出現行*列大於100000000。
合計方式為「求和」時,會取當前的分組和到表格中再進行求和,而不是取所有的明細資料到表格中再計算。
注:更改交叉表的合計方式,需要行維度/列維度欄位不能同時存在,且將指標欄位放上去。否則該方法無法生效。