[直連]文字過濾組件傳參

1. 概述

1.1 版本

FineBI 版本功能變動
6.0-

1.2 問題描述

由於原始表資料量過大,有時可能會導致記憶體或磁碟佔滿的情況,因此通常需要使用 SQL 中的 where 語句,加過濾條件來控制資料量。而 where 語句後面加上固定的數值會使得取數不靈活,此時可以使用參數動態控制 BI 取數的資料量,例如取不同門店的資料。

文字過濾組件的傳參分為兩種:

第一種為當文字過濾組件為空時,資料表中也無資料,在文字下拉框中可以輸入自己要的欄位,例如輸入「11011」並回車,資料表自動過濾出「店號」為「11011」的資料,如下圖所示:

7.gif

第二種為文字可下拉選擇欄位篩選,不需要手動輸入,並且支援勾選全選,效果如下圖所示:

16.gif

1.3 實現思路

範例一:

1)新增 SQL 資料集,並在 SQL 語句中配置「店號」參數。

2)儀表板中使用「文字下拉過濾組件」綁定參數。

範例二:

1)新增 SQL 資料集,並在 SQL 語句中配置「店號」參數。

2)新增 SQL 資料集,不配置參數。

3)儀表板中使用「文字下拉過濾組件」綁定參數,並將不配置參數的資料集下的「店號」欄位作為過濾組件下拉選項。

注:目前僅有文字過濾組件和日期類過濾組件提供傳參功能。  

2. 範例一:手動輸入過濾

2.1 建立 SQL 資料集

1)若同時擁有「直連資料」和「抽取資料」功能,則需要在資料列表中切換為「直連資料」,然後選擇「公共資料」,點選進入分組下業務包,點選「建立資料集>SQL 資料集」,如下圖所示:

注:只有 資料處理使用者 可以建立 SQL 資料集。

1.png

2)首先需要在 SQL 資料集中建立「店號」參數。設定表名為「門店資訊」,輸入帶參數的 SQL 語句 :select * from 門店維度 where 店號 in ('${店號參數}'),即設定「店號」為參數並命名為「店號參數」,點選參數設定「重新整理」,並選擇預設值為 11011,點選「確定」儲存,如下圖所示:

2.png

注1:預設值可任意選擇,只影響預覽資料。

注2:SQL 參數寫法可參考:SQL 資料集參數寫法範例

若「參數型別」為「文字」,希望預覽時預設值展示多個,可輸入例如:11011','11012,則預覽介面顯示對應兩筆資料,如下圖所示:

3.png

注:多個預設值格式為:參數值1','參數值2 。

2.2 製作分組表

製作一個組件,圖表型別選擇「分組表」後,拖入欄位,如下圖所示:

4.png

2.3 過濾組件僅綁定參數

1)新增儀表板,將製作的分組表拖進儀表板中。並新增文字下拉過濾組件,如下圖所示:

5.png

2)勾選「綁定參數」,在設定中綁定SQL參數「店號參數」,如下圖所示:

注:普通使用者要有一個有參數的資料集的權限之後,才會出現「綁定參數」的按鈕。由於所有 SQL 資料集獲取的參數都在綁定參數下拉框中,因此參數最好不要用一樣的參數名。  

6.png

2.4 效果查看

效果詳情請參見本文 1.2 節。

3. 範例二:下拉框選擇過濾

過濾組件只綁定參數只能透過手輸進行過濾,若是需要有下拉框則需要綁定欄位,來提供下拉框內容。本節講述如何在實現綁定參數的同時,實現下拉框選擇欄位效果。

實現要求:被綁定欄位所在的表不能有已綁定的參數「店號參數」。

3.1 建立 SQL 資料集

3.1.1 建立有參數的 SQL 資料集

1)資料處理使用者 選擇「公共資料」,進入業務包,點選「建立資料集>SQL 資料集」,如下圖所示:

1.png

2)首先需要在 SQL 資料集中建立「店號」參數。

設定表名為「門店資訊」,輸入帶參數的 SQL 語句: select * from 門店維度 where 店號 in ('${店號參數}'),即設定「店號」為參數並命名為「店號參數」,點選參數設定「重新整理」,並選擇預設值為 11011,點選「確定」儲存,如下圖所示:

8.png

注1:預設值可任意選擇,只影響預覽資料。

注2:SQL 參數寫法可參考:SQL 資料集參數寫法範例

若「參數型別」為「文字」,希望預覽時預設值展示多個,可輸入例如:11011','11012,則預覽介面顯示對應兩筆資料,如下圖所示:

9.png

注:多個預設值格式為:參數值1','參數值2 。

3.1.2 建立無參數的 SQL 資料集

此步驟主要是為了獲取完整的「店號」資料,實現下拉框能選擇所有的店號。

使用同樣的資料表,輸入 :select * from 門店維度,建立無參數的 SQL 資料集,如下圖所示:

10.png

3.2 製作分組表

製作一個組件,圖表型別選擇「分組表」後,拖入欄位,如下圖所示:

11.png

3.3 過濾組件綁定參數和欄位

1)新增儀表板,將製作的分組表拖進儀表板中。並新增文字下拉過濾組件,如下圖所示:

12.png

2)勾選「綁定參數」,在設定中綁定SQL參數「店號參數」,如下圖所示:

13.png

3)為了下拉框展示所有店號資料,因此需要使用沒有設定參數的門店資料表,將其拖入過濾組件欄位欄下 ,如下圖所示:

14.png

注 1:普通使用者要有一個有參數的資料集的權限之後,才會出現「綁定參數」的按鈕。

注 2:此處不用帶參數的門店表的店號欄位拖入文字過濾組件中,是因為此時「門店」表取過來資料庫的資料,是「店號」為 SQL 資料集中設定的預設值 11011 的店號資訊。所以文字框下拉可選的值也只有11011,不包括所有店號的欄位值。  

3.4 透過過濾店名過濾店號

此時,使用者可能會覺得,使用下拉框過濾選擇的店號為 ID 欄位,不容易記憶,而且已有資料為一個「店號」對應一個「店名」,希望能直接選擇店名進行過濾,可進行如下設定:

15.png

此時,在進行過濾時,表面上是過濾店名,實際是對店號進行過濾。

3.5 效果查看

詳情請參加本文 1.2 節。

4. 注意事項

過濾組件有兩種用法:上文介紹的參數綁定的用法和 普通過濾組件 的用法。

在「範例二」的預設情況下過濾組件的功能為參數,即綁定欄位的過濾組件控制範圍只能過濾帶參數的表「門店資訊」製作的資料表組件,如下圖所示:

17.png

若想要過濾組件在滿足範例二效果同時,還能過濾綁定欄位所在的不帶參數的「門店維度」表製作的組件。可去「管理系統>系統管理>標準」中的「BI參數」設定框,開啓「SQL參數元件過濾生效」按鈕,如下圖所示:

18.png

19.png

附件列表


主题: 製作儀表板
已经是第一篇
已经是最后一篇
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

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

反馈已提交

网络繁忙