Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курс_лекций_Прикладное_Прогр_П+И_2012.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.33 Mб
Скачать

Тема: Сводные таблицы.

Цель работы: освоить процесс построения и форматирования сводных таблиц.

Теоретическая часть.

Сводные таблицы – это мощнейший инструмент анализа данных. С их помощью создаются высокоскоростные запросы на выборку из больших наборов данных.

Для работы со сводными таблицами используют семейство объектов PivotTables. Данный объект – это таблица, расположенная на листе Excel и используемая для отображения больших объемов данных в любой выбранной конфигурации и форме. Объект PivotTable используется для выполнения высокоскоростных запросов на выборку из больших наборов данных, в качестве которых могут выступать как внешняя база данных, так и некоторый диапазон рабочего листа Excel.

Чтобы построить сводную таблицу, вызывается метод PivotTableWizard объекта WorkSheet. Данный метод имеет следующие аргументы:

  • SourceType – константа, обозначающая тип источника данных. В качестве типов можно использовать следующие константы:

    • xlDataBase – если источником является список или база данных, расположенная в Excel;

    • xlExternal – если источником является внешняя база данных;

    • xlConsolidation – если источником является объединение (консолидация) нескольких диапазонов рабочих листов Excel;

    • xlPivotTable – если источником является существующая сводная таблица.

  • SourceData – вид источника данных, зависящий от первого аргумента:

    • для xlDatabase - диапазон рабочего листа;

    • для xlExternal - массив строк, содержащий строку связи ODBC (ODBC connect String) и оператор SQL;

    • для xlConsolidation - массив диапазонов рабочего листа;

    • для xlPivotTable – имя существующей сводной таблицы.

  • TableDestination – диапазон, в который будет помещена сводная таблица;

  • TableName – имя, которое будет присвоено сводной таблице;

  • RowGrand (True/False) – отображать или нет суммарный итог по строкам;

  • ColumnGrand (True/False)– отображать или нет суммарный итог по столбцам.

Пусть на рабочем листе расположены две кнопки: «Построить сводную таблицу» (CommandButton1) и «Удалить сводную таблицу» (CommandButton2).

При нажатии на кнопку «Построить сводную таблицу», создается сводная таблица на том же листе, где расположены кнопки. Таблица строится по списку, расположенному на 1-ом листе файла «Туристические товары.xls».

Данный метод только резервирует место для сводной таблицы. На экране создастся только заготовка или макет сводной таблицы.

Если сводная таблица строится по данным, расположенным во внешнем источнике, то изменятся первые два аргумента метода. В качестве источника данных выберем константу xlExternal. Конкретное расположение данных будет задаваться массивом, первый аргумент которого – строка соединения с внешней базой данных, а второй – инструкция языка SQL, позволяющая отобрать из базы данных конкретные поля, участвующие в построении сводной таблицы.

Объект PivotTable включает в себя семейство PivotFields, в котором находятся все поля, находящиеся в выбранной базе данных. Свойство Orientation объекта PivotFields позволяет распределять поля сводной таблицы в области Строки, Столбца, Данных, Страницы. После применения указанного свойства сводная таблица принимает свой окончательный вид. Завершим построение сводной таблицы по данным, расположенным на листе Excel.

Готовая сводная таблица на листе будет иметь вид:

Если требуется создать более красочный вид отчета, то это можно сделать, используя метод Format применяемый к уже построенной сводной таблице. Аргумент данного метода – это константа, указывающая способ форматирования. Если выбирается константа типа xlReport, то поля в сводной таблице могут оказаться переориентированными. Применим к нашей таблице следующий формат:

ActiveSheet.PivotTables(“Сводная”).Format xlReport4

Ниже приведен фрагмент полученной после форматирования таблицы.

Если выбирается константа типа xlTable, то поля в сводной таблице сохраняют выбранную при построении ориентацию. Применим к нашей таблице следующий формат:

ActiveSheet.PivotTables(“Сводная”).Format xl Table10

Ниже приведена полученная после форматирования таблица.

Объекты семейства PivotTables поддерживают следующие свойства и методы:

  • TableRange1 – диапазон ячеек, включающий области Строки, Столбца и Данных;

  • TableRange2 – диапазон ячеек, включающий все области сводной таблицы;

  • PivotFields – метод, который возвращает все поля сводной таблицы;

  • AddFields – метод, который используется для добавления полей;

Свойства TableRange1, TableRange2 позволяют перейти от сводной таблицы, как объекта, к ячейкам, содержащим сводную таблицу. Данные свойства используют для применения числового формата к ячейкам сводной таблицы и для удаления сводной таблицы.

Пусть требуется при нажатии на кнопку CommandButton2 удалить сводную таблицу:

Объекты семейства PivotFields (поля сводной таблицы) поддерживают следующие свойства и методы:

  • CurrentPage – позволяет установить конкретное значение в поле страницы. Пусть требуется показать информацию только по одному континенту, например по Азии:

ActiveSheet.PivotTables("Сводная").PivotFields("Континент").CurrentPage = "Азия"

  • Subtotals – позволяет установить один из 11-ти типов промежуточных итогов. Промежуточные итоги целесообразно подводить для обобщающего поля. В данной таблице - для поля Категория. Пусть требуется показать максимум по каждой категории:

ActiveSheet.PivotTables("Сводная").PivotFields("Категория").Subtotals = Array(False, False, False, False, True, False, False, False, False, False, False, False)

  • Group – группирует элементы указанного поля. Обычно группируют элементы поля, содержащего тип даты. При этом указывается тип группировки в массиве из 7 элементов в следующем порядке: секунды, минуты, часы, дни, месяцы, кварталы, годы. В данном примере групптровка происходит по полю Период с шагом группировка по кварталам.

ActiveSheet.PivotTables("Сводная").DataRange.Rows(1).Group Start:=True, End:=True, Periods:=Array(False, False, False, False, True, True, False)

  • NumberFormat – устанавливает способ форматирования для поля данных;

ActiveSheet.PivotTables("Сводная").DataFields(1).NumberFormat = "$# ##0.00"

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

ActiveSheet.PivotTables("Сводная").DataFields(1).Calculation = xlPercentOfRow

Сводная таблица примет вид:

Лекция №7.