反饋已提交

網絡繁忙

多選下拉樹實現多值查詢

1. 概述

1.1 版本

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

1.2 應用場景

下拉樹中分別有 地區,省份,城市 指標,如果想實現同時選擇查詢出多個城市的資料,如何實現呢?如下圖所示:

1.3 實現思路

我們可以透過帆軟內建 REPLACE() 和 SUBSTITUTE() 函式來實現。

1)REPLACE()

REPLACE(text, texttoreplace, replacetext):根據指定字串,用其他文字來代替原始文字中的內容。

  • text:需要被更換部分字元的正文字或儲存格引用。

  • texttoreplace:指定的字串或正則運算式。

  • replacetext:需要更換部分舊文字的文字。 

2)SUBSTITUTE()

SUBSTITUTE(text,old_text,new_text,instance_num):用 new_text 更換文字串中的 old_text。

  • Text:需要被更換字元的文字,或含有文字的儲存格引用。 

  • Old_text:需要被更換的部分文字。 

  • New_text:用於更換 old_text 的文字。 

  • Instance_num:指定用 new_text 來更換第幾次出現的 old_text。

注1:如果指定了 instance_num,則只有指定位置上的 old_text被更換,否則文字串中出現的所有 old_text 都被 new_text 更換。 

注2:如果需要更換文字串中的指定文字,則使用 SUBSTITUTE 函式;如果需要更換文字串中指定位置上的任意文字,則使用 REPLACE 函式。

2 範例

2.1 範本設計

2.1.1 資料準備

建立報表,新增資料集,資料查詢語句如下:

  • ds1:select * FROM S訂單 as 訂單 where 貨主地區 is not null ${if(len(地區)=0,"","and 貨主城市 in ('"+SUBSTITUTE(地區,",","','")+"')")} 

  • ds2:select distinct 貨主地區 FROM S訂單 訂單 where 貨主地區 is not null

  • ds3:select distinct 貨主省份 FROM S訂單 where 貨主地區 = '${layer1}'  and 貨主省份 is not null

  • ds4:select distinct 貨主城市 FROM S訂單 where 貨主省份 = '${layer2}' 

注1:ds1 中的條件屬性也可修改為: ${if(len(地區)=0,"","and 貨主城市 in ('"+SUBSTITUTE(地區,",","','")+"')")}  

注2:layer1 表示取層次 1 節點的值,若在層次 2 中呼叫,則是 SELECT 欄位 FROM 表名 WHERE 層次2的欄位 = '${layer1}' 依次類推。

2.1.2 範本設計

建立普通報表,將欄位拖入對應的儲存格中,如下圖所示:

2.1.3 參數介面

開啟參數介面,新增標籤元件、下拉樹元件,下拉樹元件命名為地區,勾選多選屬性,設定資料字典,構建方式選擇普通分層構建

1)層次1:選擇資料查詢 ds2,設定實際值、顯示值為貨主地區,如下圖所示:

2)層次2:選擇資料查詢 ds3,設定實際值、顯示值為貨主省份,如下圖所示:

3)層次3:選擇資料查詢 ds4,設定實際值、顯示值為貨主城市,如下圖所示:

2.2 效果預覽

1)PC 端

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

2)行動端

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

3. 範本下載

已完成的範本,可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doctw\Primary\widgetReport\多選下拉樹實作多值查詢.cpt

點選下載範本:多選下拉樹實現多值查詢.cpt


附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙