finereport使用絕招

圖表分類使用數(shù)據(jù)字典

一般數(shù)據(jù)關(guān)聯(lián)、計算等都是圍繞code進行的,但前端展示需使用更友好的中文名稱。
表格中最容易,2列分別顯示code和name即可。
查詢條件也好辦,實際值用code,顯示值用name。
但圖表比如柱形圖,其分類(橫坐標)是要展示在頁面上的,選擇時只有一個選項,要么code要么name。
如果使用name,則無法再與查詢條件下鉆聯(lián)動。使用code,很不用戶友好。
實際上,分類這也是可以做成數(shù)據(jù)字典的,非常隱蔽。


image.png
  1. 分類還是選code(后續(xù)聯(lián)動就不需要轉(zhuǎn)換)
  2. 形態(tài)這選擇數(shù)據(jù)字典
  3. 選擇一個數(shù)據(jù)查詢,分別配置實際值code,顯示值name

臨時性模擬session

BI系統(tǒng)是多租戶的,正式使用時會從saas平臺對接用戶信息。在對接之前為使報表通用,對tenant_id和user_id設(shè)置變量,但不能放全局變量,多人開發(fā)如果租戶、用戶不同會互相覆蓋??梢钥焖偈褂靡粋€jsp頁面來設(shè)置session變量。腳本如下:

<%
String tenant_id = request.getParameter("tenant_id");
session.setAttribute("tenant", tenant_id); 
String user_id = request.getParameter("user_id");
session.setAttribute("user_id", user_id); 
%>

<%=session.getAttribute("tenant") %>
<%=session.getAttribute("user_id") %>

將此jsp文件部署在帆軟的webroot目錄下,然后訪問:
http://192.168.200.224:8080/webroot/mysession.jsp?tenant_id=1800000143&user_id=2

圖片自適應(yīng)

單元格使用公式,html顯示內(nèi)容


image.png
="<img style='width:200px;height:200px; object-fit: contain;'  src='https://path/to/" + "XK20413001001" + ".jpg'/>"

指定了一個200*200的正方形區(qū)域顯示,等比例縮放填充,其余留白。
(瘦高型則左右留白,矮胖型則上下留白)

轉(zhuǎn)換查詢條件

場景是,頁面有很多的查詢條件,比如門店就可能有十幾個,從不同的分類、屬性共同篩選出所需要的門店。
此時,如果直接在帆軟數(shù)據(jù)集的sql里都帶上這些條件,會使sql極為復雜,還需要一堆的判斷(很多條件是可選,但sql種都需要做判斷)。
如果讓前后端在接口中查詢轉(zhuǎn)化成一系列的門店code,一來要增加一個特殊接口,導致接口與查詢項不是簡單的對應(yīng)關(guān)系;更重要的是都轉(zhuǎn)化成code,非常容易就超過了url的8000個字符長度限制。
解決思路:

  1. 定義模板參數(shù),在此參數(shù)中將頁面的一系列查詢條件轉(zhuǎn)化成stockorg_code
-- 此處以1個sk模擬了前臺的傳參
SQL("洞察數(shù)據(jù)庫","SELECT stockorg_code FROM tenant_1800000143_rst.bi_dim_stockorg where stockorg_sk='"+$sk+"' limit 1",1,1)
  1. 數(shù)據(jù)集還是簡單的一個code變量in查詢,stockorg_code in ('$stockorg_code')
    其他無需改變,報表查詢正常。
    此處定義的是模板參數(shù),只適用于當前報表,可以放到全局參數(shù)中,供所有報表調(diào)用。
    為區(qū)分全局參數(shù)與模板參數(shù),增加global_前綴,如global_stockorg_code。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容