将组转换为透视表

我有一块数据,我试图转换为Excel数据透视表,以利用双击单元格的function,并生成一个包含详细信息的新工作表。

当前的分组和计数正在使用类似下面的方式在R / SQL中完成:

sqla <- paste('select Species , CASE WHEN "Sepal.Length" >= 5.8 THEN 1 ELSE 0 END LongSepalLength , CASE WHEN "Sepal.Width" >= 3 THEN 1 ELSE 0 END LongSepalWidth , CASE WHEN "Petal.Length" >= 3.75 THEN 1 ELSE 0 END LongPetalLength , CASE WHEN "Petal.Width" >= 1.12 THEN 1 ELSE 0 END LongPetalWidth , count(*) Count from iris group by Species , CASE WHEN "Sepal.Length" >= 5.8 THEN 1 ELSE 0 END , CASE WHEN "Sepal.Width" >= 3 THEN 1 ELSE 0 END , CASE WHEN "Petal.Length" >= 3.75 THEN 1 ELSE 0 END , CASE WHEN "Petal.Width" >= 1.12 THEN 1 ELSE 0 END ', sep = '') sqlb <- sqldf(sqla) sqlb 

这创造了这样的东西:

  Species LongSepalLength LongSepalWidth LongPetalLength LongPetalWidth Count 1 setosa 0 0 0 0 2 2 setosa 0 1 0 0 47 3 setosa 1 1 0 0 1 4 versicolor 0 0 0 0 6 5 versicolor 0 0 0 1 1 6 versicolor 0 0 1 0 2 7 versicolor 0 0 1 1 8 8 versicolor 0 1 1 1 4 9 versicolor 1 0 1 0 2 10 versicolor 1 0 1 1 15 11 versicolor 1 1 1 1 12 12 virginica 0 0 1 1 3 13 virginica 1 0 1 1 18 14 virginica 1 1 1 1 29 

这是整齐和可读的。 我想双击“计数”列,然后用excel生成一个工作表,其中包含该单元格中所含行的详细信息。

所以我使用这个代码来创build数据去excel:

 sqla <- paste('select Species , CASE WHEN "Sepal.Length" >= 5.8 THEN 1 ELSE 0 END LongSepalLength , CASE WHEN "Sepal.Width" >= 3 THEN 1 ELSE 0 END LongSepalWidth , CASE WHEN "Petal.Length" >= 3.75 THEN 1 ELSE 0 END LongPetalLength , CASE WHEN "Petal.Width" >= 1.12 THEN 1 ELSE 0 END LongPetalWidth from iris ', sep = '') sqlb <- sqldf(sqla) sqlb write.csv(sqlb, file = '~/iris.csv', row.names = F) 

但是,当我尝试在Excel数据透视表中重新创build上面的整洁的表时,我得到这个: 在这里输入图像说明

哪个是不可用的

任何关于如何获得看起来像SQL表的build议?

你是对的,只需要几个枢轴选项:

  • select所有的行作为行
  • select物种的数量作为价值
  • 删除小计和总计
  • select标签重复的表格布局

在这里输入图像说明