反饋已提交
網絡繁忙
在 FineReport 報表進行資料展示或圖表展示時,經常會用到「排序」功能。一般在資料展示中應用比較多,圖表中也會稍微涉及到一點。
本文將介紹 FineReport 支援的各類排序,以及對排序的各種應用進行簡單介紹。
FineReport 支援的三種排序類型分別為:資料集中的排序、進階排序、擴展後排序。簡介如下表所示:
注:進階排序是在報表執行前進行排序,擴展後排序是報表執行後再進行排序。
透過 SQL 直接在資料庫查詢時排序
範例:
升冪:SELECT * FROM 销量 order by 销量
降冪:SELECT * FROM 销量 order by 销量 desc
多列排序:SELECT * FROM 銷量 order by 英文簡稱,銷量;資料先按「英文簡稱」列升冪排序,「銷量」列再按對應的「英文簡稱」升冪排序
報表根據某「資料列」設定的公式和排列順序進行的排序。相當於擴展前排序,依賴於「資料列」
從效能方面考慮:資料集中的排序>進階排序>擴展後排序。
從改寫場景方面考慮:擴展後排序>進階排序>資料集中的排序。
1)所有計算都必須要在資料庫中做,會導致 SQL 很複雜,難以維護。因此建議僅使用 SQL 實現一些簡單的,單一的「升冪」或「降冪」
2)有些計算是無法用 SQL 完成的;例如:某一欄是透過其他資料列計算得出的,「資料集中的排序」將不再適用
1)效能中等
2)可以基於「資料列」利用公式做一些稍微複雜些的排序
公式必須依賴於「資料列」,並且會導致公式的二次計算
注:這三種排序方式,都可以在普通報表、決策報表以及FVS視覺化看板中使用。
單列升冪/降冪
多列排序(非動態)
單列動態排序
不支援動態排序,即點選表頭進行排序的效果不能實現
1)11.0.3 及之後版本,支援多列排序
2)11.0.3 之前版本,只能實現單列排序,可以實現效果:
自訂排序
單列排序
漢字數字排序(結合其他功能實現的)
1)11.0.3 及之後版本,支援動態排序、支援多列排序
2)可以實現的效果(功能本身可以實現):
單列/多列透過點選表頭,實現升冪或降冪(11.0.3 及之後版本)
範本預覽後,多列按照之前設定的順序排序(11.0.3 及之後版本)
範本預覽後,單列按照之前設定的順序排序
3)可以實現的效果(結合其他功能實現的):
單列動態排序:擴展後排序、點選某一欄標題改變排序、
分組排序:按分組匯總結果排序、分組內排序互不幹擾
多列動態排序:多欄動態排序、橫向擴展欄多欄排序、擴展後多欄按先後排序、動態欄實現多欄排序
自訂排序:利用內建資料集實現自訂排序
其他場景:多級專案符號排序、擴展後中文按拼音排序、漢字數字排序
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙