Введение
Таблица, обобщающая данные из другой таблицы, также известная как сводная таблица, которая агрегирует данные только путем подсчета (а не суммирования, вычисления среднего и т.д.). Сводная таблица – это таблица значений, представляющая собой агрегацию групп отдельных значений из более обширной таблицы (например, из базы данных, электронной таблицы или программы бизнес-аналитики) по одной или нескольким дискретным категориям. Агрегации или сводки групп отдельных значений могут включать суммы, средние значения, количество или другие статистические показатели. Сводная таблица является результатом статистической обработки табличных исходных данных и может использоваться для принятия решений. Хотя "сводная таблица" является общим термином, Microsoft владела товарным знаком на этот термин в Соединенных Штатах с 1994 по 2020 год.
cross tabulation that aggregates only by counting (rather than summing, averaging, etc.) A pivot table is a table of values which are aggregations of groups of individual values from a more extensive table (such as from a database, spreadsheet, or business intelligence program) within one or more discrete categories. The aggregations or summaries of the groups of the individual terms might include sums, averages, counts, or other statistics. A pivot table is the outcome of the statistical processing of tabularized raw data and can be used for decision making. Although pivot table is a generic term, Microsoft held a trademark on the term in the United States from 1994 to 2020.
Фильтры
Фильтр отчета используется для применения фильтра ко всей таблице. Например, если поле "Цвет элемента" перетащено в эту область, то над созданной таблицей будет добавлен фильтр отчета. Этот фильтр отчета будет содержать выпадающий список с вариантами (Черный, Красный и Белый, как в примере выше). При выборе варианта из этого списка ("Черный" в данном примере) таблица отобразит только данные из строк, где "Цвет элемента" равен "Черный".
Колонки
Этикетки столбцов используются для применения фильтра к одному или нескольким столбцам, которые должны отображаться в сводной таблице. Например, если поле "Продавец" перетащено в эту область, то созданная таблица будет содержать значения из столбца "Продавец", то есть количество столбцов будет равно количеству уникальных продавцов. Также будет добавлена одна колонка "Итого". В приведенном выше примере эта инструкция создаст пять столбцов в таблице — по одному для каждого продавца и столбец "Общий итог". Над данными будет расположен фильтр по этикеткам столбцов, из которого можно выбрать или отменить выбор конкретного продавца для сводной таблицы. В этой таблице не будет числовых значений, так как не выбрано числовое поле, но при его выборе значения автоматически обновятся в столбце "Общий итог".
Ряды
Этикетки строк используются для применения фильтра к одной или нескольким строкам, которые должны отображаться в сводной таблице. Например, если поле "Торговый представитель" перетащить в эту область, то создаваемая таблица будет содержать значения из столбца "Торговый представитель", то есть количество строк будет равно количеству торговых представителей. Также будет добавлена строка "Итого". В приведенном выше примере эта инструкция создаст пять строк в таблице – по одной для каждого торгового представителя и строку "Итого". Над данными, под этикетками строк, будет расположен фильтр, с помощью которого можно выбрать или отменить выбор конкретного торгового представителя для сводной таблицы. В этой таблице не будет числовых значений, поскольку не выбрано числовое поле, но при его выборе значения автоматически обновятся в строке "Итого".
Поддержка приложений
Сводные таблицы или функциональность сводных таблиц являются неотъемлемой частью многих приложений электронных таблиц и некоторых программных продуктов баз данных, а также встречаются в других инструментах визуализации данных и пакетах бизнес-аналитики.
Поддержка баз данных
PostgreSQL, объектно-реляционная система управления базами данных, позволяет создавать сводные таблицы с использованием модуля tablefunc. MariaDB, ответвление MySQL, поддерживает сводные таблицы с помощью движка хранения CONNECT. Microsoft Access поддерживает запросы-сводки под названием "crosstab" query. Microsoft SQL Server поддерживает операцию PIVOT, начиная с SQL Server 2016, с использованием ключевых слов FROM PIVOT. Oracle Database поддерживает операцию PIVOT. Некоторые популярные базы данных, которые не поддерживают сводные таблицы напрямую, такие как SQLite, обычно могут имитировать эту функциональность с помощью встроенных функций, динамического SQL или подзапросов. Проблема сводных таблиц в таких случаях обычно заключается в том, что количество выходных столбцов должно быть известно на момент начала выполнения запроса; для сводных таблиц это невозможно, поскольку количество столбцов определяется самими данными. Поэтому имена столбцов должны быть жестко заданы или сам запрос, который необходимо выполнить, должен создаваться динамически (то есть, перед каждым использованием) на основе данных.
Oracle Database supports the PIVOT operation. Some popular databases that do not directly support pivot functionality, such as SQLite, can usually simulate pivot functionality using embedded functions, dynamic SQL or subqueries. The issue with pivoting in such cases is usually that the number of output columns must be known at the time the query starts to execute; for pivoting this is not possible as the number of columns is based on the data itself. Therefore, the names must be hard coded or the query to be executed must itself be created dynamically (meaning, prior to each use) based upon the data.
Веб-приложения
ZK, фреймворк Ajax, также позволяет встраивать сводные таблицы в веб-приложения.
Языки программирования и библиотеки
Языки программирования и библиотеки, предназначенные для работы с табличными данными, содержат функции для создания и манипулирования сводными таблицами. В пакете инструментов для анализа данных Python pandas есть функция `pivot_table` и метод `xs`, полезный для извлечения фрагментов сводных таблиц. В R имеется метапакет Tidyverse, включающий набор инструментов для работы со сводными таблицами, а также пакет `pivottabler`.
Онлайн-аналитическая обработка
Таблицы Excel содержат функцию прямого запроса к серверу аналитической обработки данных (OLAP) для получения данных, а не извлечения их из электронной таблицы Excel. В такой конфигурации сводная таблица является простым клиентом OLAP-сервера. Сводные таблицы Excel позволяют подключаться не только к Microsoft Analysis Services, но и к любому серверу, соответствующему стандарту XMLA для OLAP (XML for Analysis).