過濾組件聯動是指後面過濾組件的可選值隨着前面組件的選擇變化而變化,例如第一個過濾組件選擇「江蘇省」,第二組件的選擇範圍變成江蘇省內的城市,如下圖所示:
可以使用預設聯動或參數聯動實現:
預設聯動要求兩個過濾組件使用的欄位有聯動關係或在一張自助資料集中。
參數聯動適用於帶參數的 SQL 資料集。
範例資料使用 Demo 資料表「地區數據分析」。
當兩個欄位之間存在關係時, FineBI 可以實現自動聯動。
將「省份」和「城市」拖入維度,「合同金額」拖入指標欄,如下圖所示:
1)拖進一個文字下拉過濾組件,如下圖所示:
2)設定過濾組件的資料來源,如下圖所示:
3)設定過濾組件的名稱為「省份」,點選組件,選擇「下拉>編輯標題」,輸入「省份」,如下圖所示:
同「省份」過濾組件的設定方法一致,將「城市」拖入過濾組件欄位欄中,並將該過濾組件命名為「城市」。如下圖所示:
選擇省份為「浙江」,可以看到城市的選擇範圍縮減到浙江城市,如下圖所示:
如果不希望兩個過濾組件之間預設聯動,可以使用 自訂控制範圍,取消組件間的預設聯動。
選中「省份」過濾組件,點選「自訂控制範圍」,設定只控制表格組件,如下圖所示:
效果查看:
FineBI 支援預設過濾組件聯動效果,即只需要將資料跟過濾組件進行綁定,FineBI 就會自動讀取被綁定資料之間的聯動關係,實現組件聯動,資料之間的聯動關係必須是以下兩種關係中的一種:
聯動組件中的資料來源於一張表。
兩張表建立聯動關係,聯動組件前面的組件可以是主鍵表的任意欄位,後面的組件內資料則可以是外鍵表中的任意欄位。
參數聯動僅支援 實時資料 使用。
範例資料來自 FBIDemoTW 的 demo_customer。
1)建立一個帶「省份」參數的 SQL 資料集,命名為「客戶帶參數」。
建立 SQL 資料集,輸入SQL 語句 select * from demo_customer where 1=1,設定預設值為江蘇省,並點選「確定」儲存,如下圖所示:
2)建立一個不帶參數的 SQL 資料集,並命名為「客戶」。
輸入 SQL 語句 select * from demo_customer,如下圖所示:
1)建立一個儀表板,在頁面中新增文字過濾組件,如下圖所示:
2)設定過濾組件資料來源,將「客戶」表中的省份拖入欄位欄,並綁定省份參數(該參數為之前在「客戶帶參數」表中設定的參數),如下圖所示:
注:為該文字過濾組件新增不帶參數的省份欄位,是為了在過濾組件選擇欄位時能選到所有的省份值。
3)命名該過濾組件的名稱為省份,如下圖所示:
同「省份」過濾組件的設定方法一致,選擇「客戶帶參數」表,設定過濾欄位為「城市」,不需要綁定參數,並將該過濾組件命名為城市。如下圖所示:
使用 SQL 資料集「客戶帶參數」表建立分組表,將「省份」和「城市」拖入維度欄,「指標」拖入指標欄,如下圖所示:
選擇省份為「江蘇省」,可以看到城市的選擇範圍縮減到江蘇城市,如下圖所示: