橫向連接
簡介
功能簡介
橫向連接就是將兩張表單的資料左右合併爲一張表。橫向連接目前支持以下四種連接方式:
- 左連接:對應 SQL 語句中的 left join。
- 右連接:對應 SQL 語句中的 right join。
- 內連接:對應 SQL 語句中的 inner join。
- 全連接:對應 SQL 語句中的 full join。
使用場景
橫向連接時,左右兩張表單需要具有共有的欄位,也就是連接欄位,連接時根據該欄位左右合併資料。
比如,學生的數學成績是一張表,學生的英語成績是另外一張表,他們共有的欄位是學生姓名。可以透過姓名欄位將兩張表的資料左右合併爲一張表,便於查看每個同學的各科成績。
預期效果
不同連接方輸出的結果如下圖所示:
設定步驟
資料源表單
我們以「數學成績」和「英語成績」表單作爲本次橫向連接的資料源。
新建資料流
選擇「資料工廠 > 新建資料流」。
選擇資料源
對資料流重命名,並新增两個輸入節點,分別選擇數學成績和英語成績表作爲輸入源。
新增橫向連接
在資料流設計畫布中新增一個「橫向連接」資料處理節點,然後將數學成績和英語成績兩個輸入節點依次連接至「橫向連接」節點。
節點配置
橫向連接需要設置連接方式以及新增連接欄位。
連接方式
連接方式目前支持內連接、左連接、右連接和全連接。橫向連接時,是根據連接欄位進行匹配的,連接欄位相同的資料根據連接方式進行左右拼接。比如,內連接指的是取兩張表的資料交集,連接欄位只有在左右兩張表都包含纔會進行匹配,否則捨棄。
1. 左右表單如何區分
方法一:先連向「橫向連接」節點的表單爲左側表單,後連向「橫向連接」節點的表單爲右側表單。
方法二:連接以後,在節點配置處也可以看到左右兩側的表單分別是哪一張:
2. 合併連接欄位
橫向連接時,若選擇「合併連接欄位」,合併後,連接欄位將合併爲一個欄位。
合併與否的效果如下圖所示:
合併連接欄位 | |
不合併連接欄位 |
注:
上圖中的橙色表頭代表的是連接欄位。
連接欄位
連接欄位就是兩張表單合併爲一個表單的條件,如果有多個連接條件,那麼可以新增多個連接欄位。連接時,只有連接欄位全部匹配的資料纔會進行連接。如下圖所以,點擊「資料預覽」可以預覽連接後的效果:
節點重命名
爲了更好地標記資料流中每一個資料處理步驟的計算規則,可以對資料流節點進行重命名。
保存並輸出
追加合併結束後,如果需要進一步計算,可以新增其他資料處理節點進行處理。如果處理完成,需要連輸出節點將資料輸出並保存處理結果。
效果演示
經資料流橫向連接處理後的資料可以透過儀表板進行展示。不同連接方式的連接效果如下圖所示:
還可以透過輸出表同步功能同步至表單進行備份,詳情參見:輸出表的使用。
注意事項
空值不會互相匹配
橫向連接的兩張表合併依據中如果有空值,空值之間不會互相匹配。
資料預覽限制
節點資料預覽時,最多可預覽前200條資料,若想查看完整的資料可以透過儀表板進一步分析展示。
嵌套使用橫向連接
一個橫向連接節點暫時僅支持合併兩張資料表;如有更多資料表需要拼接,可以嵌套使用多個「橫向連接」來實現。
即先將 A 表、B 表橫向連接,再將 C 表和剛纔的橫向連接節點用另一個「橫向連接」連接,依此類推。
日期匹配精度
如果連接欄位爲時間類型,可以自由選擇模糊管理精度。時間欄位默認的匹配精度爲「天」。
笛卡爾積
當資料源的連接設定不合理時,可能導致計算結果出現笛卡爾積。若出現笛卡爾積,在資料預覽時,系統將給出如下提示:
爲避免後續笛卡爾積的輸出資料超過100,000而導致資料流更新失敗,您可以提前根據資料流更失敗問題排查文件中的操作步驟進行調整。