Анализ данных с помощью запросов. Перекрестные запросы.
Использование фиксированных заголовков столбцов в перекрестных запросах
Для того чтобы в построенном запросе вывести столбцы в порядке календарной очередности месяцев, нужно задать фиксированные заголовки столбцов:
- Переключитесь в режим Конструктора и выведите на экран свойства запроса. Для этого нажмите кнопку Свойства (Properties) на панели инструментов и щелкните левой кнопкой мыши на свободном поле панели, в которой отображаются таблицы запроса. В диалоговом окне свойств запроса выводится свойство Заголовки столбцов (Column Headings), которое имеется только у перекрестных запросов.
- Введите краткие названия каждого месяца года в поле свойства Заголовки столбцов (рис. 8.16). Необходимо воспроизвести названия так, как они возвращаются функцией Format () и выглядят при стандартном отображении заголовков столбцов (см. рис. 8.15), в противном случае, данные для неправильно заданных месяцев не отображаются. Названия требуется заключить в кавычки и разделить символом точки с запятой. Пробелы не нужны. По завершении ввода названий всех 12 месяцев закройте окно свойств.
- Перейдите в режим просмотра SQL (рис. 8.17). Обратите внимание на использование выражений в вычисляемых полях и критерии запроса, а также ключевых слов TRANSFORM И PIVOT. Инструкция SQL содержит операцию TRANSFORM, в которой определяются данные, содержащиеся в таблице. В операции PIVOT задаются заголовки столбцов.
После ключевого слова IN указываются, если они есть, фиксированные названия столбцов.
Рис. 8.16. Задание значения свойства Заголовки столбцов
Рис. 8.17. Перекрестный запрос на SQLЗамечание
В ANSI SQL слова TRANSFORM и PIVOT не являются зарезервированными словами, а ключевое слово IN интерпретируется по-разному в Access и ANSI SQL. Обратите также внимание на формат даты в инструкции SQL: сначала пишется номер месяца, а потом число месяца, разделителем является косая черта, и все выражение содержится между значками #. Именно в таком формате должны быть всегда написаны даты в предложении SQL, хотя, как вы видели, в бланке запроса можно писать даты в привычном нам европейском формате. Нужное преобразование Конструктор выполняет автоматически. - Нажмите кнопку Запуск (Run) для вывода результатов запроса. Теперь заголовки столбцов перекрестной таблицы соответствуют календарной последовательности (рис. 8.18).
- Выберите команду Файл › Сохранить как (File › Save As) и сохраните запрос под именем "Ежемесячная выручка от продаж в 1997 году".
Рис. 8.18. Перекрестная таблица с фиксированными заголовками столбцов