由於原始表資料量過大,有時可能會導致記憶體或磁碟佔滿的情況,因此通常需要使用 SQL 中的 where 語句,加過濾條件來控制資料量。而 where 語句後面加上固定的數值會使得取數不靈活,此時可以使用參數動態控制 BI 取數的資料量,例如取不同門店的資料。
文字過濾組件的傳參分為兩種:
第一種為當文字過濾組件為空時,資料表中也無資料,在文字下拉框中可以輸入自己要的欄位,例如輸入「11011」並回車,資料表自動過濾出「店號」為「11011」的資料,如下圖所示:
第二種為文字可下拉選擇欄位篩選,不需要手動輸入,並且支援勾選全選,效果如下圖所示:
範例一:
1)新增 SQL 資料集,並在 SQL 語句中配置「店號」參數。
2)儀表板中使用「文字下拉過濾組件」綁定參數。
範例二:
2)新增 SQL 資料集,不配置參數。
3)儀表板中使用「文字下拉過濾組件」綁定參數,並將不配置參數的資料集下的「店號」欄位作為過濾組件下拉選項。
注:目前僅有文字過濾組件和日期類過濾組件提供傳參功能。
1)若同時擁有「直連資料」和「抽取資料」功能,則需要在資料列表中切換為「直連資料」,然後選擇「公共資料」,點選進入分組下業務包,點選「建立資料集>SQL 資料集」,如下圖所示:
注:只有 資料處理使用者 可以建立 SQL 資料集。
2)首先需要在 SQL 資料集中建立「店號」參數。設定表名為「門店資訊」,輸入帶參數的 SQL 語句 :select * from 門店維度 where 店號 in ('${店號參數}'),即設定「店號」為參數並命名為「店號參數」,點選參數設定「重新整理」,並選擇預設值為 11011,點選「確定」儲存,如下圖所示:
注1:預設值可任意選擇,只影響預覽資料。
注2:SQL 參數寫法可參考:SQL 資料集參數寫法範例。
若「參數型別」為「文字」,希望預覽時預設值展示多個,可輸入例如:11011','11012,則預覽介面顯示對應兩筆資料,如下圖所示:
注:多個預設值格式為:參數值1','參數值2 。
製作一個組件,圖表型別選擇「分組表」後,拖入欄位,如下圖所示:
1)新增儀表板,將製作的分組表拖進儀表板中。並新增文字下拉過濾組件,如下圖所示:
2)勾選「綁定參數」,在設定中綁定SQL參數「店號參數」,如下圖所示:
注:普通使用者要有一個有參數的資料集的權限之後,才會出現「綁定參數」的按鈕。由於所有 SQL 資料集獲取的參數都在綁定參數下拉框中,因此參數最好不要用一樣的參數名。
效果詳情請參見本文 1.2 節。
過濾組件只綁定參數只能透過手輸進行過濾,若是需要有下拉框則需要綁定欄位,來提供下拉框內容。本節講述如何在實現綁定參數的同時,實現下拉框選擇欄位效果。
實現要求:被綁定欄位所在的表不能有已綁定的參數「店號參數」。
1)資料處理使用者 選擇「公共資料」,進入業務包,點選「建立資料集>SQL 資料集」,如下圖所示:
2)首先需要在 SQL 資料集中建立「店號」參數。
設定表名為「門店資訊」,輸入帶參數的 SQL 語句: select * from 門店維度 where 店號 in ('${店號參數}'),即設定「店號」為參數並命名為「店號參數」,點選參數設定「重新整理」,並選擇預設值為 11011,點選「確定」儲存,如下圖所示:
此步驟主要是為了獲取完整的「店號」資料,實現下拉框能選擇所有的店號。
使用同樣的資料表,輸入 :select * from 門店維度,建立無參數的 SQL 資料集,如下圖所示:
3)為了下拉框展示所有店號資料,因此需要使用沒有設定參數的門店資料表,將其拖入過濾組件欄位欄下 ,如下圖所示:
注 1:普通使用者要有一個有參數的資料集的權限之後,才會出現「綁定參數」的按鈕。
注 2:此處不用帶參數的門店表的店號欄位拖入文字過濾組件中,是因為此時「門店」表取過來資料庫的資料,是「店號」為 SQL 資料集中設定的預設值 11011 的店號資訊。所以文字框下拉可選的值也只有11011,不包括所有店號的欄位值。
此時,使用者可能會覺得,使用下拉框過濾選擇的店號為 ID 欄位,不容易記憶,而且已有資料為一個「店號」對應一個「店名」,希望能直接選擇店名進行過濾,可進行如下設定:
此時,在進行過濾時,表面上是過濾店名,實際是對店號進行過濾。
詳情請參加本文 1.2 節。
過濾組件有兩種用法:上文介紹的參數綁定的用法和 普通過濾組件 的用法。
在「範例二」的預設情況下過濾組件的功能為參數,即綁定欄位的過濾組件控制範圍只能過濾帶參數的表「門店資訊」製作的資料表組件,如下圖所示:
若想要過濾組件在滿足範例二效果同時,還能過濾綁定欄位所在的不帶參數的「門店維度」表製作的組件。可去「管理系統>系統管理>標準」中的「BI參數」設定框,開啟「SQL參數元件過濾生效」按鈕,如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙