我有一个列的数据集(名为“path”)
两个示例记录是:
/店铺/类别/杂项/产物酮-A3-午夜黑/?SID = spl12345 /店铺/类别/杂项/产物酮-A3-午夜黑/
NTH(1,split(path, '/')) one,
NTH(2,split(path, '/')) two,
NTH(3,split(path, '/')) three,
NTH(4,split(path, '/')) four
一个人总是回到“商店” 两个总是返回“类别” 三总是返回“misc” 但是对于记录1,四个返回“?sid = spl12345”,对于记录二,返回“product-one-a3-midnight-black”。我除了两个记录都返回“product-one-a3-midnight-black”,因为它们都来自第四个“/”
当我手动输入时,即
SELECT NTH(1,split(path, '/')) one,
NTH(2,split(path, '/')) two,
NTH(3,split(path, '/')) three,
NTH(4,split(path, '/')) four from
(SELECT "/shop/category/misc/product-one-a3-midnight-black/?sid=spl12345" AS path),
(SELECT "/shop/category/misc/product-one-a3-midnight-black/" AS path),
似乎有效。但由于某种原因在bigquery中使用我的大表不起作用 - 有谁知道为什么?