Сводная таблица

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск


В обработке данных, сводная таблица является инструментом, служащим для обобщения данных. Этот инструмент используется, прежде всего, в программах визуализации данных, таких как электронные таблицы или программное обеспечение для бизнес-анализа. Кроме того, сводная таблица может автоматически сортировать, рассчитывать суммы или получить среднее значение из данных, записанных в электронной таблице. Она отображает результаты во второй таблице (называемой «сводной таблицей») в виде суммированных данных. Обычно пользователь настраивает и изменяет структуру сводной таблицы простым перетаскиванием элементов в графическом режиме. Название «сводная таблица» появилось именно благодаря этому процессу поворота или «вращения» таблицы.
Термин сводная таблица используется различными производителями. В США корпорация Microsoft имеет торговую марку конкретного вида сводной таблицы [1]. Сводные таблицы можно рассматривать также, как некое упрощение концепции OLAP.

История[править | править вики-текст]

Первое упоминание о сводных таблицах было в книге «Анализ данных в сводных таблицах» авторов Билла Елена и Майка Александера[2]. Основателем термина «сводная таблица» считается Пито Салас. Он разработал первую программу (Lotus Improv), которая помогала пользователям увидеть закономерности в данных электронных таблиц для быстрого построения моделей данных. В этой программе пользователь мог определять и сохранять наборы категорий, затем изменять представление с помощью перетаскивания категории мышкой. Эта особенность, в дальнейшем, превратилась в базовую для сводных таблиц. Lotus Development выпустила программу в 1991 году на платформе NeXT. Несколько месяцев спустя, технология появилась на компьютерах Mac и называлась DataPivot[3]. Компания Borland купила технологию DataPivot в 1992 году и внедрила ее в свой проект электронных таблиц (Quattro Pro). В 1993 году, во время того, как появилась версия Improv для Windows, в составе Microsoft Excel 5 уже была новая функциональность, которая называлась «PivotTable». Эта функциональность была значительно улучшена в последующих версиях Microsoft Excel:

  • Excel 97 включал в себя PivotTable Wizard, который позволял разработчикам писать макросы на языке Visual Basic для создания или модификации сводных таблиц.
  • Excel 2000 представил технологию «Pivot Charts» для графического представления табличных данных.

Пример сводной таблицы[править | править вики-текст]

Типичное представление и хранение данных в сводных таблицах представляет собой плоскую таблицу. Это означает, что таблица содержит только столбцы и строки, как в нижеприведенном примере, показывающем данные по типам одежды:

Region Genger Style Ship date Units Price Cost
East Boy Tee 1/31/2005 12 11.04 10.42
East Boy Golf 1/31/2005 12 13 12.6
East Boy Fancy 1/31/2005 12 11.96 11.74
East Girl Tee 1/31/2005 10 11.27 10.56
East Girl Golf 1/31/2005 10 12.12 11.95
East Girl Fancy 1/31/2005 10 13.74 13.33
West Boy Tee 1/31/2005 11 11.44 10.94
West Boy Golf 1/31/2005 11 12.63 11.73
West Boy Fancy 1/31/2005 11 12.06 11.51
West Girl Tee 1/31/2005 15 13.42 13.29
West Girl Golf 1/31/2005 15 11.48 10.67

В то время, как такие таблицы могут содержать большое количество данных, довольно сложно воспринимать какую-то резюмированную информацию по ним. Сводная таблица может быстро объединять данные и выделять нужную информацию. Использование сводных таблиц очень распространено и зависит от ситуации. Первый вопрос, который надо задать перед составлением сводной таблицы: «Что мне нужно получить?» В нижеприведенном примере, вопрос может быть сформулирован следующим образом: «Сколько единиц продукции мы продали в каждом регионе для каждой даты поставки?».
Pivottable-Pivoted.PNG
Сводная таблица обычно содержит строки, колонки и поля данных (или фактов). В этом случае, столбец - Ship Date, строка – Region. Нужные нам данные – это сумма единиц продукции (sum of Units). Эти поля допускают несколько видов функций агрегации, включая суммирование, нахождение среднего, стандартное отклонение, количество элементов и другие. В нашем случае, суммарное количество поставленных единиц продукции отражено в виде операции суммирования.

Как работает сводная таблица[править | править вики-текст]

Используя вышеприведенный пример, программное обеспечение будет искать все различные значения для Региона. В этом случае: North, South, East, West. Кроме того, он найдет все различные значения для Ship Date. В соответствии с типом агрегации, будет найдена сумма фактов и отражена на многомерном графике. В примере, первое значение искомой информации – 66. Это число было получено в результате поиска всех записей, где значением региона был East и Ship Date был равен 1/31/2005. Затем все единицы продукции из полученной коллекции (ячейки с E2 до E7), были просуммированы в финальный результат.
Сводные таблицы не создаются автоматически. Для начала нужно выбрать все данные в исходной таблице (например, в MS Excel), затем найти функцию вставки сводной таблицы. Это создаст список полей сводной таблицы. Например, если у нас есть таблица, отражающая данные по продажам компании, которые включают дату продажи, имя продавца, название проданной единицы, ее цвет, количество проданных единиц, цену для каждой и суммарную цену.

Date of Sale Sales person Item Sold Color of Item Units Sold Per Unit Price Total Price
10/01/13 Harry Notebook Black 8 25000 200000
10/02/13 Larry Laptop Red 4 35000 140000
10/03/13 Harry Mouse Red 6 850 5100
10/04/13 Larry Notebook White 10 27000 270000
10/05/13 Larry Mouse Black 4 800 3200

Новые поля появятся на правой стороне листа. По умолчанию, под этим списком будет размещен макет дизайна сводной таблицы. Каждое из полей списка можно будет перетаскивать на этот макет, который будет содержать четыре опции:
- Фильтр отчетов;
- Название столбцов;
- Название строк;
- Суммирование значений.

Фильтр Отчета[править | править вики-текст]

«Фильтр Отчета» используется в Excel для применения определенного фильтра ко всей таблице. Например, если перетащить поле "Цвет элемента" в данную область, то над созданной таблицы появятся фильтры. Этот фильтр имеет выпадающие списки («Черный», «Красный» и «Белый» как в приведенном выше примере). При выборе определенной опции из списка (например «Черный»), видимая область таблицы будет содержать данные только тех строк, в которых «Цвет Элемента = Черный».

Названия столбцов[править | править вики-текст]

«Названия Столбцов» используется в Excel для применения фильтра к одному или нескольким столбцам, которые должны быть представлены в сводной таблице. Например, если мы перетащим поле «Sales Person» в данную область, то построенная таблица будет иметь значения из столбца «Sales Person», т.е. число столбцов будет равно числу «Sales Person». Также будет добавлен столбец «Total». Касательно вышеприведенного примера, оператор создаст в таблице 3 столбца – «Harry», «Larry» и «Grand Total». Над данными появится фильтр «Названия Столбцов», где можно выбрать или отменить выбор конкретного менеджера по продажам для сводной таблицы. Таблица не будет содержать ни численных величин, ни выбранных числовых полей, но при выборе таковых, происходит автоматическое обновление столбца " Grand Total ".

Названия строк[править | править вики-текст]

«Названия Строк» используется в Excel для применения фильтра к одной или нескольким строкам, которые должны быть представлены в сводной таблице. Например, если мы перетащим поле «Sales Person» в данную область, то построенная таблица будет иметь значения из столбца «Sales Person», т.е. число строк будет равно числу «Sales Person». Также будет добавлена строка «Total». Касательно вышеприведенного примера, данный оператор создаст в таблице 3 строки – «Harry», «Larry» и «Grand Total». Над данными появится фильтр «Названия Строк», где можно выбрать или отменить выбор конкретного менеджера по продажам из сводной таблицы. Таблица не будет содержать ни численных величин, ни выбранных числовых полей, но при выборе таковых, происходит автоматическое обновление строки " Grand Total ".

Суммирование значений[править | править вики-текст]

Как правило, это имеет отношение к полям, имеющим числовые значения и которые могут быть использованы для различных типов вычислений. Однако использование текстовых значений также не было бы неправильным, но вместо суммы оператор выдаст их количество. Таким образом в вышеприведенном примере, если мы перетащим "Units Sold" в данную область вместе с со строкой "Sales Person", то тогда оператором будет добавлен новый столбец "Sum of Units Sold", содержащий значения напротив каждого продавца.

Row Labels Sum of Units Sold
Harry 14
Larry 18
Grand Total 32

Поддержка в приложениях[править | править вики-текст]

Сводные таблицы в настоящее время рассматриваются как неотъемлемая часть электронных таблиц. Конкурирующие с Microsoft Excel программы, такие как Apache OpenOffice Calc, обеспечивают схожий функционал; в OpenOffice и LibreOffice вплоть то версии 3.3 сводная таблица называлась DataPilot, а начиная с версии 3.4 DataPilot был переименован в «Сводную Таблицу». Другие компании, такие как Quantrix и numberGo, также обеспечивают схожий функционал.
Сводная таблица также реализуется как часть инструментов визуализации данных, например, в программах класса business intelligence (бизнес-аналитика).
Google Docs позволяет создавать простые сводные таблицы посредством специальных приложений-гаджетов Panorama Analytics, но к 2011 году их функционал все еще оставался ограниченным. В мае 2011 года компания Google объявила о развертывании изначально размещенной функции сводных таблиц в электронных таблицах редактора Google[4].
Ajax платформа ZK также позволяет встраивание сводных таблиц в Веб-приложениях.
PostgreSQL, свободная объектно-реляционная система управления базами данных (СУБД), позволяет создавать сводные таблицы, используя модуль tablefunc[5].

Сводная таблица как клиент к OLAP[править | править вики-текст]

Сводные таблицы в Excel включают в себя функцию прямых запросов к OLAP-серверу для получение данных вместо агрегированиях их из таблиц Excel. В такой конфигурации сводная таблица является простым клиентом OLAP-сервера. Сводная таблица в Excel позволяет подключаться не только к решениям от Microsoft (Analysis Service), но и к любому XML совместимому для аналитики (XMLA) (стандарта OLAP) серверу.
Существуют и другие клиенты OLAP-серверов: JPivot, Dundas, IcCube (Клиентская библиотека).

Примечания[править | править вики-текст]

  1. United States Trademark Serial Number 74472929 (27 декабря 1994). Проверено 17 февраля 2013.
  2. Pivot table data crunching. — Indianapolis: Que, 2006. — P. 274. — ISBN 0-7897-3435-4
  3. «Patent #5915257», <http://www.google.com/patents?id=CAMDAAAAEBAJ&printsec=abstract&zoom=4&source=gbs_overview_r&cad=0#v=onepage&q=&f=false>. Проверено 16 февраля 2010. 
  4. Docs Blog: Summarize your data with pivot tables
  5. PostgreSQL: Documentation: 9.2: tablefunc

Ссылки[править | править вики-текст]