決策支援圖表工具FineBI中的行列轉換特指將關係資料表中的行轉換為列,簡單來說就是將轉化前資料表中某個欄位的所有值取出來,配以某個指標欄位,成為新表的列名。
工具/原料
決策支援圖表工具FineBI
方法/步驟
1. 示例
如下圖所示的資料表stscore,每個學生都有5門課程的成績,儲存在決策支援圖表工具FineBI的資料庫中佔據5條記錄:
2 那麼如何使每位學生的成績只佔據一條記錄呢,也就是說,將不同學科的值作為欄位名,實現如下圖效果:
3 源資料表
決策支援圖表工具FineBI的ETL轉換表需要基於一個原始表,我們以上圖的stscore表為例,該資料表存在於另外一個數據庫中,不存在於BIdemo業務包中,故,首先我們需要新建一個數據連線,用來獲取該張源資料表,點選資料配置>資料連線管理,在決策支援圖表工具FineBI中新建一個數據連線mysql,配置如下圖:
4 新建轉化表
點選決策支援圖表工具FineBI的業務包管理,選中BIdemo業務包,在決策支援圖表工具FineBI的業務包管理介面點選+ETL表按鈕,頁面跳轉到ETL處理介面,點選右上角的新增表按鈕,在資料表選擇頁面中選中mysql資料連線,選中該資料連線下的stscore表,如下圖:
5 點選下一步,即可進入決策支援圖表工具FineBI的資料表設定和ETL處理介面,如下圖:
6 ETL行列轉化
被轉化的表新增完成之後,點選右側ETL處理中間的表名稱按鈕,進入決策支援圖表工具FineBI的行列轉化配置介面,如下圖:
7 根據欄位識別生成的指標所在列:是指資料表中根據需要轉化的欄位值重複的欄位,如上示例,name和studentno就根據需要被轉化欄位course的值重複出現,那麼該下拉框中的欄位可以選擇name或者studentno;
欄次名:是指需要被轉化的行欄位名稱,如上示例,是指course欄位;
原始指標欄位:是指被轉化欄位所對應的值欄位,如上示例,是指grade欄位。
設定完成後,效果如下圖:
點選儲存直到回到決策支援圖表工具FineBI的表設定頁面。
注:如果要更改ETL轉化表的結構設定,點選右側ETL處理中的行列轉化即可。
8 點選儲存,回到決策支援圖表工具FineBI的業務包配置介面,可以看到業務包中多了一個stscore_concert的資料表,如下圖:
9 效果檢視
在決策支援圖表工具FineBI中新建一個明細表的資料分析,其資料來源於業務包BIdemo下面的stscore-convert表裡面的所有欄位,如下圖:
10 欄位新增完成之後,可以看到如下圖明細表,每個學生只有一條記錄,所有學科都轉化為欄位名,與上圖效果一致: