Улучшение наглядности сводных данных с помощью перекрестного запроса

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

В этой статье

Примечание

Перекрестные запросы недоступны в веб-приложениях Access и поддерживаются только частично в веб-базе данных: они не могут использоваться никакими веб-объектами.

Обзор

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

Результаты перекрестных запросов нагляднее, чем у обычных запросов на выборку с теми же данными (см. рисунок ниже).

Запрос на выборку и перекрестный запрос, отображающий те же данные

1. Этот запрос сгруппирован по вертикали сводных данных по сотрудникам и категориям.

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

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

Для определения суммируемых значений и заголовков строк и столбцов можно также использовать выражения. Дополнительные сведения см. в статье Агрегатные функции SQL.

Схема перекрестного запроса

1. Один, два или три столбца на этой стороне содержат заголовки строк. Имена полей, используемых в качестве заголовков строк, показаны в верхней строке этих столбцов.

2. Заголовки строк отображаются здесь. Число строк в перекрестной таблице может быстро возрасти, если использовать более одного поля заголовков строк, поскольку отображаются все комбинации заголовков строк.

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

4. Здесь отображаются сводные значения.

Способы создания перекрестных запросов

Использование мастера перекрестных запросов Мастер перекрестных запросов обычно является самым быстрым и простым способом создания перекрестного запроса. Большая часть работы при этом выполняется автоматически, однако некоторые возможности недоступны.

У мастера есть три преимущества:

  • Простота использования. Для создания перекрестного запроса требуется лишь запустить мастер, а затем ответить на ряд вопросов, следуя инструкциям.

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

    Совет

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

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

Тем не менее с помощью мастера невозможно сделать следующее:

  • в качестве источника записей необходимо использовать более одной таблицы или одного запроса;
  • Используйте выражение для создания полей.
  • добавить запрос на ввод параметров;
  • задать список фиксированных значений, которые будут использоваться в качестве заголовков столбцов.
    На последнем этапе в мастере можно перейти в конструктор и настроить запрос более точно. Благодаря этому вы можете добавить элементы, недоступные в мастере, например дополнительные источники записей.

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

Создавать перекрестный запрос в конструкторе рекомендуется в следующих случаях:

  • Более полный контроль над процессом. Мастер принимает некоторые решения за вас.
  • в качестве источника записей необходимо использовать более одной таблицы или одного запроса;
  • требуется запрашивать ввод параметров;
  • в качестве полей запроса нужно использовать выражения;
  • необходимо задать набор фиксированных значений, которые будут использоваться в качестве заголовков столбцов;
  • Потренируйтесь в использовании конструкторской сетки.

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

Совет

Помните: для создания перекрестного запроса можно использовать только один метод. Например, всегда можно создать запрос с помощью мастера, а затем изменить его структуру в конструкторе.

К началу страницы

Создание перекрестного запроса с помощью мастера

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

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

  1. На вкладке Создание в группе Запросы нажмите кнопку Мастер запросов.

    В группе

  2. В диалоговом окне Новый запрос выберите пункт Перекрестный запроси нажмите кнопку ОК.
    Будет запущен мастер создания перекрестных запросов.

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

    В мастере создания перекрестных запросов выберите таблицу или запрос.

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

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

  5. На следующей странице выберите поле, содержащее значения, которые требуется использовать в качестве заголовков столбцов. Обычно следует выбирать поле, содержащее меньше значений, чтобы результаты было удобно читать. Например, использовать поле с небольшим количеством возможных значениями (такое как пол) обычно предпочтительнее, чем поле, которое может содержать множество различных значений (такое как возраст).
    Если поле, выбранное для создания заголовков столбцов, содержит данные типа "Дата/время", мастер выполнит дополнительное действие, предложив указать способ группировки дат по интервалам, например по месяцам или кварталам.
    В этом примере выберите Категория и обратите внимание, что Access отображает имена примеров категорий в верхней части предварительного просмотра примера запроса в нижней части диалогового окна. Нажмите кнопку Далее, чтобы продолжить.

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

  6. Если для заголовков столбцов выбрано поле типа «Дата/время», на следующей странице мастера будет предложено задать интервал для группировки дат. Возможные варианты: Год, Квартал, Месяц, Дата и Дата/время. Если поле, выбранное для формирования заголовков столбцов, не относится к типу «Дата/время», эта страница мастера пропускается.

  7. На следующей странице выберите поле и функцию для расчета сводных значений. Набор доступных функций зависит от типа данных поля.
    На той же странице установите или снимите флажок Да, чтобы соответственно включить в запрос или исключить из него итоговые значения по строкам.
    Если итоги строк включены, в перекрестный запрос добавляется заголовок строки, в котором используются те же поле и функция, что и для значения поля. При включении итога по строке вставляется дополнительный столбец, содержащий сводные данные по остальным столбцам. Например, если перекрестный запрос вычисляет средний возраст по расположению и полу (с использованием заголовков столбцов, определяемых полом), в дополнительном столбце будет рассчитываться средний возраст по расположению независимо от пола.
    В данном примере выберите ИД в области Поля и Число в области Функции, чтобы подсчитать количество товаров для каждого сочетания поставщика и категории. Не снимайте флажок Да. Access создаст столбец, в котором суммируется число товаров каждого поставщика. Нажмите кнопку Далее, чтобы продолжить.

    Выберите поле и функцию в мастере перекрестных запросов.

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

  9. Если вы использовали таблицу "Товары" из базы данных "Борей", перекрестный запрос отобразит список поставщиков в виде строк, названия категорий продуктов в виде столбцов, а количество товаров на их пересечении.

    Отображется перекрестный запрос в режиме таблицы с поставщиками и категориями товаров.

К началу страницы

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

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

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

Элементы перекрестного запроса в режиме конструктора

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

2. Этот параметр отображает значения поля в виде заголовков строк.

3. Этот параметр отображает значения поля в виде заголовков столбцов.

4. Эти параметры создают суммарные значения.

Создание запроса

  1. На вкладке Создание в группе Запросы нажмите кнопку Конструктор запросов.

    В группе

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

  3. Закройте диалоговое окно Добавление таблицы.

  4. На вкладке Конструктор в группе Тип запроса щелкните элемент Перекрестная таблица.

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

  6. В бланке запроса в строке Перекрестная таблица для каждого поля заголовков строк выберите значение Заголовки строк.
    Можно ввести выражение в строке Условие отбора, чтобы ограничить число результатов для этого поля. Можно также использовать строку Сортировка, чтобы указать порядок сортировки для поля.

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

  8. В бланке запроса в строке Перекрестная таблица для поля заголовков столбцов выберите значение Заголовки столбцов.
    Можно ввести выражение в строке Условие отбора, чтобы ограничить число результатов для поля заголовков столбцов. Однако использование условного выражения для поля заголовков столбцов не ограничивает число столбцов, возвращаемых перекрестным запросом. Ограничения касаются того, какие столбцы могут содержать данные. Предположим, например, что имеется поле заголовков столбцов с тремя возможными значениями: красный, зеленый и синий. Если к полю заголовков столбцов применить условие ='синий', в перекрестной таблице останутся столбцы «Красный» и «Зеленый», но только столбец «Синий» будет содержать данные.
    Чтобы ограничить набор значений, отображаемых в качестве заголовков столбцов, можно задать список фиксированных значений с помощью свойства запроса Заголовки столбцов. Дополнительные сведения см. в следующем разделе.

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

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

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

  12. На вкладке Конструктор в группе Результаты нажмите кнопку Выполнить.

Задание фиксированных значений для заголовков столбцов

Чтобы задать фиксированные значения для использования в заголовках столбцов, можно воспользоваться свойством запроса Заголовки столбцов.

  1. Откройте перекрестный запрос в режиме конструктора.
  2. Если окно свойств не открыто, откройте его, нажав клавишу F4.
  3. Убедитесь, что в окне свойств над вкладкой Общие указано Возможен выбор:Свойства запроса. В противном случае щелкните в пустом месте над бланком запроса.
  4. В окне свойств на вкладке Общие в строке свойства Заголовки столбцов введите через запятую значения, которые следует использовать в качестве заголовков столбцов.
    В заголовках столбцов запрещается использовать некоторые символы (например, большинство знаков препинания). Если такие символы будут вводиться в списке значений, каждый из них будет автоматически заменяться символом подчеркивания (_).

Создание перекрестного запроса в режиме SQL

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

Перекрестный запрос можно задать в SQL как инструкцию TRANSFORM. Для инструкций TRANSFORM используется следующий синтаксис:

Aggfunction TRANSFORM
инструкция_SELECT
Сводное поле PIVOT [IN (value1[, value2[, ...]]])]

Инструкция TRANSFORM состоит из следующих элементов:

Элемент Описание
агрегатная_функция Агрегатная функция SQL, обрабатывающая выбранные данные.
инструкция_select Инструкция SELECT.
поле_сводной_таблицы Поле или выражение, которые необходимо использовать для создания заголовков столбцов в результирующем наборе запроса.
значение1, значение2 Фиксированные значения, используемые для создания заголовков столбцов.

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

  1. На вкладке Создать в группе Другое нажмите кнопку Конструктор запросов.

  2. Закройте диалоговое окно Добавление таблицы.

  3. На вкладке Конструктор в группе Результаты нажмите кнопку Режим и выберите пункт Режим SQL.

  4. На вкладке объекта SQL введите или вставьте следующий код:

    TRANSFORM 
    SELECT 
    FROM 
    GROUP BY 
    PIVOT 
    ;
    
    
  5. В первой строке, после инструкции TRANSFORM, введите выражение для расчета сводных значений, например Sum([Кол-во]).
    Если в качестве источника записей используется больше одной таблицы или одного запроса, укажите имя таблицы или запроса как часть имени каждого поля, например Sum([Расходы].[Кол-во]).

  6. Во второй строке, после инструкции SELECT, введите список полей или выражений полей, которые требуется использовать в качестве заголовков строк. Разделите элементы списка с помощью запятых; например, [Бюджет].[ Dept_ID], [Расходы]. [Тип].

  7. В третьей строке, после инструкции FROM, перечислите таблицы или запросы, которые нужно использовать в качестве источников записей, например Бюджет, Расходы.

  8. В четвертой строке, после инструкции GROUP BY, укажите те же поля, что и в предложении SELECT на шаге 6.

  9. В пятой строке после PIVOT введите имя поля или выражение, которые нужно использовать для заголовков столбцов; например, PIVOT [Бюджет].[ Год].

Добавление порядка сортировки для поля заголовков строк

Для настройки порядка сортировки в перекрестном запросе в режиме SQL используется предложение ORDER BY.

  1. Вставьте строку между предложениями GROUP BY и PIVOT.
  2. В новой строке введите ORDER BY, а затем — пробел.
  3. Введите имя поля или выражение, по которому требуется отсортировать. например ORDER BY [Expense].[ Expense_Class]
    По умолчанию предложение ORDER BY сортирует значения по возрастанию. Если нужно выполнить сортировку по убыванию, введите DESC после имени поля или выражения.
  4. Если требуется выполнить сортировку еще по одному полю или выражению, введите запятую, а затем укажите имя этого поля или выражение. Сортировка будет выполнена в порядке, в котором поля или выражения указаны в предложении ORDER BY.

Выбор фиксированных значений, которые требуется использовать в качестве заголовков столбцов

  • В конце предложения PIVOT в представлении SQL перекрестного запроса введите IN, а затем в скобках укажите через запятую значения, которые должны стать заголовками столбцов. Например, если ввести IN (2007, 2008, 2009, 2010), будут заданы четыре заголовка столбцов: 2007, 2008, 2009, 2010.

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

Добавление условий запроса для ограничения заголовков строк

  1. Вставьте новую строку после предложения FROM в представлении SQL перекрестного запроса.
  2. Введите WHERE, а затем — условие для поля.
    Если требуется применить дополнительные условия, расширьте предложение WHERE с помощью операторов AND и OR. Используя скобки, вы также можете объединить условия в логические группы.

Использование диапазонов и интервалов в качестве заголовков

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

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

Совет

Если требуется создать интервалы для значений типа «Дата/время», рекомендуется воспользоваться мастером создания перекрестных запросов. Он позволяет объединить даты в интервалы Год, Квартал, Месяц, Дата или Дата/время. Если ни один из этих интервалов не подходит, создайте перекрестный запрос в режиме конструктора, а затем с помощью метода, описанного в данном разделе, создайте нужные интервалы.

Создание диапазонов с помощью выражения

  1. Откройте перекрестный запрос в режиме конструктора.

  2. В бланке запроса в строке Поле щелкните правой кнопкой мыши пустой столбец и выберите в контекстном меню пункт Масштаб.

  3. В поле Масштаб введите псевдоним поля, а затем двоеточие (:).

  4. Введите IIf().

  5. В скобках после IIf введите выражение сравнения, определяющее первый диапазон значений поля.
    Предположим, например, что создаются диапазоны для поля «Возраст», причем каждый диапазон должен охватывать двадцать лет. Выражение сравнения для первого диапазона — [Age]<21.

  6. После выражения сравнения введите запятую и далее имя диапазона в кавычках. Это имя станет в перекрестной таблице заголовком столбца (или строки) значений, попадающих в соответствующий диапазон.
    Например, после [Age]<21 введите запятую, а затем введите "0–20 лет".

  7. После имени диапазона введите запятую (вне кавычек) и выполните одно из указанных ниже действий.

    • Чтобы создать другой диапазон, введите IIf() и повторите действия 5, 6 и 7.

    • Для последнего диапазона введите только имя.
      Например, полное выражение IIf с вложенными подвыражениями, разбивающее поле «Возраст» на двадцатилетние диапазоны, может выглядеть следующим образом (разрывы строк добавлены для наглядности):

      IIf([Age]<21,"0-20 years",
      IIf([Age]<41,"21-40 years",
      IIf([Age]<61,"41-60 years",
      IIf([Age]<81,"61-80 years", "80+ years"))))
      
      

      Примечание

      Процедура вычисления выражения в Access будет прекращена при обнаружении первой же инструкции IIf, результатом вычисления которой окажется «истина». Нижние границы диапазонов задавать необязательно, поскольку любое значение, меньшее нижней границы данного диапазона, уже дало бы результат «истина».

  8. В бланке запроса в строке Всего выберите вариант Группировка.

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

Ограничение числа заголовков строк с помощью параметра

В перекрестный запрос можно включить предложение ввести данные, которое будет выводиться при выполнении запроса. Предположим, например, что используется несколько заголовков строк, в том числе «Страна/регион». Чтобы не выводить данные по всем странам и регионам, можно определить предложение ввести имя и отобразить данные в зависимости от значения, введенного пользователем.

Предложение ввести параметр можно добавить для любого поля заголовков строк.

Примечание

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

  1. Откройте перекрестный запрос в режиме конструктора.

  2. В строке Условие отбора для поля заголовков строк, для которого требуется запросить у пользователя данные, введите текст вопроса в квадратных скобках. Этот текст будет отображаться в качестве приглашения при выполнении запроса.
    Например, если ввести вопрос [Какая страна (регион)?] в строке Условие отбора, то при выполнении запроса откроется диалоговое окно, содержащее этот вопрос («Какая страна (регион)?»), поле ввода и кнопку ОК.

    Совет

    Чтобы сделать параметр более гибким, добавьте к выражению подстановочные знаки с помощью оператора Like. Например, вместо условия [Какая страна (регион)?] можно задать условие Like [Какая страна (регион)?]&"*", чтобы расширить диапазон вводимых значений, подходящих для данного параметра. Использование оператора Like не изменяет вид предложения ввести параметр.

  3. На вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры.

  4. В диалоговом окне Параметры запроса в столбце Параметр введите то же приглашение, которое было задано в строке Условие отбора. Введите квадратные скобки, но не добавляйте подстановочные знаки и оператор Like.

  5. В столбце Тип данных выберите тип данных параметра. Он должен соответствовать типу данных поля заголовков строк.

Замена пустых значений нулями

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

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

Синтаксис функции Nz

Nz(variant* [, valueifnull ] )

Функция Nz имеет аргументы, указанные ниже.

Аргумент Описание
Переменная — обязательный аргумент. Переменная типа данных Variant.
Значение_если_null Необязательный аргумент (если он используется не в запросе) типа Variant. Объект Variant, предоставляющий возвращаемое значение, если аргумент variant имеет значение NULL. Этот аргумент позволяет вернуть значение, отличное от нуля или пустой строки.
Примечание: Если вы используете функцию Nz в выражении в запросе без использования аргумента valueifnull , результатом будет строка нулевой длины в полях, содержащих значения NULL.
  1. В бланке запроса, открытого в режиме конструктора, щелкните поле Значение правой кнопкой мыши.
  2. Выберите в контекстном меню команду Масштаб.
  3. В поле Масштаб заключите имя поля или выражение в скобки и введите перед скобками Nz.
  4. Введите , 0 перед правой скобкой.
    Например, при использовании функции Nz в поле «Потерянные часы» для замены пустых значений нулями законченное выражение будет выглядеть следующим образом:

Nz([Hours Lost], 0)

Советы по использованию перекрестных запросов

  • Упрощение Перекрестные запросы могут стать трудными для чтения по мере увеличения количества сочетаний строк. Не используйте больше заголовков строк, чем необходимо.
  • Рассмотрите возможность создания перекрестной перекрестной области в шагах Не ограничивайтесь только таблицами. Часто можно начать с создания запроса итогов, а затем использовать его в качестве источника записей для перекрестного запроса.
  • Тщательно выберите поле заголовка столбца Перекрестные таблицы, как правило, легче читать, если количество заголовков столбцов остается относительно небольшим. Определив, какие поля следует использовать в качестве заголовков, выберите поле с минимальным числом различающихся значений, которые станут заголовками столбцов. Например, если в запросе вычисляется значение в зависимости от возраста и пола, рекомендуется в качестве заголовков столбцов использовать значения пола, а не возраста, поскольку значений последнего гораздо больше.
  • Используйте вложенный запрос в предложении WHERE. В перекрестном запросе можно использовать вложенный запрос как часть предложения WHERE.

К началу страницы

См. также

Создание простого запроса на выборку

Объединение таблиц и запросов