Преобразовать группу в сводную таблицу

У меня есть часть данных, которую я пытаюсь преобразовать в сводную таблицу Excel, чтобы воспользоваться функциональностью, когда вы дважды щелкаете мышью по ячейке, и она генерирует новый лист с подробной информацией.

Текущая группировка и подсчет выполняются в 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

Который аккуратен и читабелен. Я хотел бы дважды щелкнуть столбец "Count" и создать Excel с подробной информацией о строках, содержащихся в этой ячейке.

Поэтому я использую этот код для создания данных, чтобы идти к 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, я получаю это:

Который непригоден.

Любые предложения о том, как получить что-то похожее на таблицу SQL?

1 ответ

Решение

Вы правы с R, просто нужно несколько опорных точек:

  • выделите все поля в виде линий
  • выберите количество видов в качестве значений
  • удалить промежуточные и общие итоги
  • выберите табличный макет с повторяющимися метками

введите описание изображения здесь

Другие вопросы по тегам