Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Access 2007

.pdf
Скачиваний:
115
Добавлен:
11.05.2015
Размер:
23.5 Mб
Скачать

Промежуточный итог по строке отображается в самом первом столбце. Например, если установлен этот флажок в запросе со штатами и категориями товаров, общие объемы продаж для каждого штата отображаются в первом столбце, за которым следует разбиение продаж по категориям (рис. 9.8).

Рис. 9.8. Заключительный перекрестный запрос показывает связь между штатами и типами товаров, покупаемыми его жителями (слева дается итог для каждого штата или провинции по всем категориям товаров)

9.Щелкните мышью кнопку Далее.

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

10 Щелкните мышью кнопку Готово.

Создание перекрестного запроса с нуля

Как и запрос любого другого типа, перекрестный запрос можно тонко настроить в Конструкторе. Вы также можете создать новый перекрестный запрос с нуля, выполнив следующие действия.

1. Выберите на ленте Создание Другие Конструктор запросов (Create Other → Query Design). Программа Access создаст новый пустой запрос и откроет его в окне Кон-

структора.

301

2.С помощью окна Добавление таблицы (Show Table) добавьте таблицу или запрос, которые вы хотите использовать, и щелкните мышью кнопку Закрыть.

Если вы используете БД AdventureWorks, легче всего выбрать вкладку Запросы (Queries)

в окне Добавление таблицы и добавить запрос Orderedltems.

Подсказка

Вы также можете закрыть диалоговое окно Добавление таблицы и просто перетащить таблицы, которые вам нужны, из области переходов на поверхность рабочего поля Конструктора запросов.

3.Выберите на ленте Работа с запросами | Конструктор Тип запроса Тип запроса: перекрестный (Query Tools | Design → Query Type → Crosstab),

Программа Access преобразует ваш запрос в перекрестный. Перекрестные запросы выглядят как итоговые с одной лишь разницей. В списке полей в нижней части окна вы найдете дополнительную строку — Перекрестная таблица (Crosstab) (рис. 9.9).

Рис. 9.9. Как и у итоговых запросов, у перекрестных есть свойство Групповая операция, в котором задается способ применения поля: для группировки, фильтрации или вычисления итога. В отличие от итоговых запросов перекрестные включают также свойство Перекрестная таблица, в котором задается размещение полей в строке, в столбце, в виде значений или полное скрытие (в этом случае вы, вероятно, применяете поле для сортировки или фильтрации)

4. Выберите поля, которые хотите использовать в своем перекрестном запросе. Каждое поле в перекрестном запросе играет одну из следующих ролей.

Поле используется для группировки по строкам. В данном случае задайте в свойстве

Групповая операция значение Группировка и значение Заголовки строк (Row Heading) в свойстве Перекрестная таблица.

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

Поле применяется для группировки по столбцам. В этом случае задайте в свойстве

Групповая операция значение Группировка и значение Заголовки столбцов (Column Heading) в свойстве Перекрестная таблица.

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

302

Поле отображается как значение в таблице. В этом случае задайте в свойстве Групповая операция итоговую функцию, которую хотите использовать (такую как Sum, Count, Avg и т. д.), и вариант Значение (Value) в свойстве Перекрестная таблица.

Для этой цели вы должны использовать только одно поле. Но вы можете применить выражение, выполняющее вычисления, базирующиеся на значениях нескольких полей. Например, перекрестные запросы, показанные на рис. 9.1 и 9.2, используют выражение Revenue: [UnitPrice] * [OrderQty] для вычисления общей выручки для каждой строки заказа.

Подсказка

Возможно, вы помните, что мастер создания перекрестного запроса предоставляет возможность показать итог для каждой строки в отдельном столбце. На рис. 9.10 показано, как создать подобный эффект самостоятельно.

Рис. 9.10. Обратите внимание на то, что поле OrderQty появляется дважды. В первый раз оно определено как значение, отображаемое в сетке таблицы. Во второй раз оно определяется как заголовок строки, которая создается в дополнительном столбце с итогом для каждой строки. С помощью псевдонима дополнительный столбец переименован в Total Of OrderQty (общее количество в заказе) во избежание путаницы

303

Поле применяется для фильтрации или отбора. В этом случае задайте в свойстве Групповая операция значение Условие (Where) и вариант (не отображается) (not shown) в свойстве Перекрестная таблица. Затем вставьте условие в поле Условие отбора. (См. выражения для условий отбора в разд. "Построение условий отбора" главы 6.)

Примечание

К сожалению, в вычисляемом поле нельзя применить фильтрацию или сортировку. Это означает, что если создается запрос, подсчитывающий количество продаж, нельзя отобрать только строки с большими количествами продаж. Но этот трюк можно проделать в сводной таблице, как описано в следующем разделе.

На рис. 9.10 показано определение запроса, подобного созданному с помощью мастера в предыдущем разделе (см. рис. 9.8).

Сводные таблицы

Если итоговые и перекрестные запросы не потрясли вас в достаточной степени, у программы Access есть еще одно мощное средство для подытоживания ваших данных. Сводная таблица — это специальная таблица, выполняющая те же трюки, что и перекрестный запрос — группировку по строкам и столбцам — но обладающая большими функциональными возможностями. Далее перечислены некоторые из них.

Сводные таблицы можно перестроить в любой момент. Быстрым перемещением с помощью мыши вы можете превратить итоги продаж по странам в сетку с продажами в зависимости от возраста клиента. Сводные таблицы — незаменимое средство исследования (добычи) данных, в ходе которого вы пытаетесь выудить скрытые тенденции и связи из массы необработанных сведений.

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

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

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

Сводные таблицы поддерживают сортировку вычисляемых значений. Например, если в вашу сводную таблицу добавлены итоги по объемам продаж, лучшие исполнители поднимаются вверх.

Примечание

Многие приверженцы программы Access живут долго и счастливо, даже не сталкиваясь со сводными таблицами. И все потому, что это узкоспециализированное средство, и многие специалисты предпочитают анализировать информацию в других программах (например, в Microsoft Excel). Но свойства сводных таблиц заслуживают внимания, поскольку могут оказаться полезными в следующий раз, когда вам потребуется сделать общие выводы о производительности вашей компании, выпекающей изделия, посвященные знаменитостям.

304

Построение сводной таблицы

Программа Access включает в состав сводные таблицы несколько странным образом. В отличие от итоговых и перекрестных запросов сводные таблицы — это не специальный тип запроса. Access обеспечивает сводную таблицу режимом отображения, который можно применять с любой таблицей или запросом.

Примечание

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

Для применения режима Сводная таблица (Pivot Table) откройте таблицу или запрос, которые хотите использовать, и затем выберите на ленте Главная Режимы Режим Сводная таблица (Home → Views → View → PivotTable View).

Сначала сводная таблица отображается пустой (рис. 9.11).

Рис. 9.11. Этот пример отображает запрос Orderedltems в режиме Сводная таблица. Пока еще не на что смотреть, потому что вы не построили сводную таблицу. Справа открыто окно Список полей сводной таблицы, включающее все поля вашей таблицы или запроса

305

Примечание

Сводные таблицы одновременно работают только с одной таблицей или запросом. Поэтому стоит создать запрос, объединяющий все нужные вам таблицы, так же как вы делали при построении перекрестного запроса. Можно также воспользоваться запросом для создания дополнительных вычисляемых полей (например, поля, перемножающего стоимость товара и количество единиц товара).

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

поля строк применяются для группировки записей в строках;

поля столбцов используются для группировки записей в столбцах;

поля итогов применяются для вычисления итоговых значений в каждой группе;

в полях деталей или подробностей выводятся отдельные значения для каждой записи в группе. При желании вы можете выводить на экран итоговую информацию (в этом случае поле деталей действует как поле итогов);

поля фильтра применяются для сокращения списка записей, используемых для создания сводной таблицы, на основании заданного критерия.

Примечание

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

Самый легкий способ освоить сводные таблицы и множество их функциональных возможностей — попытаться построить хотя бы одну своими руками. Приведенные далее действия подробно описывают процесс создания простой сводной таблицы, которая отображает итоги объемов продаж, сгруппированных по странам и категориям товаров. Если вы хотите действовать в соответствии с ними, используйте запрос OrderedItems в БД AdventureWorks, которую можно загрузить с Web-страницы "Missing CD" на сайте www.missingmanuals.com. Затем вы сможете усовершенствовать сводную таблицу, воспользовавшись ее богатыми возможностями.

Примечание

Предпочитаете визуальный подход к изучению сводных таблиц? На странице "Missing CD" можно найти и изобразительный ряд, интерактивное анимационное руководство.

1.Из окна Список полей сводной таблицы перетащите с помощью мыши поле

РгоductCategory в область Перетащите сюда поля строк (Drop Row Fields Here). Когда вы переместите поле, программа Access выведет все категории товаров сверху донизу в алфавитном порядке (рис. 9.12). Если нужен обратный порядок сортировки, просто щелкните правой кнопкой мыши одно из значений и выберите последовательно Сортировка Сортировка по убыванию (Sort →Sort Descending).

Подсказка

Если вы случайно закрыли окно со списком полей сводной таблицы, его можно вернуть выбрав на ленте Работа со сводными таблицами I Конструктор -> Показать или скрыть - » Список полей (PivotTable Tools I Design -> Show/Hide -> Field List).

306

Рис. 9.12. В данном примере в область строк добавлен список товаров, а элементы второй группировки (список стран) переносится в область столбцов. Обратите внимание, как только поле выбрано, его имя отображается жирным шрифтом в окне Список полей сводной таблицы

2.Из списка полей сводной таблицы перетащите поле Country в область Перетащите сюда поля столбцов (Drop Column Fields Here).

Как только вы перетащите поле, программа Access заполнит его слева направо в алфавитном порядке названиями всех стран из списка. Другими словами, каждая страна приведена в своем столбце.

Подсказка

Если перемещение с помощью мыши утомительно, есть другой способ создания макета сводной таблицы. В окне Список полей сводной таблицы просто выберите поле, которое хотите добавить в сводную таблицу, и затем в раскрывающемся списке в нижней части окна выберите область, в которую нужно поместить поле. В завершение для вставки поля щелкните мышью кнопку Добавить в (Add to) (расположенную под списком).

3.Теперь нужно выбрать данные для анализа. Переместите поле OrderQty в область

Перетащите сюда поля итогов или деталей (Drop Totals or Details Fields Here).

Этот шаг заполняет сводную таблицу данными (программе Access может понадобиться несколько мгновений для группировки всех данных, если у вас таблица большого объема).

Поле OrderQty добавлено как подробность, т. е. вы увидите все записи в таблице (или запросе) в соответствующих группах (рис. 9.13).

4.Пришло время добавить итоговые вычисления. Щелкните правой кнопкой мыши в сводной таблице поле OrderQty (подойдет любое поле OrderQty) и выберите вариант из подменю Автовычисления (AutoCalc).

Можно выполнить все групповые функции, с которыми вы знакомы, включая суммирование, подсчет количества и поиск среднего арифметического. Например, выберите

307

Автовычисления Сумма, если хотите найти общее количество товаров, проданных в данной категории.

Рис. 9.13. В этой сводной таблице показаны все значения поля OrderQty из запроса Orderedltems, но их немного трудно анализировать. Для того чтобы составить общее представление, необходимо скрыть некоторые из этих деталей и взглянуть на итоговую информацию

Все сводные данные, которые создаются с помощью подменю Автовычисления, называют итогами. Они добавляются в группу Итоги (Totals) в верхней части окна Список полей сводной таблицы. (Щелкните кнопкой мыши квадратик со знаком +/-, расположенный рядом со словом Итоги для вывода на экран содержимого группы.) Для удаления итога щелкните его в списке правой кнопкой мыши и выберите команду Удалить (Delete).

5.Для скрытия подробной информации и отображения только сводных данных снова щелкните правой кнопкой мыши поле OrderQty и выберите команду Без подробностей (Hide Details).

После того как подробности будут скрыты, вы получите приемлемый результат, напоминающий перекрестный запрос (рис. 9.14).

Подсказка

Если вы знаете наперед, что никогда не захотите отображать подробности, можно добавить итоги сразу же. Для этого выберите поле (в данном случае OrderQty) в окне Список полей сводной таблицы и затем в раскрывающемся списке в нижней части этого окна выберите вариант Данные (Data Area). Далее щелкните мышью кнопку Добавить в. Этот подход удобен при работе с громадными таблицами, содержащими тысячи записей. В такой ситуации быстрее добавить итог, а не подробные сведения из каждой записи.

308

Рис. 9.14. Если убрать с дороги подробности, можно сразу увидеть признанные и не пользующиеся спросом группы. Итог для каждой строки выводится в конце строки (здесь не показан), а итог для каждого столбца отображается в строке Общие итоги в нижней части столбца

Манипуляции сводной таблицей

Вот где начинается веселье. Одно из ключевых достоинств сводных таблиц — их гибкость. Можно сколько угодно раз перемещать поля, вводить неограниченное число уровней группировки и выполнять множество вычислений сразу.

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

Для удаления поля щелкните его правой кнопкой мыши и выберите команду Удалить (Remove). Или перетащите его за пределы окна программы Access (так, чтобы указатель мыши превратился в стрелку со знаком X) и отпустите.

Для перемещения поля из одной позиции в другую просто перетащите имя поля в нужное место. Например, можно изменить приведенный ранее пример, перетащив поле столбцов (Country) в область строк, а поле строк (ProductName) в область столбцов.

Для упорядочивания группы щелкните правой кнопкой мыши внутри столбца этой группы и выберите последовательность команд Сортировка Сортировка по возрастанию (Sort → Sort Ascending) или Сортировка Сортировка по убыванию (Sort → Sort Descending). Вы можете использовать этот прием для поиска стран и категорий с максимальным объемом продаж (или приносящих максимальный доход).

Для добавления элементов данных перетащите дополнительные поля из окна Список полей сводной таблицы в таблицу. Например, можно вычислить общее количество заказанных товаров и среднюю цену товара. Бы можете даже вставить одно и то же поле несколько раз для выполнения разных итоговых вычислений. Просто перетащите то же поле в таблицу еще раз, щелкните его правой кнопкой мыши и выберите вариант из подменю команды

Автовычисления.

Для включения дополнительных уровней группировки перетащите дополнительные поля из окна Список полей сводной таблицы в область строк или столбцов. Хитрость заключается

309

в размещении поля в нужном месте иерархии группировок. Например, если вы хотите разбить группу страны на группы штатов, нужно поместить поле StateProvince справа от поля Country, как показано на рис. 9.15. Если же вы хотите разбить группы категорий товаров на группы отдельных товаров, нужно поместить поле ProductName справа от поля

ProductCategory.

Рис. 9.15. Вверху: поле StateProvince располагается справа от поля Country. Теперь столбцы будут группироваться по странам (поле Country) и внутри стран по штатам (поле StateProvince) — как раз то, что нужно. Программа Access отображает толстую голубую линию, обозначая место расположения столбца после того, как вы отпустите левую кнопку мыши. Внизу: поле StateProvince располагается слева от поля Country. Теперь столбцы группируются сначала по штатам, а затем по странам. Программа разрешает сделать это, хотя в подобном действии мало смысла. Каждый штат принадлежит только одной стране, и в группе будет только одна подгруппа, которая бесполезна

Каждый раз, когда вы изменяете структуру сводной таблицы, программа просматривает вашу таблицу и полностью перестраивает сводную. Если вы изменяете данные в открытой сводной таблице, можно выбрать на ленте Работа со сводными таблицами | Конструктор Данные Обновить (PivotTabie Tools | Design → Data → Refresh Pivot), чтобы заставить программу Access сразу перестроить сводную таблицу.

310

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]