我是一名数字营销经理,并试图将我的广告系列细分为分片分析。我的广告系列按以下方式列在一列中。“split_part”将一个列构造成一个表?
FR-SRC-PLATFORM | MISC {bw}
FR-SRC-M2M sim | Sim {bw}
ES-SRC-IOT | Connectivity {e}
我想分开每一个基于 - 然后|然后在{。
结果是
Cola | Colb | Colc | Col d | Col e
fr | SRC | Platform| Misc | {bw}
我发现下面的公式,工作,但只有一个问题... ...
SELECT split_part(your_col,'-',1) cola,
split_part(your_col,'-',2) colb,
split_part(split_part(your_col,'-',2),' | ',1) colc,
split_part(split_part(your_col,' | ',2),' {',1) cold,
split_part(split_part(your_col,'{',2),'}',1) cole
/* or
split_part(your_col,'{',2) cole
*/
FROM your_table
它有时会发生,我的活动都会有不同的结构(更多关键字),导致更多的条件被|分隔符号。作为例子; ES-SRC-IOT |连接性| SIM |美国{e}。理论上我会保留第一个|之间的所有内容和第一个{在同一列内。
有没有挽回这个公式的方法,或者我应该从头开始寻找什么东西?
谢谢您的高级。
谢谢
您是否能够重新设计的表,所以你不会在串联列中的值,而是存储在列中的数据的各个部分和行?因为这是真正的解决方案。 –
我无法做到这一点,因为它从来没有连接在一起。我以前用SQL看过这个,所以我知道这是可能的。 –