反饋已提交

網絡繁忙

參數為空查詢特定日期的資料

1. 概述

1.1 版本

報表伺服器版本功能變更
11.0-

1.2 預期效果

“參數為空查詢全部”場景下,當資料量較多時,查詢全部將會影響效能。其實多數場景下是不需要查詢全部的,只要能顯示資料,比如顯示前一天的資料、顯示前一週的資料,即顯示某個時間段或時間點的資料。如下圖所示:

那參數為空時顯示某個時間段或時間點的資料該如何實現呢?

1.3 實現思路

定義參數時透過公式,條件判斷使得參數為空時,查詢特定時間點或者時間段的資料。

2. 範例

2.1 準備資料

建立普通報表,建立資料集 ds1,SQL 語句為:

select * from 訂單 where 1=1  ${if(len(貨主地區) == 0,"and substr(訂購日期,0,11) = '" + 查詢日期 + "'","and 貨主地區 = '" + 貨主地區 + "'")}

公式解譯如下:

where 1=1 表示條件永真,防止沒有參數條件時,where 後面沒有有效內容導致出錯。

${if(len(貨主地區) == 0,"and substr(訂購日期,0,11) = '" + 訂購日期 + "'","and 貨主地區 = '" + 貨主地區 + "'")}表示:

定義一個參數「貨主地區」,透過 if 語句來根據「貨主地區」的值分別執行不同的 SQL 語句:

  • 當參數「貨主地區」為空時,查詢一個特定日期的資料,即又定義了一個參數「查詢日期」,SQL 語句相當於:select * from 訂單  where 1=1 and substr(訂購日期,0,11) = '某個查詢日期 ' ,其中 substr 是 SQL 的公式,處理一下資料,將表中的日期資料處理成我們需要的年月日形式。

  • 當參數「貨主地區」不為空時,SQL 語句相當於:select * from 訂單  where 1=1 and 貨主地區 = '貨主地區 ',即查詢選定貨主地區的資料。

如下圖所示:

定義好資料集參數後,使用公式給查詢日期一個動態特定的值,比如查詢前一天的資料。如下圖所示:

2.2 設計表格

如下圖設計表格,將欄位拖入到對應儲存格中。

2.3 新增參數元件

1)編輯參數面板,點選「全部新增」,設定下拉框元件的資料字典為訂單表中的資料欄貨主地區。如下圖所示:

2)修改標籤元件的顯示值為貨主地區:。如下圖所示:

2.4 效果預覽

2.4.1 PC 端

儲存範本,點選「分頁預覽」,效果如下圖所示:

2.4.2 行動端

App 及 HTML5 端效果相同,如下圖所示:

3. 範本下載

附件列表


主題: 參數應用
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙