反饋已提交
網絡繁忙
使用者在輸入空值時查詢全部資料,輸入單值時查詢該值對應資料,輸入範圍(用任意字元分隔兩個數字即可)時查詢範圍內資料。如下圖所示:
注:範圍資料的分割符可以使用除數字外的任意字元。
利用正則運算式匹配捕捉範圍輸入值,並將這兩個數字代入 SQL 中運算。
實現該功能需要提前安裝「常用函式集合插件」。
點選下載插件:常見函式集合
設計器插件安裝方法參照:設計器插件管理
伺服器安裝插件方法參照:伺服器插件管理
建立普通報表,建立資料集 ds1,資料庫查詢語句為:
select * from 銷量 ${if(len(銷量)==0,"",if(len(p)==1,"where 銷量 ="+銷量,"where 銷量 between "+indexofarray(p,1)+" and "+indexofarray(p,2)))}
其中參數p需要設定公式預設值:stringfetch($銷量,"\\d+")
注:預設值公式的使用可以參見文檔:常見函式集合插件,此函式可以傳回使用正則表達匹配到的資料,結果為一個陣列。
如下圖設計報表:
1)將參數銷量新增到參數面板,元件類型選擇正文元件。
2)設計器菜單欄點選範本>範本參數,設定範本參數p,預設值為公式:stringfetch($銷量,"\\d+")
1)PC 端
儲存報表,點選分頁預覽,效果如下圖所示:
2)行動端
行動端效果如下圖所示:
注:此方法無需安裝「常用函式集合插件」,且支援小數,負數區間查詢。
建立範本,建立資料集 ds1,SQL 語句為:
select * from 銷量 ${if(len(range_z)==0,"",if(len(split(range_z,"~"))==1,"where 銷量 ="+range_z,"where 銷量 between "+indexofarray(split(range_z,"~"),1)+" and "+indexofarray(split(range_z,"~"),2)))}
其中定義了一個資料集參數 range_z,「~」代表資料範圍分隔符,可根據實際情況選擇合適的分隔符,儘量避開「+-*/」等特殊字元,推薦「~、_」符號。
在參數面板中新增銷量「標籤元件」、「查詢按鈕」、「正文元件」,元件名稱為 range_z ,和資料集參數一致即綁定。如下圖所示:
將資料集 ds1 的欄位拖入報表儲存格,設計報表樣式。如下圖所示:
儲存範本,點選「分頁預覽」。效果如下圖所示:
點選下載範本:
範圍查詢方法優化.cpt
範圍查詢不安裝插件.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙