我有一個用戶 ID 和標簽的資料框,如下所示“當前資料”。
目標:
我希望能夠為標簽列下的每個值復制記錄。正如您在目標輸出中看到的那樣,對于源“TAGS”中的三個標簽中的每一個,用戶 ID 21 重復了 3 次 - 除了“標簽”列之外的所有內容都是重復的 - 逗號分隔串列中的每個專案都有 1 條記錄。
問題:
我查看了在雪花中使用SPLIT_TO_TABLE功能,但它在我的用例中不起作用,因為并非所有標簽都以某種順序一致,在某些情況下,單元格也是空白的。
當前資料:
USER_ID CITY STATUS PPL TAGS
21 LA checked 6 bad ui/ux,dashboards/reporting,pricing
32 SD checked 9 buggy,laggy
21 ATL checked 9
234 MIA checked 5 glitchy, bad ui/ux, horrible
目標:
USER_ID CITY STATUS PPL TAGS
21 LA checked 6 bad ui/ux
21 LA checked 6 dashboards/reporting
21 LA checked 6 Pricing
32 SD checked 9 buggy
32 SD checked 9 laggy
21 ATL checked 9
234 MIA checked 5 glitchy
234 MIA checked 5 bad ui/ux
234 MIA checked 5 horrible
資料:
select table1.value
from table(split_to_table('a.b', '.')) as table1
uj5u.com熱心網友回復:
SPLIT_TO_TABLE有效。以下是使用您的示例資料的查詢:
select USER_ID, CITY, STATUS, PPL, VALUE
from (values
(21,'LA','checked',6,'bad ui/ux,dashboards/reporting,pricing')
,(32,'SD','checked',9,'buggy,laggy')
,(21,'ATL','checked',9,'')
,(234,'MIA','checked',5,'glitchy, bad ui/ux, horrible')
) as tbl (USER_ID,CITY,STATUS,PPL,TAGS)
, lateral split_to_table(tbl.tags,',');
結果:
USER_ID CITY STATUS PPL VALUE
21 LA checked 6 bad ui/ux
21 LA checked 6 dashboards/reporting
21 LA checked 6 pricing
32 SD checked 9 buggy
32 SD checked 9 laggy
21 ATL checked 9
234 MIA checked 5 glitchy
234 MIA checked 5 bad ui/ux
234 MIA checked 5 horrible
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/476558.html