Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 基于拆分条件复制行_Sql_R_Excel - Fatal编程技术网

Sql 基于拆分条件复制行

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

我希望在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", "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中轻松完成此操作。拆分产品列,然后取消拆分这两列。