MS Access - Группировка данных

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

Агрегированный запрос

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

S.No Агрегатные функции и описание
1.

Sum

Добавляет значения поля

2.

Avg

Среднее значение поля

3.

Min

Наименьшее (минимальное) значение поля

4.

Max

Наивысшее (максимальное) значение поля

5.

Count

Подсчет значений (записей)

6.

StDev

Стандартное отклонение значений полей, включая поля даты / времени

7.

Var

Дисперсия значений поля, включая дату / время

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

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

Это простой запрос, и мы отображаем только два поля - book title и quantity и когда мы запускаем его, мы видим каждый отдельный заказ в нашей базе данных.

Давайте теперь запустим этот запрос, и вы увидите следующие результаты.

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

Давайте теперь перейдем к представлению «Дизайн» и на вкладке «Дизайн» вы увидите символ Sigma. Это кнопка ваших итогов.

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

Теперь мы сгруппируем книги по названию, а также просуммируем наше поле количества.

Если мы нажмем на group by areaи затем щелкните раскрывающееся меню, все параметры будут перечислены вниз. В этом случае мы выберем вариантSum а затем запустите свой запрос.

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

Конкатенация в доступе

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

  • Для объединения в Access есть два разных оператора, которые вы можете использовать ampersand (&) и plus (+) подписать.

  • Амперсанд объединяет две строки в одну, тогда как знак плюс объединяет две строки и распространяет значения NULL, например, если одно значение равно NULL, все выражение оценивается как null.

пример

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

Давайте теперь добавим tblCustomersтаблица закройте это диалоговое окно отображения таблицы. Мы попробуем объединить несколько простых именованных полей.

Давайте теперь добавим поля имени и фамилии и запустим запрос.

Как видите, имя и фамилия разделены на два разных поля.

Нам нужно отображать эту информацию вместе.

Вернитесь к Design View а в третьем поле создайте новое поле с именем full name. Теперь добавьте полное имя и введите выражение, объединяющее эти два поля вместе.

Запустим запрос, и вы увидите новое вычисляемое поле.

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

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

Добавьте пробел внутри кавычек и еще один амперсанд. Это заставляет Access брать информацию из этого поля имени; добавьте его с пробелом, а затем добавьте информацию из поля фамилии в самом конце. Теперь запустите запрос еще раз, и вы увидите следующие результаты.