Что может сводная таблица (часть 1)

Сводная таблица – невероятно сильный инструмент анализа. Конечно, мы не спорим с дисперсионным анализом данных, с дескриптивной статистикой, с регрессивным анализом, с методами Machine Learning и BigData (графы, ближайший сосед и пр.), речь о том, что «сводная таблица» это самый простой и доступный прикладной инструмент, освоить который можно в течении 5-10 минут. При этом, по принципу Парето «80 на 20», знание такого простого инструмента поможет вам решить 80% всех задач, связанных с обработкой данных. Для освоения нам нужно немного совсем простой (специально упрощенной) теории. Дело в том, что Сводную таблицу можно построить только из таблицы определённого типа… (забегая вперед из «Плоской таблицы») Во-вторых, чтобы анализировать данные, нам нужно понимать, что такое данные (хоть вопрос и кажется тривиальным).

Итак мы имеем два основных вопроса.

1. НАШИ ВОПРОСЫ

  • «Плоская таблица». Все данные в мире хранятся в виде таблиц. Кому и когда вы звонили со своего мобильного, ваши штрафы, паспортные данные и все прочее… Но хранятся эти данные не в абы каких таблицах, а в «плоских». Что это за таблицы, спросите вы? Ответим, но перед этим нужно разобрать, какие бывают данные?
  • «Какие бывают данные». Данные можно разделить на две огромные группы… пока все))

Запоминаем. ВОПРОС 1: «Что такое «плоская таблица»? ВОПРОС 2: «Какие бывают данные»? ))

2. А теперь ПРИМЕР

Допустим вы производите и продаете какую-то продукцию. И хотите спланировать свою деятельность. Сколько вам произвести или закупить?

Вот ваша таблица со среднемесячными продажами. (Рисунок 1)

Рисунок 1

По этим данным вы легко можете спланировать свою деятельность. Сколько вам купить-произвести для продажи на следующий месяц. Но вот незадача, вы вспоминаете, что у вас не одна номенклатура товара, а семь. Семь разных видов товара. Соответственно, для планирования вам нужна более сложная таблица, в которой кроме «Клиентов» появляется еще и «Товар». НО вы легко решаете эту проблему, расположив по вертикали (как и было) Контрагентов и по горизонтали Товар. Теперь вы знаете, сколько товара вам нужно купить или произвести для какого клиента. Сумма ИТОГО, конечно совпадает. (Рисунок 2)

Рисунок 2

И только вы решили, приступить к производству или к закупке этого товара, как вспомнили, что это же среднемесячные продажи, но ваш товар сезонный, и вам нужна таблица продаж по месяцам.

И вот тут-то вы призадумались! Как вам расположить поля? Можно использовать разные листочки, для каждого месяца свой лист (Рисунок 3)

Рисунок 3

Можно попробовать добавить строк в таблицу (Рисунок 4).

Рисунок 4

А что если появится еще что-то … это может быть что угодно, давайте придумаем пример, хотя он не важен.


ПРИМЕР: часть ваших клиентов требует доставки, часть забирает товар самостоятельно, и это зависит от месяца к месяцу (кто-то не пользуется машиной зимой, кто-то отдает ее на лето детям) и ваш транспорт так же доступен только часть месяцев. Тогда планировать продажи вы можете только, имея еще и информацию, о том, есть ли у вас на следующий месяц машина, и у кто из клиентов требует доставки. Можем использовать цвет. (Рисунок 5)


Рисунок 5

Если появится еще что-то, как мы это разместим в таблице? Будем делать строчки под январем, февралем? Или разделим ячейку на несколько цветов? Почему вообще мы имеем ограничения, почему нам сложно, когда у нас появляется еще что-то? И как назвать это «еще что-то»?

Отметим, что у нас появились еще вопросы. Как назвать это «еще что-то», при появлении которого нам приходится перестраивать таблицу? Забегая вперед, это производная от ВОПРОСА 2 («Какие бывают данные»)?

И еще появился еще один вспомогательный ВОПРОС 3: «Почему сложно построить большие таблицы»? Пример не пока не помог нам ответить на ВОПРОС 1, ВОПРОС 2, а только добавил ВОПРОС 3.

3. ТОТ ЖЕ ПРИМЕР, ТОЛЬКО с другой стороны

Чтобы ответить на эти (уже три вопроса) , давайте пересмотрим наш процесс конструирования таблиц в другом ракурсе. Представим, что мы храним данные в коробочках (например, в коробках от спичек), записывая на бумажке и кладя их внутрь коробка. Тогда первая наша таблица (контрагент-продажи) выглядела бы так (Рисунок 6). По одной линии расположены Контрагенты. Как будто вдоль прямой мы откладывали метки: Контрагент 1, Контрагент 2, .. а на эти метки клали, коробки спичек с бумажкой внутри. Математики или программисты бы сказали: «Одномерный массив (много потому что) данных», потому что одна прямая – это одномерный мир.

Рисунок 6

Вторая таблица (там, где был Контрагент и Товар) будет выглядеть так (Рисунок 7). Теперь наши коробки лежат не на прямой, а на плоскости. По одной линии мы откладываем Контрагент 1, Контрагент 2, а по другой линии откладываем Товар 1, Товар 2…А на пересечении лежит наш коробок с цифрой, с ответом на вопрос, сколько Товара N покупает Контрагент N. Это двухмерный мир. Декартова система координат (кто помнит математику 6-го класса). Математики бы сказали: «Двухмерный массив данных».

Рисунок 7

Наша третья таблица выглядела бы так (нарисуем в ней циферки, чтобы легче было представлять). По одной прямой мы бы откладывали метки Контрагент 1, 2.., по другой Товар 1,2.., а по третьей Месяц 1,2...И на пересечении этих трех линий коробков был бы наш искомый коробок, с нужной нам цифрой. Это уже походе на трехмерный мир, и математики бы назвали бы это «трехмерный массив данных».

Рисунок 8

И вот мы подошли к ответу на ВОПРОС 2, и 3. ВОПРОС 2: «Какие бывают данные»? ВОПРОС 3: «Почему сложно построить большие таблицы» ?

4. А ТЕПЕРЬ ОТВЕТЫ

ОТВЕТ на ВОПРОС 2:

Все что мы записывали на бумажки внутри коробков спичек, это были сами данные, то что мы измеряем. Это обычным языком могут называть следующими словами: «данные-сами данные-цифры-измеряемые величины-ресурсы-цифры-показатели».

А то, что мы откладывали как метки по прямым (Контрагент 1,2.., Товар 1,2, Месяц 1,2..) - это были аналитические разрезы или характеристики данных, или еще говорят: «аналитики-разрезы-аналитические разрезы-характеристики данных- измерения»… (слово «измерение» скорее всего вам не знакомо, но программисты используют едва ли не чаще всего; почему, мы это узнаем чуть позже).

Кстати, в нашем примере была одна бумажка с в коробке, но это для простоты, на самом деле и данных может быть очень много, В нашем примере, например, % накапливаемой скидки за эту продажу, или за цена (если мы каждому клиенту продаем по своей цене, так называемая - ценовая дискриминация), себестоимость, но это легко представить, как просто 2,3… подписанные бумажки с цифрами в нашей коробочке.

ОТВЕТ на ВОПРОС 3:

«Почему сложно построить большие таблицы»? ОТВЕТ: потому что мы живем в трехмерном измерении, а аналитических разрезов бывает на-а-а-а-много больше, чем 3. Да даже когда их 3, мы уже вынуждены напрягаться, разные таблицы или расшифровка строк. А как же быть, если аналитик больше, чем три? (ЭТО ВОПРОС 4, но дадим на него ответ сразу.)

ВОПРОС: «А как же быть, если аналитик больше, чем три»? ОТВЕТ: использовать «плоскую таблицу». Плоская таблица дает возможность упорядоченно расположить таблицу с любым количеством Аналитических разрезов.

5. КАК СТРОЯТСЯ ПЛОСКИЕ ТАБЛИЦЫ

Посмотрим, как они строятся?

На том же примере: Сначала у нас была одна линия, по которой мы откладывали Контрагент 1,2.. Потом появилось «две пересекающиеся линии», на пересечении которых наши данные. Потом «три пересекающиеся линии». А что если эти линии не пресекать? Если они будут параллельными? А считать данные мы сможем прочтя строку (см. самую правую картинку на Рисунок 9). Контрагент 1, Товар 1, Март, можем добавить что-то еще, и в конце данные по продаже – 15. Кажется в такой таблице можно поместить бесконечное количество параллельных Аналитик и данных и бесконечное количество данных.

Забегая вперед, для каждого аналитического разреза и для каждого ресурса (для бумажки с цифрой) мы выделим один – «свой» столбец.


Кстати, таблицы, где есть пересекающиеся измерения – называются «кросc-таблицами», от английского cross – пересечение.

Кстати, почему программисты и математики часто используют слово «измерения», потому что это очень похоже на двух-мерный, трех-мерный, одно-мерный мир.


Рисунок 9

Для закрепления построим из нашей двухмерной кросс-таблицы - «плоскую таблицу». Вспомним ее (Рисунок 2)

Вырезаем «контрагентов» – они у нас в отдельной колонке (столбце ли – я до сих пор путаюсь, как правильно). Во вторую колонку (столбец ли) помещаем Товар, и заполняем Товаром 1. И потом на заполняем третью колонку (столбец) данными по продаже. (Рисунок 10) Возможно, это сложно давайте прямо по действиям…

Рисунок 10

Итак … По действиям …

Выделяем для Аналитики Товар 1-й столбец (колонку) И заполняем ее всеми нашими возможными контрагентами. (перебираем всех наших конрагентов) (Рисунок 11)

Рисунок 11

Теперь заполняем вторую колонку (столбец) Товаром, но так как товаров у нас много, то мы пока зафиксируем Товар 1. (Рисунок 12)

Рисунок 12

Теперь заполним (а можно просто вырезать из нашей двухмерной кросс-таблицы данные и подставить к нашим двум столбцам. (Рисунок 13)

Рисунок 13

И так и идем не переставая, пока не закончится товар. И вот что у нас получится (таблица сильно уйдет вниз, поэтому мы всю ее не будем представлять). ВОТ ОНА НАША «ПЛОСКАЯ ТАБЛИЦА» Пока двухмерная. (Рисунок 14).

Рисунок 14

Чем же она лучше? – спросите вы. Не торопитесь, она в миллион раз лучше, чем кросс-таблицы, когда дело идет о больших данных. Человеку ее читать сложнее (попробуйте найти сколько Контрагент 5 покупает Товара 4), вам нужно несколько раз искать контрагента 5, и отбрасывать эту запись, потому что сначала вам попадется Товар 1, потом Товар 2… , а вам нужно Товар 4), но для компьютера такая таблица имеет огромные преимущества. Первое ..

Первое, компьютеру не нужно хранить нулевые записи. Мы отфильтруем нулевые записи, и таблица станет намного меньше… Вот так компьютер и будет хранить эти таблицу (Рисунок 15), вместо не поленитесь, поднимитесь к началу статьи и посмотрите сколько было зарезервировано пространства компьютером, (сколько было пустых коробков спичек, в которых не лежало ни одной бумажки с цифрами)?!

Рисунок 15

Осталось немного… посмотреть как будет выглядеть плоская трехмерная таблица из нашего примера (Рисунок 13), ну правда только для января, но восприятия это уже не испортит, потому что нам нужно всего лишь перебрать таким же способом Февраль, март и т.д.

Рисунок 16

Вот мы и поняли, что данные бывают сами данные (или «данные-сами данные-цифры-измеряемые величины-ресурсы-цифры-показатели»)

Бывают «аналитики-разрезы-аналитические разрезы-характеристики данных- измерения-характеристики».

И мы всегда теперь отличим плоскую таблицу от кросс-таблицы.

Рисунок 17


Кстати, а вы всегда отличите данные от аналитических разрезов? Не торопитесь, данные это не всегда цифры, а аналитические разрезы, это не всегда строки. В вопросе: Сколько в классе школьников, у которых средний бал 3, 4, 5? Здесь, 3,4,5 – это разве данные или скорее это аналитические разрезы? Это аналитический разрез, а не «сами данные», хотя они выражены цифровыми значениями. В другую сторону пример привести сложнее, потому что мы измеряем (сами данные) это чаще все-таки цифры. Но мы можем измерять и, например, «счастлив» «не счастлив», в зависимости от аналитических разрезов «пол», возраст (опять цифры в аналитических разрезах данных), национальности, образования…

Eще один интересный момент, а почему мы говорим о «аналитических разрезах». Об этом можете прочесть в ЧАСТИ 2.