Тази статия обяснява как да използвате агрегатна функция в Access, за да сумирате данните в набор резултати от заявка. Тя обяснява накратко и как да използвате други агрегатни функции, като например COUNT AND AVG, за преброяване или осредняване на стойностите в набор от резултати. Освен това тя обяснява как да използвате сумарния ред за сумиране на данни, без да променяте структурата на вашите заявки.
Какво искате да направите?
- Разбиране на начините за сумиране на данни
- Подготвяне на някои примерни данни
- Сумиране на данни с помощта на сумарен ред
- Изчисляване на общите суми с помощта на заявка
- Изчисляване на групови суми с помощта на заявка за общи суми
- Сумиране на данни из множество групи с помощта на кръстосана заявка
- Справка за агрегатна функция
Разбиране на начините за сумиране на данни
Можете да сумирате колона от числа в заявка, като използвате тип функция, наричан агрегатна функция. Агрегатните функции извършват изчисление върху колона от данни и връщат единична стойност. Access предоставя разнообразни агрегатни функции, включително Sum, Count, Avg (за изчисляещи средни стойности) Minи Max. Сумирате данните, като добавите Sum функцията към вашата заявка. Преброявате данните с помощта на Count функцията и т.н.
Освен това Access предоставя няколко начина за добавяне Sum и други агрегатни функции към заявка. Можете:
- Отворете вашата заявка в изглед на лист с данни и добавете сумарен ред. Сумарният ред – функция в Access, която ви позволява да използвате агрегатна функция в една или повече колони от набора резултати от заявка, без да променяте структурата на заявката.
- Създаване на заявка за обобщаване. Заявката за общи суми изчислява междинните суми между групи записи; Редът "Обща сума" изчислява общите суми за една или повече колони (полета) с данни. Ако например искате да намерите междинна сума на всички продажби по градове или по тримесечия, използвате заявка за общи суми, за да групирате записите по желаната категория, след което да сумирате стойностите за продажбите.
- Създаване на кръстосана заявка. Кръстосаната заявка е специален тип заявка, която показва резултатите си в мрежа, подобна на работен лист на Excel. Кръстосаните заявки обобщават стойностите ви и след това ги групират по два набора от факти – едната зададена отстрани (заглавия на редове), а другата по ширината им най-отгоре (заглавия на колони). Можете например да използвате кръстосана заявка, за да покажете общите суми на продажбите за всеки град за изминалите три години, както е показано в следващата таблица:
| Град | 2003 | 2004 | 2005 |
|---|---|---|---|
| Paris | 254,556 | 372,455 | 467,892 |
| Sydney | 478,021 | 372,987 | 276,399 |
| Джакарта | 572,997 | 684,374 | 792,571 |
| ... | ... | ... | ... |
Забележка
Разделите "Как да" в този документ наблягат на използването на Sum функцията, но можете също да използвате други агрегатни функции в своите редове и заявки за общи суми. За повече информация вж. справката за агрегатна функция по-нататък в тази статия.
За повече информация относно начините за използване на другите агрегатни функции вж. статията Показване на суми на колони в лист с данни.
Стъпките в следващите раздели обясняват как да добавите сумарен ред, как да използвате заявка за общи суми за сумиране на данни в различни групи и как да използвате кръстосана заявка, която изчислява междинните суми на данни по групи и интервали от време. Запомнете, че много агрегатни функции работят само с данни в полета, зададени за конкретен тип данни. Например функцията работи само с полета, SUM зададени като числов, десетичен и валутен тип данни. За повече информация относно типовете данни, които изисква всяка функция, вж. справката за агрегатна функция по-долу в тази статия.
За обща информация относно типовете данни вж. статията Модифициране или промяна на набора от типове данни за поле.
Подготвяне на някои примерни данни
Разделите с инструкции в тази статия предоставят таблици с примерни данни. Стъпките с инструкции използват примерните таблици, за да ви помогнат да разберете как работят агрегатните функции. Ако предпочитате, можете по желание да добавите примерните таблици в нова или съществуваща база данни.
Access предоставя няколко начина за добавяне на тези примерни таблици в база данни. Можете да въведете данните ръчно, можете да копирате всяка таблица в програма за електронни таблици, като например Excel, и след това да импортирате работните листове в Access, или можете да поставите данните в текстов редактор, като например Notepad, и да импортирате данните от създадените текстови файлове.
Стъпките в този раздел обясняват как да въведете данните ръчно в празен лист с данни и как да копирате примерните таблици в програма за електронни таблици и след това да ги импортирате в Access. За повече информация за създаването и импортирането на текстови данни вж. статията Импортиране или свързване към данни в текстов файл.
Стъпките с инструкции в тази статия използват таблиците по-долу. Използвайте тези таблици, за да създадете примерните си данни:
Таблицата "Категории ":
| Категория |
|---|
| Кукли |
| Игри и пъзели |
| Изкуство и рамкиране |
| Видео игри |
| DVD дискове и филми |
| Модели и хобита |
| Спорт |
Таблицата "Продукти" :
| Име на продукт | Цена | Категория |
|---|---|---|
| Фигура за действие програмист | 12,95 щ.д. | Кукли |
| Забавление с C# (настолна игра за цялото семейство) | 15,85 щ.д. | Игри и пъзели |
| Диаграма на релационна база данни | 22,50 щ.д. | Изкуство и рамкиране |
| Вълшебният компютърен чип (500 броя) | 32,65 лв. | Игри и пъзели |
| Достъп! Играта! | 22,95 щ.д. | Игри и пъзели |
| Компютърни маниаци и митични същества | $78.50 | Видео игри |
| Упражнение за компютърни маниаци! The DVD! | 14,88 щ.д. | DVD дискове и филми |
| Върховна летяща пица | 36,75 щ.д. | Спорт |
| Външно 5,25-инчово дисково устройство за дискета (мащаб 1/4) | 65,00 лв. | Модели и хобита |
| Фигура за бюрократ без действие | $78.88 | Кукли |
| Мрак | 53,33 лв. | Видео игри |
| Създаване на собствена клавиатура | $77.95 | Модели и хобита |
Таблицата "Поръчки" :
| Дата на поръчка | Дата на изпращане | Град за експедиране | Такса за доставка |
|---|---|---|---|
| 11/14/2005 | 11/15/2005 | Джакарта | 55,00 лв. |
| 11/14/2005 | 11/15/2005 | Sydney | $76.00 |
| 11/16/2005 | 11/17/2005 | Sydney | 87,00 щ.д. |
| 11/17/2005 | 11/18/2005 | Джакарта | 43,00 лв. |
| 11/17/2005 | 11/18/2005 | Paris | 105,00 лв. |
| 11/17/2005 | 11/18/2005 | Щутгарт | 112,00 щ.д. |
| 11/18/2005 | 11/19/2005 | Виена | 215,00 лв. |
| 11/19/2005 | 11/20/2005 | Маями | 525,00 лв. |
| 11/20/2005 | 11/21/2005 | Виена | 198,00 лв. |
| 11/20/2005 | 11/21/2005 | Paris | 187,00 лв. |
| 11/21/2005 | 11/22/2005 | Sydney | 81,00 лв. |
| 11/23/2005 | 11/24/2005 | Джакарта | 92,00 щ.д. |
Таблицата "Подробно за поръчките":
| ИД на поръчка | Име на продукт | ИД на продукт | Единица Цена | Количество | Дисконт |
|---|---|---|---|---|---|
| 1 | Създаване на собствена клавиатура | 12 | $77.95 | 9 | 5% |
| 1 | Фигура за бюрократ без действие | 2 | $78.88 | 4 | 7.5% |
| 2 | Упражнение за компютърни маниаци! The DVD! | 7 | 14,88 щ.д. | 6 | 4% |
| 2 | Вълшебният компютърен чип | 4 | 32,65 лв. | 8 | 0 |
| 2 | Компютърни маниаци и митични същества | 6 | $78.50 | 4 | 0 |
| 3 | Достъп! Играта! | 5 | 22,95 щ.д. | 5 | 15% |
| 4 | Фигура за действие програмист | 1 | 12,95 щ.д. | 2 | 6% |
| 4 | Върховна летяща пица | 8 | 36,75 щ.д. | 8 | 4% |
| 5 | Външно 5,25-инчово дисково устройство за дискета (мащаб 1/4) | 9 | 65,00 лв. | 4 | 10% |
| 6 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 12 | 6,5% |
| 7 | Мрак | 11 | 53,33 лв. | 6 | 8% |
| 7 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 4 | 9% |
Забележка
Запомнете, че в типична база данни таблицата с подробни данни за поръчките ще съдържа само поле "ИД на продукт", не поле "Име на продукт". Примерната таблица използва поле "Име на продукт", за да улесни четенето на данните.
Ръчно въвеждане на примерните данни
В раздела Създаване, в групата Таблици щракнете върху Таблица. Access добавя нова, празна таблица в базата данни.
Забележка
Не е необходимо да изпълнявате тази стъпка, ако отваряте нова, празна база данни, но ще трябва да я изпълните, когато се налага да добавите таблица към базата данни.
Щракнете двукратно върху първата клетка в заглавния ред и въведете името на полето в примерната таблица. По подразбиране Access показва празни полета в заглавния ред с текста "Добавяне на ново поле", ето така:
С клавишите със стрелки отидете до следващата празна заглавна клетка и въведете името на второто поле. Можете също да натиснете
TABили да щракнете двукратно върху новата клетка. Повтаряйте тази стъпка, докато не въведете всички имена на полета.Въведете данните в примерната таблица. Докато въвеждате данните, Access определя типа данни за всяко поле. Ако сте начинаещ в работата с релационни бази данни, трябва да зададете конкретен тип данни, като например "Число", "Текст" или "Дата/час", за всяко от полетата във вашите таблици. Задаването на типа на данните помага за правилното им въвеждане, а също и за избягване на грешки, като например използване на телефонен номер в изчисление. За тези примерни таблици трябва да оставите Access да определи типа данни.
Когато приключите с въвеждането на данните, щракнете върху "Запиши". Клавишна комбинация: Натиснете CTRL+S. Появява се диалоговият прозорец Запиши като.
В полето Име на таблица въведете името на примерната таблица и след това щракнете върху OK. Трябва да използвате имената на примерните таблици, защото тези имена се използват в заявките в секциите "как да".
Повтаряйте тези стъпки, докато създадете всяка от примерните таблици, изброени в началото на този раздел.
Ако не искате да въвеждате данните ръчно, следвайте следващите стъпки, за да копирате данните във файл с електронна таблица, след което да импортирате данните от файла с електронната таблица в Access.
Създаване на примерните работни листове
Стартирайте своята програма за електронни таблици и създайте нов, празен файл. Ако използвате Excel, той създава по подразбиране нова, празна работна книга.
Копирайте първата примерна таблица, предоставена по-горе, и я поставете в първия работен лист, започвайки от първата клетка.
Използвайки функционалността на вашата програма за електронни таблици, преименувайте работния лист. Дайте на работния лист същото име като това на примерната таблица. Ако например примерната таблица се нарича "Категории", дайте на работния лист същото име.
Повторете стъпки 2 и 3, като копирате всяка примерна таблица в празен работен лист и преименувате работния лист.
Забележка
Може да се наложи да добавите работни листове във файла с електронната таблица. За информация как да изпълните тази задача, вижте помощта за вашата програма за електронни таблици.
Запишете работната книга на удобно място на компютъра или в мрежата и преминете към следващия набор от стъпки.
Създаване на таблици на база данни от работните листове
- В раздела Външни данни , в групата Импортиране & Връзка щракнете върху Нов източник>на данни от файл на>Excel. Показва се диалоговият прозорец "Получаване на външни данни – електронна таблица на Excel ".
- Щракнете върху "Преглед", отворете файла с електронната таблица, който създадохте в предишните стъпки, и след това щракнете върху OK. Стартира се съветникът за импортиране на електронни таблици.
- По подразбиране съветникът избира първия работен лист в работната книга (работния лист "Клиенти ", ако сте изпълнили стъпките в предишния раздел) и данните от работния лист се показват в долната част на страницата на съветника. Щракнете върху Напред.
- На следващата страница на съветника щракнете върху "Първият ред съдържа заглавия на колони" и след това щракнете върху "Напред".
- Ако желаете, на следващата страница използвайте текстовите полета и списъците под "Опции за полета ", за да промените имената и типовете на данните за полета или да пропуснете полета от операцията за импортиране. В противен случай щракнете върху "Напред".
- Оставете избрана опцията "Позволяване на Access да добави първичен ключ " и щракнете върху "Напред".
- По подразбиране Access поставя името на работния лист на новата таблица. Приемете името или въведете друго име и след това щракнете върху "Готово".
- Повтаряйте стъпки от 1 до 7, докато създадете таблица от всеки работен лист в работната книга.
Преименуване на полетата за първичен ключ
Забележка
Когато импортирате работните листове, Access автоматично добавя колона за първичен ключ към всяка таблица. По подразбиране Access дава име на тази колона ID и й задава типа данни AutoNumber . Стъпките в този раздел обясняват как да преименувате всяко поле за първичен ключ. Това ви помага ясно да идентифицирате всички полета в заявката.
- В навигационния екран щракнете с десния бутон върху всяка от таблиците, които създадохте в предишните стъпки, след което щракнете върху "Режим на проектиране".
- За всяка таблица намерете полето за първичен ключ. По подразбиране Access дава име на всяко поле с ИД.
- В колоната " Име на поле " за всяко поле за първичен ключ добавете името на таблицата. Например трябва да преименувате полето "ИД" за таблицата "Категории" на "ИД на категория", а полето за таблицата "Поръчки" – на "ИД на поръчка". За таблицата "Подробно за поръчките" преименувайте полето на "ИД на подробни данни". За таблицата "Продукти" преименувайте полето на "ИД на продукт".
- Запишете промените.
Когато примерните таблици се появят в тази статия, те включват полето за първичен ключ и полето се преименува, както е описано в предишните стъпки.
Сумиране на данни с помощта на сумарен ред
Можете да добавите сумарен ред към заявка, като отворите заявката в изглед на лист с данни, добавите реда и след това изберете агрегатната функция, която искате да използвате, като например Sum, Min, Max, или Avg. Стъпките в този раздел обясняват как да създадете основна заявка за избиране и да добавите сумарен ред. Не е необходимо да използвате примерните таблици, описани в предишния раздел.
Създаване на основна заявка за избиране
- В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.
- Щракнете двукратно върху таблицата или таблиците, които искате да използвате във вашата заявка. Избраната таблица или таблици се показват като прозорци в горната секция на конструктора на заявки.
- Щракнете двукратно върху полетата на таблицата, които искате да използвате във вашата заявка. Можете да включите полета, съдържащи описателни данни, като например имена и описания, но трябва да включите поле, съдържащо числови данни или валута. Всяко поле се появява в клетка в мрежата за проектиране.
- Щракнете върху "Изпълнение ", за да изпълните заявката. Наборът резултати от заявката се показва в изглед на лист с данни.
- Ако желаете, преминете в изглед за проектиране и настройте заявката си. За да направите това, щракнете с десния бутон върху раздела на документа за заявката и щракнете върху "Изглед за проектиране". След това можете да настроите заявката, ако е необходимо, като добавяте или премахвате полета на таблица. За да премахнете поле, изберете колоната в мрежата за проектиране и натиснете клавиша DELETE.
- Запишете заявката си.
Добавяне на сумарен ред
- Уверете се, че заявката ви е отворена в изглед на лист с данни. За да направите това, щракнете с десния бутон върху раздела на документа за заявката и щракнете върху "Изглед на лист с данни". -или- В навигационния екран щракнете двукратно върху заявката. Това изпълнява заявката и зарежда резултатите в лист с данни.
- В раздела Начало, в групата Записи щракнете върху Общи суми. В листа с данни се появява нов сумарен ред.
- В сумарния ред щракнете върху клетката в полето, което искате да сумирате, и след това изберете "Сума " от списъка.
Скриване на сумарен ред
- В раздела Начало, в групата Записи щракнете върху Общи суми.
За повече информация относно използването на сумарен ред вж. статията Показване на суми на колони в лист с данни.
Изчисляване на общите суми с помощта на заявка
Общата сума е сумата от всички стойности в дадена колона. Можете да изчислявате няколко типа общи суми, включително:
- Проста обща сума, която сумира стойностите в една колона. Можете например да изчислите общите разходи за доставка.
- Изчислена обща сума, която сумира стойностите в повече от една колона. Например можете да изчислите общите продажби, като умножите цената на няколко артикула по броя на поръчаните артикули и след това сумирате получените стойности.
- Обща сума, която изключва някои записи. Например можете да изчислите общата сума на продажбите само за миналия петък.
Стъпките в следващите раздели обясняват как да създадете всеки тип обща сума. Стъпките използват таблиците "Поръчки" и "Подробно за поръчките".
Таблицата "Поръчки"
| ИД на поръчка | Дата на поръчка | Дата на изпращане | Град за експедиране | Такса за доставка |
|---|---|---|---|---|
| 1 | 11/14/2005 | 11/15/2005 | Джакарта | 55,00 лв. |
| 2 | 11/14/2005 | 11/15/2005 | Sydney | $76.00 |
| 3 | 11/16/2005 | 11/17/2005 | Sydney | 87,00 щ.д. |
| 4 | 11/17/2005 | 11/18/2005 | Джакарта | 43,00 лв. |
| 5 | 11/17/2005 | 11/18/2005 | Paris | 105,00 лв. |
| 6 | 11/17/2005 | 11/18/2005 | Щутгарт | 112,00 щ.д. |
| 7 | 11/18/2005 | 11/19/2005 | Виена | 215,00 лв. |
| 8 | 11/19/2005 | 11/20/2005 | Маями | 525,00 лв. |
| 9 | 11/20/2005 | 11/21/2005 | Виена | 198,00 лв. |
| 10 | 11/20/2005 | 11/21/2005 | Paris | 187,00 лв. |
| 11 | 11/21/2005 | 11/22/2005 | Sydney | 81,00 лв. |
| 12 | 11/23/2005 | 11/24/2005 | Джакарта | 92,00 щ.д. |
Таблицата "Подробно за поръчките"
| ИД на подробност | ИД на поръчка | Име на продукт | ИД на продукт | Единица Цена | Количество | Дисконт |
|---|---|---|---|---|---|---|
| 1 | 1 | Създаване на собствена клавиатура | 12 | $77.95 | 9 | 0,05 |
| 2 | 1 | Фигура за бюрократ без действие | 2 | $78.88 | 4 | 0.075 |
| 3 | 2 | Упражнение за компютърни маниаци! The DVD! | 7 | 14,88 щ.д. | 6 | 0.04 |
| 4 | 2 | Вълшебният компютърен чип | 4 | 32,65 лв. | 8 | 0,00 |
| 5 | 2 | Компютърни маниаци и митични същества | 6 | $78.50 | 4 | 0,00 |
| 6 | 3 | Достъп! Играта! | 5 | 22,95 щ.д. | 5 | 0,15 |
| 7 | 4 | Фигура за действие програмист | 1 | 12,95 щ.д. | 2 | 0,06 |
| 8 | 4 | Върховна летяща пица | 8 | 36,75 щ.д. | 8 | 0.04 |
| 9 | 5 | Външно 5,25-инчово дисково устройство за дискета (мащаб 1/4) | 9 | 65,00 лв. | 4 | 0,10 |
| 10 | 6 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 12 | 0.065 |
| 11 | 7 | Мрак | 11 | 53,33 лв. | 6 | 0,08 |
| 12 | 7 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 4 | 0,09 |
Изчисляване на проста обща сума
В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.
Щракнете двукратно върху таблицата, която искате да използвате във вашата заявка. Ако използвате примерните данни, щракнете двукратно върху таблицата "Поръчки". Таблицата се появява в прозорец в горната секция на конструктора на заявки.
Щракнете двукратно върху полето, което искате да сумирате. Уверете се, че за полето е зададен тип данни "Число" или "Валута". Ако опитате да сумирате стойности в нечислови полета, като например текстово поле, Access показва несъответствие на типове данни в съобщението за грешка при израз на критериите , когато опитате да изпълните заявката. Ако използвате примерните данни, щракнете двукратно върху колоната "Такса доставка". Можете да добавите допълнителни числови полета към мрежата, ако искате да изчислите общите суми за тези полета. Заявката за общи суми може да изчисли общи суми за повече от една колона.
В раздела Проектиране на заявка , в групата Показване/скриване щракнете върху Общи суми. Сумарният ред се показва в мрежата за проектиране, а групирането по се показва в клетката в колоната "Такса доставка".
Променете стойността в клетката в сумарния ред на "Сума".
Щракнете върху "Изпълнение ", за да изпълните заявката и да покажете резултатите в изглед на лист с данни.
Съвет
Access добавя
SumOfкъм началото на името на полето, което сумирате. За да промените заглавието на колоната на нещо по-смислено, например "Общо доставка", върнете се в изглед за проектиране и щракнете в реда " Поле " на колоната "Такса доставка" в мрежата за проектиране. Поставете курсора до таксата за доставка и въведетеTotal Shipping: Shipping Fee.Ако желаете, запишете заявката и я затворете.
Изчисляване на обща сума, която изключва някои записи
В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.
Щракнете двукратно върху таблицата "Поръчки" и таблицата "Подробно за поръчките".
Добавете полето "Дата на поръчка" от таблицата "Поръчки" към първата колона на мрежата на заявката за проектиране.
В реда ''Критерии' ' на първата колона въведете
Date() -1. Този израз изключва записите за текущия ден от изчислената обща сума.След това създайте колоната, която изчислява сумата на продажбите за всяка транзакция. Въведете следния израз в реда "Поле " на втората колона в мрежата:
Total Sales Value: (1-[Order Details].[Discount]/100)*([Order Details].[Unit Price]*[Order Details].[Quantity])Уверете се, че вашият израз препраща към полета, зададени като числов или валутен тип. Ако вашият израз препраща към полета, зададени на други типове данни, Access показва съобщението " Несъответствие на типове данни в израза за критериите ", когато се опитате да изпълните заявката.В раздела Проектиране на заявка , в групата Показване/скриване щракнете върху Общи суми. Сумарният ред се показва в мрежата за проектиране, а групирането по се показва в първата и втората колони.
Във втората колона променете стойността в клетката на реда "Сума" на "Сума". Функцията Sum сумира отделните стойности за продажбите.
Щракнете върху "Изпълнение ", за да изпълните заявката и да покажете резултатите в изглед на лист с данни.
Запишете заявката като "Ежедневни продажби".
Забележка
Следващия път, когато отворите заявката в изглед за проектиране, може да забележите лека промяна в стойностите, зададени в редовете " Поле " и " Обща сума " на колоната "Стойност на общата стойност на продажбите". Изразът изглежда затворен във функцията Sum и редът Total показва израз вместо сума.
Ако например използвате примерните данни и създадете заявката (както е показано в предишните стъпки), виждате:
Total Sales Value: Sum((1-[Order Details].Discount/100)*([Order Details].Unitprice*[Order Details].Quantity))
Изчисляване на групови суми с помощта на заявка за общи суми
Стъпките в този раздел обясняват как да създадете заявка за общи суми, която изчислява междинни суми между групи данни. Запомнете, че по подразбиране заявката за общи суми може да включва само полето или полетата, които съдържат данните от групата ви, като например поле "Категории", и полето, което съдържа данните, които искате да сумирате, като например полето "Продажби". Заявките за общи суми не могат да включват други полета, които описват елементите в дадена категория. Ако искате да видите тези описателни данни, можете да създадете втора заявка за избиране, която комбинира полетата от заявката за обобщени стойности с допълнителните полета за данни.
Стъпките в този раздел обясняват как да създавате заявки за общи суми и избиране, необходими за идентифициране на общите продажби за всеки продукт. Стъпките предполагат използването на тези примерни таблици:
Таблицата "Продукти"
| ИД на продукт | Име на продукт | Цена | Категория |
|---|---|---|---|
| 1 | Фигура за действие програмист | 12,95 щ.д. | Кукли |
| 2 | Забавление с C# (настолна игра за цялото семейство) | 15,85 щ.д. | Игри и пъзели |
| 3 | Диаграма на релационна база данни | 22,50 щ.д. | Изкуство и рамкиране |
| 4 | Вълшебният компютърен чип (500 броя) | 32,65 лв. | Изкуство и рамкиране |
| 5 | Достъп! Играта! | 22,95 щ.д. | Игри и пъзели |
| 6 | Компютърни маниаци и митични същества | $78.50 | Видео игри |
| 7 | Упражнение за компютърни маниаци! The DVD! | 14,88 щ.д. | DVD дискове и филми |
| 8 | Върховна летяща пица | 36,75 щ.д. | Спорт |
| 9 | Външно 5,25-инчово дисково устройство за дискета (мащаб 1/4) | 65,00 лв. | Модели и хоби |
| 10 | Фигура за бюрократ без действие | $78.88 | Кукли |
| 11 | Мрак | 53,33 лв. | Видео игри |
| 12 | Създаване на собствена клавиатура | $77.95 | Модели и хоби |
Таблицата "Подробно за поръчките"
| ИД на подробност | ИД на поръчка | Име на продукт | ИД на продукт | Единица Цена | Количество | Дисконт |
|---|---|---|---|---|---|---|
| 1 | 1 | Създаване на собствена клавиатура | 12 | $77.95 | 9 | 5% |
| 2 | 1 | Фигура за бюрократ без действие | 2 | $78.88 | 4 | 7.5% |
| 3 | 2 | Упражнение за компютърни маниаци! The DVD! | 7 | 14,88 щ.д. | 6 | 4% |
| 4 | 2 | Вълшебният компютърен чип | 4 | 32,65 лв. | 8 | 0 |
| 5 | 2 | Компютърни маниаци и митични същества | 6 | $78.50 | 4 | 0 |
| 6 | 3 | Достъп! Играта! | 5 | 22,95 щ.д. | 5 | 15% |
| 7 | 4 | Фигура за действие програмист | 1 | 12,95 щ.д. | 2 | 6% |
| 8 | 4 | Върховна летяща пица | 8 | 36,75 щ.д. | 8 | 4% |
| 9 | 5 | Външно 5,25-инчово дисково устройство за дискета (мащаб 1/4) | 9 | 65,00 лв. | 4 | 10% |
| 10 | 6 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 12 | 6,5% |
| 11 | 7 | Мрак | 11 | 53,33 лв. | 6 | 8% |
| 12 | 7 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 4 | 9% |
Следващите стъпки предполагат релация "един към много" между полетата "ИД на продукт" в таблицата "Поръчки" и таблицата "Подробно за поръчките", като таблицата "Поръчки" е от страната "един" на релацията.
Създаване на заявката за обобщаване
В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.
Изберете таблиците, с които искате да работите, и след това щракнете върху "Добави". Всяка таблица се показва като прозорец в горната секция на конструктора на заявки. Ако използвате примерните таблици, изброени по-горе, добавете таблиците "Продукти" и "Подробни данни за поръчки".
Щракнете двукратно върху полетата на таблицата, които искате да използвате във вашата заявка. Като правило към заявката добавяте само полето на групата и полето за стойност. Можете обаче да използвате изчисление вместо поле за стойности – следващите стъпки обясняват как се прави това.
Добавете полето "Категория" от таблицата "Продукти" към мрежата за проектиране.
Създайте колоната, която изчислява сумата на продажбите за всяка транзакция, като въведете следния израз във втората колона на мрежата:
Total Sales Value: (1-[Order Details].[Discount]/100)*([Order Details].[Unit Price]*[Order Details].[Quantity])Уверете се, че полетата, които посочвате в израза, са от числов или валутен тип. Ако препращате към полета с други типове данни, Access показва съобщението за грешка Несъответствие на типове данни в израз на критериите , когато се опитате да превключите към изглед на лист с данни.В раздела Проектиране на заявка , в групата Показване/скриване щракнете върху Общи суми. В мрежата за проектиране се появява редът "Обща сума", а в този ред в първата и втората колони се показва "Групиране по".
Във втората колона променете стойността в реда "Сума " на "Сума". Функцията Sum сумира отделните стойности за продажбите.
Щракнете върху "Изпълнение ", за да изпълните заявката и да покажете резултатите в изглед на лист с данни.
Оставете заявката отворена за използване в следващия раздел. Използване на критерии със заявка за общи суми Заявката, която създадохте в предишния раздел, включва всички записи в базовите таблици. При изчисляването на общите суми тя не изключва никакъв ред и показва общите суми за всички категории. Ако трябва да изключите някои записи, можете да добавите критерии към заявката. Например можете да игнорирате транзакциите, които са по-малко от 100 лв., или да изчислите общи суми само за някои от вашите продуктови категории. Стъпките в този раздел обясняват как да използвате три типа критерии:
Критерии, които игнорират определени групи при изчисляването на общи суми. Например ще изчислите общите суми само за категориите "Видеоигри", "Графични колекции", "Рамкиране" и "Спорт".
Критерии, които скриват определени общи суми след изчисляването им. Например можете да покажете само общите суми, по-големи от 150 000 лв.
Критерии, които изключват включването на отделни записи в общата сума. Можете например да изключите отделни транзакции за продажба, когато стойността (
Unit Price * Quantity) падне под 100 лв. Следващите стъпки обясняват как да добавяте критериите един по един и да видите ефекта върху резултата от заявката. Добавяне на критерии към заявкатаОтворете заявката от предишната секция в изглед за проектиране. За да направите това, щракнете с десния бутон върху раздела на документа за заявката и щракнете върху "Изглед за проектиране". -или- В навигационния екран щракнете с десния бутон върху заявката и щракнете върху "Изглед за проектиране".
В реда "Критерии" на колоната "ИД на категория" въведете
=Dolls Or Sports or Art and Framing.Щракнете върху "Изпълнение ", за да изпълните заявката и да покажете резултатите в изглед на лист с данни.
Върнете се в изглед за проектиране и в реда за критерии на колоната "Стойност на общите продажби" въведете
>100.Изпълнете заявката, за да видите резултатите, след което превключете обратно в изглед за проектиране.
Сега добавете критериите, за да изключите отделни транзакции за продажби, които са по-малко от 100 лв. За да направите това, трябва да добавите друга колона.
Забележка
Не можете да зададете третия критерий в колоната "Стойност на общите продажби". Всеки критерий, който задавате в тази колона, се отнася за общата стойност, а не за отделните стойности.
Копирайте израза от втората в третата колона.
В сумарния ред за новата колона изберете "Къде " и в реда "Критерии " въведете
>20".Изпълнете заявката, за да видите резултатите, и след това запишете заявката.
Забележка
Следващия път, когато отворите заявката в изглед за проектиране, е възможно да забележите малки промени в мрежата за проектиране. Във втората колона изразът в реда " Поле " ще се появи вграден във функцията Sum и стойността в реда " Обща сума" ще показва израз вместо сума.
Total Sales Value: Sum((1-[Order Details].Discount/100)*([Order Details].Unitprice*[Order Details].Quantity))Ще видите и четвърта колона. Тази колона е копие на втората колона, но критериите, които сте задали във втората колона, всъщност се показват като част от новата колона.
Сумиране на данни из множество групи с помощта на кръстосана заявка
Кръстосаната заявка е специален тип заявка, която показва резултатите си в мрежа, подобна на работен лист на Excel. Кръстосаните заявки обобщават стойностите ви и след това ги групират по два набора от факти – единият подреждат отстрани (набор от заглавки на редове), а другият – по ширината им (набор от заглавки на колони). Тази фигура илюстрира част от набора резултати за примерната кръстосана заявка:
Запомнете, че кръстосаната заявка не винаги попълва всички полета в набора от резултати, тъй като таблиците, които използвате в заявката, не винаги съдържат стойности за всяка възможна точка от данни.
Когато създавате кръстосана заявка, обикновено включвате данни от повече от една таблица и винаги включвате три типа данни: данните, използвани като заглавия на редове, данните, използвани като заглавия на колони, и стойностите, които искате да сумирате или изчислите по друг начин.
Стъпките в този раздел предполагат следните таблици:
Таблицата "Поръчки"
| Дата на поръчка | Дата на изпращане | Град за експедиране | Такса за доставка |
|---|---|---|---|
| 11/14/2005 | 11/15/2005 | Джакарта | 55,00 лв. |
| 11/14/2005 | 11/15/2005 | Sydney | $76.00 |
| 11/16/2005 | 11/17/2005 | Sydney | 87,00 щ.д. |
| 11/17/2005 | 11/18/2005 | Джакарта | 43,00 лв. |
| 11/17/2005 | 11/18/2005 | Paris | 105,00 лв. |
| 11/17/2005 | 11/18/2005 | Щутгарт | 112,00 щ.д. |
| 11/18/2005 | 11/19/2005 | Виена | 215,00 лв. |
| 11/19/2005 | 11/20/2005 | Маями | 525,00 лв. |
| 11/20/2005 | 11/21/2005 | Виена | 198,00 лв. |
| 11/20/2005 | 11/21/2005 | Paris | 187,00 лв. |
| 11/21/2005 | 11/22/2005 | Sydney | 81,00 лв. |
| 11/23/2005 | 11/24/2005 | Джакарта | 92,00 щ.д. |
Таблицата "Подробно за поръчките"
| ИД на поръчка | Име на продукт | ИД на продукт | Единица Цена | Количество | Дисконт |
|---|---|---|---|---|---|
| 1 | Създаване на собствена клавиатура | 12 | $77.95 | 9 | 5% |
| 1 | Фигура за бюрократ без действие | 2 | $78.88 | 4 | 7.5% |
| 2 | Упражнение за компютърни маниаци! The DVD! | 7 | 14,88 щ.д. | 6 | 4% |
| 2 | Вълшебният компютърен чип | 4 | 32,65 лв. | 8 | 0 |
| 2 | Компютърни маниаци и митични същества | 6 | $78.50 | 4 | 0 |
| 3 | Достъп! Играта! | 5 | 22,95 щ.д. | 5 | 15% |
| 4 | Фигура за действие програмист | 1 | 12,95 щ.д. | 2 | 6% |
| 4 | Върховна летяща пица | 8 | 36,75 щ.д. | 8 | 4% |
| 5 | Външно 5,25-инчово дисково устройство за дискета (мащаб 1/4) | 9 | 65,00 лв. | 4 | 10% |
| 6 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 12 | 6,5% |
| 7 | Мрак | 11 | 53,33 лв. | 6 | 8% |
| 7 | Диаграма на релационна база данни | 3 | 22,50 щ.д. | 4 | 9% |
Следващите стъпки обясняват как да създадете кръстосана заявка, която групира общите продажби по градове. Заявката използва два израза, за да върне форматирана дата и обща сума на продажбите.
Създаване на кръстосана заявка.
- В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка.
- Щракнете двукратно върху таблиците, които искате да използвате във вашата заявка. Всяка таблица се показва като прозорец в горната секция на конструктора на заявки. Ако използвате примерните таблици, щракнете двукратно върху таблицата "Поръчки" и таблицата "Подробни данни за поръчки".
- Щракнете двукратно върху полетата, които искате да използвате във вашата заявка. Всяко име на поле се появява в празна клетка в реда " Поле " на мрежата за проектиране. Ако използвате примерните таблици, добавете полетата "Град на доставка" и "Дата на доставка" от таблицата "Поръчки".
- В следващата празна клетка в реда "Поле " копирайте и поставете или въведете следния израз:
Total Sales: Sum(CCur([Order Details].[Unit Price]*[Quantity]*(1-[Discount])/100)*100) - В раздела Проектиране на заявка , в групата Тип заявка щракнете върху Кръстосана заявка. Сумарният ред и кръстосаният ред се показват в мрежата за проектиране.
- Щракнете върху клетката в реда "Обща сума" в полето "Град" и изберете "Групиране по". Направете същото за полето за дата на доставка. Променете стойността в клетката "Обща сума" на полето "Общо продажби" на "Израз".
- В реда "Кръстосана заявка" задайте за клетката в полето "Град" " Заглавие на ред", задайте полето "Дата на доставка" на "Заглавие на колона" и задайте полето "Общи продажби" на "Стойност".
- В раздела Проектиране на заявка , в групата Резултати щракнете върху Изпълни. Резултатите от заявката се показват в изглед на лист с данни.
Справка за агрегатна функция
Тази таблица показва и описва агрегатните функции, които Access предоставя в сумарния ред и в заявките. Не забравяйте, че Access предоставя повече агрегатни функции за заявките, отколкото за сумарния ред.
| Функция | Описание | Използване с типовете данни |
|---|---|---|
| Средно | Изчислява средната стойност за колона. Колоната трябва да съдържа числови данни, валута или дата/час. Функцията игнорира празните стойности. | Число, валута, дата/час |
| Брой | Връща броя на елементите в колона. | Всички типове данни с изключение на сложни повтарящи се скаларни данни – например колона с многозначни списъци. За повече информация относно многозначните списъци вж. статията Създаване или изтриване на многозначно поле. |
| Максимум | Връща елемента с най-високата стойност. За текстови данни най-високата стойност е последната буквена стойност – Access не различава малки и главни букви. Функцията игнорира празните стойности. | Число, валута, дата/час |
| Минимум | Връща елемента с най-ниската стойност. За текстови данни най-ниската стойност е първата буквена стойност – Access не различава малки и главни букви. Функцията игнорира празните стойности. | Число, валута, дата/час |
| Стандартно отклонение | Измерва как са разпределени стойностите спрямо средна стойност (средно аритметично). За повече информация относно използването на тази функция вж. статията Показване на суми на колони в лист с данни. |
Число, валута |
| Сумиране | Сумира елементите в дадена колона. Работи само с числови данни и валута. | Число, валута |
| Дисперсия | Измерва статистическата дисперсия на всички стойности в колоната. Може да използвате тази функция само с числови данни и валута. Ако таблицата съдържа по-малко от два реда, Access връща стойност null. За повече информация относно дисперсионните функции вж. статията Показване на суми на колони в лист с данни. |
Число, валута |