反饋已提交
網絡繁忙
當使用的資料來自檔案資料集、內建資料集時,無法透過 SQL 語句來實現下拉複選框的參數聯動,就需要透過設定公式來實現參數聯動。聯動效果如下圖所示:
使用公式來實現下拉框的參數聯動,公式通常為資料集函數,如何使用可參考 :資料集函式
建立普通報表,建立一個內建資料集Embedded1 ,如下圖所示:
點選功能表列「範本>範本參數」,建立兩個範本參數「產品型別」和「產品」,如下圖所示:
編輯參數面板,選擇全部新增,並且設定元件型別為下拉複選框元件,如下圖所示:
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)"))
做一個判斷,當產品型別參數無值是,傳回所有產品列,否則傳回輸入的產品型別對應的產品列
顯示值處空白即可,如下圖所示:
報表設計樣式如下圖所示,將 A2 儲存格擴展方式選擇「清單」。
1)雙擊 A2 儲存格,選擇過濾,設定可選列為產品型別,操作符為等於,參數為產品型別,點選增加,如下圖所示:
2)選擇過濾,設定可選列為產品,操作符為等於,參數為產品,點選增加,再次為 A2 儲存格新增一個過濾條件。如下圖所示:
保存範本,點選「分頁預覽」,效果如 1.1 節所示。
App 和 HTML5 端效果相同,如下圖所示:
點選下載範本:公式實現下拉複選框參數聯動.cpt
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙