使用者可以透過簡單的 SQL 語句對資料庫中的表處理後重新整理增到「公共資料」中。
FineBI 中的 SQL 語句不能建立新的資料表,也不能修改表結構,僅支援將已有資料庫中的表透過 SQL 語句取數至 BI 。
SQL 語句的文法規則需要和連結的資料庫適配。
進入「公共資料」,選擇一個有管理權限的資料夾(可參見:公共資料管理權限)。點選「建立資料集>SQL資料集」,如下圖所示:
選擇需要使用的資料連結後,就可以輸入 SQL 語句取數。點選「預覽」查看是否取數正確,最後點選「確定」新增表。如下圖所示:
SQL 範例語句:select * from 網際網路_存取統計表
注:新增 SQL 資料集時,輸入 SQL 語句中不能帶分號,否則若在欄位設定處修改了欄位類型,會導致資料集更新失敗。
1)輸入一句有參數的 SQL 語句(參數的命名規則可參見:參數命名規則)
2)點選「重新整理」
3)對 SQL 中出現的參數設定參數類型和預設值
4)點選「預覽」,查看取數結果,即篩選出所有時間大於 2015-08-31 00:00:00 的資料。
注:參數預設值可以設定為空,配合 if 函式或<parameter>實現參數為空時選擇所有值的效果,詳情可參見 參數為空選擇所有值(直連) 。SQL 資料集支援新增參數後傳遞使用,詳情使用介紹請參見 [直連]儀表板URL直接新增參數條件傳參 。
在設定時間參數的預設值時,我們可以設定動態時間,比如說昨天、上個月等。
直連屬性的 SQL 資料集新增後可直接使用,抽取屬性的則需要更新後使用。如下圖所示:
SQL 資料集在新增完成後,使用者可從下圖兩個入口修改 SQL 語句以及參數設定。
注1:存储过程仅对抽取数据有效,不支持直连数据库使用存储过程。
注2:FineBI不支持 Oracle 调用存储过程。
「儲存程式」就是儲存在資料庫中的一組 SQL 語句集。FineBI 在新增 SQL 資料集時,支援呼叫資料庫中的儲存程式,進而獲得執行了儲存程式 SQL 語句集後的表。
什麼樣的資料庫能呼叫儲存程式:可以使用 JDBC 方式連結,並可以透過 JDBC 執行 SQL 語句呼叫儲存程式的資料庫。
使用者可以使用自檢工具,按照 資料庫連結失敗排查步驟 2.2 節執行,在要查詢的 SQL 語句後輸入呼叫儲存程式的語句,如果執行成功,即表明可以在 FineBI 呼叫儲存程式。
下面以 SQL Server 呼叫儲存程式作為範例。每種資料庫的呼叫語句不同,其他類型資料庫的需要使用對應資料庫自身的呼叫語句。
在 SQL 語句框中輸入call + 儲存程式名(),點選「預覽」查看呼叫結果,點選「確定」即可儲存該資料集。
若儲存程式中有參數,呼叫方式如下:
使用參數預設值:直接輸入call+儲存程式名() 呼叫,例如 call test1()
不使用預設值,傳入參數值:call+儲存程式名('參數值1','參數值2') ,例如 call test('a','100')
在 SQL 語句框中輸入execute+儲存程式名,點選「預覽」查看呼叫結果,點選「確定」即可儲存該資料集。如下圖所示:
使用參數預設值:直接輸入 execute+儲存程式名 呼叫,例如 execute StuCouIN
不使用預設值,傳入參數值:execute+儲存程式名 '參數值1','參數值2' ,例如 execute StuCouIN '7001','2'
若修改 SQL 資料集的 SQL 語句,增加「地區」欄位,點選「確定」,如下圖所示:
修改 SQL 資料集後,資料表不會直接將新增的欄位更新進來,需要點選基礎表的「編輯」按鈕。手動勾選新增的欄位,如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙