Sql 基于拆分条件复制行
我希望在SQL或Excel中根据拆分条件复制行。有没有一个简单的方法可以做到这一点?下面列出了我期望的输出示例Sql 基于拆分条件复制行,sql,r,excel,Sql,R,Excel,我希望在SQL或Excel中根据拆分条件复制行。有没有一个简单的方法可以做到这一点?下面列出了我期望的输出示例 structure(list(key = 1:3, Sales_channel = structure(c(1L, 1L, 2L), .Label = c("online", "shop"), class = "factor"), Product = structure(3:1, .Label = c("bus & boat", "bus & cinema", "b
structure(list(key = 1:3, Sales_channel = structure(c(1L, 1L,
2L), .Label = c("online", "shop"), class = "factor"), Product = structure(3:1, .Label = c("bus & boat",
"bus & cinema", "bus & zoo"), class = "factor"), quantity = c(1,
2, 1)), class = "data.frame", row.names = c(NA, -3L))
我想得到以下信息:
key Sales_channel quantity values
1 1 online 1 bus
2 1 online 1 zoo
3 2 online 2 bus
4 2 online 2 cinema
5 3 shop 1 boat
6 3 shop 1 bus
实际上,我想用“&”分割每个字符串,然后旋转表 尝试将
base
R与tidyverse
组合
cbind(dat,t(sapply(str_split(dat$Product, " & "), unlist))) %>%
gather(newProd, values,`1`,`2`) %>%
arrange(key, values)
首先,我们将字符串从
列表
格式中拆分为矩阵格式,然后按列将其绑定到原始数据dat
。然后,我们将新列转换为一个长列,并确保顺序正确。使用Power Query,您可以在Excel中轻松完成此操作。拆分产品列,然后取消拆分这两列。