反饋已提交

網絡繁忙

公式實現下拉複選框參數聯動

1. 概述

1.1 預期效果

當使用的資料來自檔案資料集內建資料集時,無法透過 SQL 語句來實現下拉複選框的參數聯動,就需要透過設定公式來實現參數聯動。聯動效果如下圖所示:

2023-11-11_15-59-06.gif

1.2 實現思路

使用公式來實現下拉框的參數聯動,公式通常為資料集函數,如何使用可參考 :資料集函式

2. 範例

2.1 準備資料

建立普通報表,建立一個內建資料集Embedded1 ,如下圖所示:

2.2 新增範本參數

點選功能表列「範本>範本參數」,建立兩個範本參數「產品型別」和「產品」,如下圖所示:

2.3 新增元件

編輯參數面板,選擇全部新增,並且設定元件型別為下拉複選框元件,如下圖所示:

2.4 設定資料字典

1)選中產品型別元件,選擇「元件設定>屬性>資料字典」,型別設定為資料查詢,資料集為Embedded1,實際值和顯示值為產品型別。如下圖所示:

2)選中產品元件,選擇「元件設定>屬性>資料字典」,型別設定為公式,其中實際值處設定為 if(len($產品型別)=0,Embedded1.select(產品),eval("Embedded1.select(產品,inarray(產品型別,['"+joinarray($產品型別,"','")+"'])>0)"))

公式說明:

公式

說明

len($產品型別)

得到產品型別參數值的長度

Embedded1.select(產品)

獲取 Embedded1 資料集的產品列,函數使用可查看 資料集函式概述

joinarray($產品型別,"','")

將產品型別陣列轉換成一個以 ',' 為分隔符號的字串,函數使用可查看 陣列函數概述

eval("Embedded1.select(產品,inarray(產品型別,['"+joinarray($產品型別,"','")+"'])>0)")

將"Embedded1.select(產品,inarray(產品型別,['"+joinarray($產品型別,"','")+"'])>0)" 以公式結果輸出,其中作用為獲取 Embedded1 資料集的產品列,過濾條件產品型別為產品型別參數的值,函數使用可查看 其他函式概述

if(len($產品型別)=0,Embedded1.select(產品),eval("Embedded1.select(產品,inarray(產品型別,['"+joinarray($產品型別,"','")+"'])>0)"))

做一個判斷,當產品型別參數無值是,傳回所有產品列,否則傳回輸入的產品型別對應的產品列

顯示值處空白即可,如下圖所示:

2.5 設計報表樣式

報表設計樣式如下圖所示,將 A2 儲存格擴展方式選擇「清單」。

2.6 設定過濾條件

1)雙擊 A2 儲存格,選擇過濾,設定可選列為產品型別,操作符為等於,參數為產品型別,點選增加,如下圖所示:

2)選擇過濾,設定可選列為產品,操作符為等於,參數為產品,點選增加,再次為 A2 儲存格新增一個過濾條件。如下圖所示:

2.7 效果預覽

2.7.1 PC 端

保存範本,點選「分頁預覽」,效果如 1.1 節所示。

2.7.2 行動端

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

2023-11-11_16-35-52.gif

3. 範本下載

附件列表


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

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙