Зведена таблиця
Зведена таблиця (англ. pivot table) — засіб опрацювання даних, призначений для їхнього узагальнення.
Зведені таблиці використовують, перш за все, у програмах візуалізації даних, таких як електронні таблиці або програмне забезпечення для бізнес-аналізу. Крім того, зведена таблиця може автоматично сортувати, обчислювати суми або отримати середнє значення з даних, записаних в електронній таблиці. Вона відбиває результати в іншій таблиці (званій «зведеною таблицею») у вигляді підсумованих даних. Зазвичай користувач налаштовує і змінює структуру зведеної таблиці простим перетягуванням елементів у графічному режимі.
Термін «зведена таблиця» використовують різні розробники. У США корпорація Microsoft володіє торговою маркою конкретного виду зведеної таблиці[1]. Зведені таблиці можна розглядати також як деяке спрощення концепції OLAP.
Історія
Вперше про зведені таблиці згадано в книзі «Аналіз даних у зведених таблицях» авторів Білла Єлена і Майка Александера[2]. Засновником терміна «зведена таблиця» вважають Піто Саласа. Він розробив першу програму (Lotus Improv), яка допомагала користувачам побачити закономірності в даних електронних таблиць для швидкої побудови моделей даних. У цій програмі користувач міг визначати і зберігати набори категорій, потім змінювати подання за допомогою перетягування категорії мишкою. Ця особливість, надалі, перетворилася на базову для зведених таблиць. Lotus Development випустила програму 1991 року на платформі NeXT. Кілька місяців по тому, технологія з'явилася на комп'ютерах Mac і називалася DataPivot[3]. Компанія Borland купила технологію DataPivot 1992 року і впровадила її у свій проєкт електронних таблиць (Quattro Pro). 1993 року з'явилася версія Improv для Microsoft Windows. На початку 1994 в Microsoft Excel 5[4] з'явився новий засіб, званий PivotTable. Його можливості значно покращено в наступних версіях Microsoft Excel:
- Excel 97 включав PivotTable Wizard, який дозволяв розробникам писати макроси мовою Visual Basic для створення або модифікації зведених таблиць.
- Excel 2000 надав технологію «зведені діаграми» (Pivot Charts) для графічного подання табличних даних.
Приклад зведеної таблиці
Типово дані вводять та зберігають у плоских таблицях, які містить лише стовпці та рядки, як у наведеному нижче прикладі, що показує дані про типи одягу:
Оскільки такі таблиці можуть містити багато даних, досить складно отримати за ними якусь підсумкову інформацію. Зведена таблиця дозволяє швидко об'єднувати дані і виділяти потрібну інформацію. Використання зведених таблиць дуже поширене і залежить від ситуації. Перше питання, яке треба задати перед складанням зведеної таблиці: «Що мені потрібно отримати?». У наведеному нижче прикладі, питання можна сформулювати так: «Скільки одиниць продукції ми продали в кожному регіоні для кожної дати постачання?».
Зведена таблиця зазвичай містить рядки, стовпці та поля даних (або фактів). У цьому випадку, стовпець — Ship Date, рядок — Region. Потрібні нам дані — це сума одиниць продукції (Sum of Units). Ці поля допускають кілька видів функцій агрегації, зокрема підсумовування, знаходження середнього, стандартного відхилення, кількості елементів тощо. У нашому випадку, сумарну кількість постачених одиниць продукції відбито у завдяки операції підсумовування.
Як працює зведена таблиця
У наведеному вище прикладі, програмне забезпечення шукатиме всі різні значення для Region. У цьому випадку: North, South, East, West. Крім того, воно знайде всі різні значення для Ship Date. Відповідно до типу агрегації, буде знайдено суму кількостей і відбито на багатовимірній діаграмі. У прикладі, перше значення шуканої інформації — 66. Його отримано пошуком за всіма записами, де значенням регіону було East і Ship Date дорівнювало 1/31/2005. Потім усі кількості продукції з отриманої колекції (комірки від E2 до E7) підсумовано у кінцевий результат. Зведені таблиці не створюються автоматично. Для початку потрібно вибрати всі дані у початковій таблиці (наприклад, в Microsoft Excel), потім знайти функцію вставлення зведеної таблиці (або зведеної діаграми). Це створить список полів зведеної таблиці. Наприклад, для таблиці з даними продажів компанії, він міститиме дату продажу, ім'я продавця, назву проданої одиниці, її колір, кількість проданих одиниць, ціну для кожної і сумарну ціну.
Date of sale | Sales person | Item sold | Color of item | Units sold | Per unit price | Total price |
---|---|---|---|---|---|---|
10/01/13 | Jones | Notebook | Black | 8 | 25000 | 200000 |
10/02/13 | Prince | Laptop | Red | 4 | 35000 | 140000 |
10/03/13 | George | Mouse | Red | 6 | 850 | 5100 |
10/04/13 | Larry | Notebook | White | 10 | 27000 | 270000 |
10/05/13 | Jones | Mouse | Black | 4 | 700 | 2800 |
Поля, які буде створено, будуть видимі в правій частині аркуша. Типово, під цим списком міститься макет дизайну зведеної таблиці. Кожне з полів списку можна перетягувати на цей макет, який містить чотири опції:
- Фільтри;
- Стовпці;
- Рядки;
- Значення.
Фільтри
«Фільтри» використовуються в Excel для застосування певного фільтра до всієї таблиці. Наприклад, якщо перетягнути в цю ділянку поле «Колір елемента», то над створеною таблицею з'явиться фільтр, який має розкривні списки («Чорний», «Червоний» і «Білий», як у наведеному вище прикладі). При виборі певної опції зі списку (наприклад «Чорний»), видима область таблиці міститиме дані тільки тих рядків, у яких «Колір Елемента = Чорний».
Стовпці
«Стовпці» використовується для застосування фільтра до одного або декількох стовпців, які слід подати у зведеній таблиці. Наприклад, якщо ми перетягнемо в цю ділянку поле «Sales Person», то побудована таблиця міститиме значення зі стовпця «Sales Person», тобто число стовпців дорівнюватиме числу «Sales Person». Також буде додано стовпець «Total». У наведеному прикладі, буде створено в таблиці 3 стовпці — «Harry», «Larry» і «Grand Total». Над даними з'явиться фільтр «Назви стовпців», де можна вибрати для зведеної таблиці або скасувати вибір конкретного менеджера з продажу. Таблиця не буде містити ні числових величин, ні вибраних числових полів, але при їх виборі відбудеться автоматичне оновлення стовпця «Grand Total».
Рядки
«Рядки» використовується для застосування фільтра до одного або декількох рядків, які слід подати у зведеній таблиці. Наприклад, якщо перетягнути в цю ділянку поле «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, забезпечують схожий функціонал: в OpenOffice і LibreOffice аж до версії 3.3 зведена таблиця мала назву DataPilot, а починаючи від версії 3.4 DataPilot перейменовано на «Зведену таблицю». Інші компанії, такі як Quantrix і numberGo, також забезпечують схожу функціональність.
Зведена таблиця також реалізується як частина інструментів візуалізації даних, наприклад, у програмах для бізнес-аналітики.
Google Docs дозволяє створювати прості зведені таблиці за допомогою спеціальних застосунків-гаджетів Panorama Analytics, але до 2011 року їх функціональність все ще залишалася обмеженою. У травні 2011 року компанія Google оголосила про розгортання функції зведених таблиць в електронних таблицях редактора Google[5].
AJAX-платформа ZK також дозволяє вбудовувати зведені таблиці у вебзастосунки.PostgreSQL, вільна об'єктно-реляційна система керування базами даних (СКБД), дозволяє створювати зведені таблиці, використовуючи модуль tablefunc[6].
Зведена таблиця як клієнт до OLAP
Зведені таблиці в Excel включають функцію прямих запитів до OLAP-сервера для отримання даних замість їх агрегування з таблиць Excel. У такій конфігурації зведена таблиця є простим клієнтом OLAP-сервера. Зведена таблиця в Excel дозволяє підключатися не тільки до рішень від Microsoft (Analysis Service), але й до будь-якого XML-сумісного для аналітики (XMLA, стандарту OLAP) сервера. Існують і інші клієнти OLAP-серверів: JPivot, Dundas, IcCube (клієнтська бібліотека).
Примітки
- United States Trademark Serial Number 74472929. 27 грудня 1994. Процитовано 17 лютого 2013.
- Jelen, Bill; Alexander, Michael. Pivot table data crunching. — Indianapolis : Que, 2006. — С. 274. — ISBN 0-7897-3435-4.
- Patent #5915257. Процитовано 16 лютого 2010.
- Darlington, Keith (6 серпня 2012). VBA For Excel Made Simple. Routledge (опубліковано 2012). с. 19. ISBN 9781136349775. Процитовано 10 вересня 2014. «[...] Excel 5, released in early 1994, included the first version of VBA.»
- Docs Blog: Summarize your data with pivot tables
- PostgreSQL: Documentation: 9.2: tablefunc