1. 概述
1.1 問題概述
使用者有兩張資料表「學生表」和「課程表」,關聯欄位為「學生」和「課程」,且兩張表的兩個關聯欄位都不唯一,即一個學生對應多個課程,一個課程也對應多個學生,如下圖所示:
此時需要將兩個資料表合併成一張使用。
實現效果如下圖所示:
1.2 解決思路
方案一:使用 左右合併 功能實現。
方案二:在 FineBI 中透過 新增聯合關聯 並建立自助資料集實現。
由於有多個關聯欄位,那麼兩欄位共同作為關聯依據情況下本質上還是 1:N 的關係。
例如「學生表」中王強所選的英語組合成的資料在「學生表」中只有一條,且與「課程表」中王強、英語組合資料一一對應,那麼實際上聯合關聯欄位是 1:1 對應的。
2. 操作步驟
範例資料:多對多表.rar
2.1 方案一
2.1.1 建立自助資料集
建立自助資料集,選擇「課程表」的全部欄位,如下圖所示:
2.1.2 進行左右合併
新增左右合併步驟,選擇新增左右合併的欄位為學生表的所有欄位,點選「確定」,如下圖所示:
新增合併依據為共有欄位「課程」和「學生」,合併方式為「並集合並」,如下圖所示:
儲存自助資料集。
2.1.3 效果查看
詳情參見本文 1.1 節。
2.2 方案二
2.2.1 新增聯合聯動
選擇「課程表」下的「關聯檢視表」,點選「新增關聯」,如下圖所示:
選擇關聯欄位,設定關聯關係為1:1(設定 1:1 關係的原因參見本文 1.2 節),使用者可根據資料情況選擇關聯關係,如下圖所示:
注: FineBI 5.1.14 之後的版本建立關聯後可以自動更新關聯關係。若是之前的版本,需要進行業務包更新後才能更新關聯(若要更新Excel之間的關聯關係,需要進行全局更新)
2.2.2 合併資料表
建立自助資料集,依次選擇「課程表」和「學生表」下的所有欄位,請按照文檔提示順序選擇,選擇先後會影響合併結果,如下圖所示:
儲存自助資料集即可。
2.2.3 效果查看
詳情參見本文 1.1 節。