反饋已提交
網絡繁忙
當使用者需要對錶中的同一欄位實現多值查詢時,可以使用正文域元件。
當正文域元件內容為空時,查詢全部資料;有多個訂單 ID 時,查詢結果為多個訂單 ID 的資訊。如下圖所示:
使用者可透過兩種方法實現正文域元件多值查詢。
範例一:新增範本參數,儲存格設定過濾條件實現。
範例二:使用資料集參數在資料查詢的時候即可實現過濾。
建立一張普通報表。如下圖所示:
建立資料庫查詢 ds1,SQL 語句為:SELECT * FROM 訂單。如下圖所示:
A1-G1 儲存格輸入正文內容,A2-G2 儲存格拖入相應的資料欄,自行設計報表樣式。如下圖所示:
點選菜單欄「範本>範本參數」,新增一個範本參數order。如下圖所示:
1)進入參數面板編輯介面,點選右側的「全部新增」,即可將參數新增至參數面板。如下圖所示:
2)參數綁定正文域元件。如下圖所示:
3)調整正文域元件的大小及「查詢」按鈕的位置。如下圖所示:
1)雙擊 A2 儲存格,點選「過濾」,類型選擇「公式」。
2)點選「定義」,輸入公式:IF(LEN($order)==0,INARRAY($$$,Split($order, "\n"))=0,INARRAY($$$,Split($order, "\n"))>0),點選「增加」和「確認」。如下圖所示:
注:公式表示如果正文域內容為空,則查詢全部資料;否則,將正文域裏的文字,按照換行符進行分割,每行為一個查詢值,並匹配當前儲存格內容是否為正文域元件中輸入其中一個值。
1)選中 A2 儲存格,點選右側的「條件屬性」,新增一個條件屬性。
2)屬性選擇「背景」,顏色選擇紫色,設定為「當前行」。
3)類型選擇「公式」,點選「定義」。輸入公式: row() % 2 = 0,點選「增加」。如下圖所示:
同 2.1 節,此處不再贅述。
建立資料庫查詢 ds1 ,輸入SQL 語句:SELECT * FROM 訂單 where 1=1 ${if(len(order)>0," and 訂單id in ('" +replace(order, "\n","','")+ "')","")},如下圖所示:
注:SQL 語句首先判斷正文域元件是否有內容,有內容時,透過 in 查詢正文域元件中以換行輸入訂單 ID 的資料,並使資料在資料集中過濾;無內容時,則不新增過濾條件,查詢全部資料。
同 2.5 節,此處不再贅述。
同 2.7 節,此處不再贅述。
1)PC端
PC端效果如 1.2 節所示。
2)行動端
行動端效果如下圖所示:
點選下載範例一範本:範例一範本參數實現.cpt
點選下載範例二範本:範例二資料集參數實現.cpt
問題描述
有時使用者輸入正文中含有多餘內容,此時直接查詢將會無法顯示資料。
解決方案
若使用者輸入正文中含有多餘內容,則需要排除掉多餘內容,只留下有效內容:訂單ID。如下圖所示:
具體步驟如下所示:
1)在參數面板再次新增一個正文域元件,元件名稱為KKK,元件值為字串。如下所示:
2)原來的正文域元件order ,元件值設定為「公式」,輸入公式:JOINARRAY(MAPARRAY(split($KKK,"\n"),INDEXOFARRAY(split(item,"-"),2)),"\n") 。如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙