1. 概述
1.1 版本
FineBI 版本 | 功能變動 |
---|---|
6.0 | - |
1.2 問題描述
由於原始表資料量過大,有時可能會導致記憶體或磁碟佔滿的情況,因此通常需要使用 where 語句,加過濾條件來控制資料量。而 where 語句後面加上固定的數值會使得取數不靈活,此時可以使用參數動態控制 BI 取數的資料量,例如取動態時間段內的全部資料。
例如在「年月區間」過濾組件中選擇 2015 年的資料,此時資料表中顯示 2015 年的資料,如下圖所示:
1.3 實現思路
1)新增 SQL 資料集,並在 SQL 語句中配置兩個參數:開始時間與結束時間。
2)儀表板中使用「年月區間過濾組件」綁定參數,過濾出 2015 年全年資料。
2. 操作步驟
範例資料:網際網路_訪問統計表.xlsx
下載範例資料聯集傳至 SQL Server。
2.1 新增 SQL 資料集
1)若同時擁有「抽取資料」和「直連資料」功能,則需要在資料列表中切換為「直連資料」。然後在公共資料中,點選「建立資料集>SQL 資料集」,如下圖所示:
注:只有 資料處理使用者 可以建立 SQL 資料集。
2)將資料集命名為「網際網路_訪問統計表」,選擇資料連結,輸入帶參數的 SQL 語句,SELECT * FROM 網際網路_訪問統計表 WHERE format(統計日期,'yyyyMM') >=concat('${開始年份}',case when '${開始月份}'>9 then '${開始月份}'else concat(0,'${開始月份}') end ) and format(統計日期,'yyyyMM') <=concat('${截至年份}',case when '${截至月份}'>9 then '${截至月份}'else concat(0,'${截至月份}') end ),點選重新整理,選擇參數型別為「日期」並選擇預設值,點選「確定」。如下圖所示:
注1:範例為年月區間過濾組件 SQL 寫法,不同的資料庫寫法不同,本文只提供參考範例,其他型別 SQL 參數寫法詳情參見:SQL 資料集參數寫法範例 。
注2:預設值可任意選擇,選擇預設為空,即選擇全部。
2.2 製作分組表
新增組件,製作出如下的分組表:
2.3 過濾組件綁定參數
1)新增儀表板,將製作的分組表拖進儀表板中。並新增「年月區間」過濾組件,如下圖所示:
2)勾選「綁定參數」,在設定中對開始時間綁定 SQL 參數,開始時間的「年」綁定「開始年份」,「月」綁定「開始月份」;結束時間同理,如下圖所示:
注:由於所有 SQL 資料集獲取的參數都在綁定參數下拉框中,因此參數最好不要用一樣的參數名。
2.4 效果查看
詳情參見本文 1.2 節。