Улесняване на четенето на обобщени данни с помощта на кръстосана заявка

За да направите обобщените данни в Access по-лесни за четене и разбиране, обмислете използването на кръстосана заявка. Кръстосаната заявка изчислява сума, средна стойност или друга агрегатна функция и след това групира резултатите по два набора от стойности – единият набор отстрани на листа с данни, а другият – по ширината му. В лентата щракнете върху Създаване и след това в групата Заявки щракнете върху Съветник за заявка. В диалоговия прозорец Нова заявка щракнете двукратно върху Съветник за кръстосани заявки.

Ако един набор от заглавия има стойности за дати, съветникът ще ви помогне да групирате записите по стандартни интервали – например месеци или тримесечия.

В тази статия

Общ преглед

Създаване на кръстосана заявка чрез съветника за кръстосани заявки

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

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

Използване на обхвати или интервали за заглавия

Подканване за параметър за ограничаване на заглавията на редовете

Заместване на стойности Null с нули

Съвети за кръстосаните заявки

Забележка: Кръстосаните заявки не са налични в уеб приложенията на Access и се поддържат само частично в уеб база данни: те не могат да се използват от уеб обектите.

Общ преглед

Кръстосаната заявка е тип заявка за избиране. Когато изпълните кръстосана заявка, резултатите се показват в лист с данни, който има различна структура от другите типове листове с данни.

Структурата на кръстосаната заявка може да направи четенето по-лесно отколкото една проста заявка за избиране, която показва същите данни, както е показано на илюстрацията по-долу.

Заявка за избиране и кръстосана заявка, показващи едни и същи данни

1. Тази заявка за избиране групира обобщени данни вертикално по служител и категория.

2. Кръстосаната заявка може да покаже същите данни, но групира данните както хоризонтално, така и вертикално, така че листът с данни може да бъде по-компактен и по-лесен за четене.

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

Можете също да използвате израз, за да създавате заглавия на редове, заглавия на колони или стойности за обобщаване. Вижте Агрегатни SQL функции за повече информация.

Диаграма на кръстосана заявка

1. Една, две или три колони от тази страна съдържат заглавия на редове. Имената на полетата, които използвате като заглавия на редове, се появяват в горния ред на тези колони.

2. Заглавията на редовете се появяват тук. Броят на редовете в листа с данни на кръстосаната заявка може да нарасне бързо, когато използвате повече от едно поле за заглавие на ред, защото се показват всички комбинации от заглавия на редове.

3. Колоните от тази страна съдържат заглавия на колони и обобщени стойности. Обърнете внимание, че името на полето за заглавия на колони не се появява в листа с данни.

4. Обобщените стойности се появяват тук.

Методи за създаване на кръстосана заявка

Използване на съветника за кръстосани заявки    Съветникът за кръстосани заявки обикновено е най-бързият и лесен начин да създадете кръстосана заявка. Той върши по-голямата част от работата вместо вас, но има няколко опции, които съветникът не предлага.

Съветникът има следните предимства:

  • Лесен е за използване. За да го използвате, стартирайте съветника и след това отговорете на поредица от въпроси с указания.

  • Може автоматично да групира датите в интервали. Ако използвате поле, което съдържа данни за дата/час за заглавия на колоните, съветникът също така ви помага да групирате датите в интервали, например месеци или тримесечия.

    Съвет: Ако искате да използвате стойности от поле за дата/час за заглавия на колоните, но искате да групирате датите в интервали, които съветникът не предоставя, като например финансова година или двугодишен период, не използвайте съветника за създаване на своята заявка. Вместо това създайте кръстосана заявка в изглед за проектиране и използвайте израз, за да създадете интервалите.

  • Може да се използва като отправна точка. Можете да използвате съветника, за да създадете желаната базова кръстосана заявка, и след това да настроите прецизно структурата на заявката с помощта на изгледа за проектиране.

Като използвате съветника обаче не можете да:

  • Използвате повече от една таблица или заявка като източник на записи.

  • Използвате израз за създаване на полета.

  • Добавите подканване за параметър.

  • Зададете списък с фиксирани стойности, който да се използва за заглавията на колоните.

    В последната стъпка на съветника можете да изберете да модифицирате заявката в изглед за проектиране. Това ви позволява да добавяте елементи в структурата на заявката, които не се поддържат от съветника, като например допълнителни източници на записи.

Работа в режим за проектиране    Изгледът за проектиране ви позволява повече контрол върху структурата на заявката. Той поддържа функции, които не са налични в съветника.

Помислете за използване на изгледа за проектиране за създаване на вашата кръстосана заявка, ако искате да:

  • Имате повече контрол над процеса. Съветникът взема някои решения вместо вас.

  • Използвате повече от една таблица или заявка като източник на записи.

  • Добавите подканване за параметър към заявката си.

  • Използвате изрази като полета във вашата заявка.

  • Зададете списък с фиксирани стойности, който да се използва за заглавията на колоните.

  • Упражните в използването на мрежата за проектиране.

Писане на заявка в SQL изглед    Можете да напишете кръстосана заявка в SQL изглед, ако предпочитате. Обаче не можете да зададете типовете данни за параметри с помощта на SQL изглед. Ако искате да използвате параметър в своята кръстосана заявка, трябва да зададете типа на данните на параметъра, като промените вашата заявка в изглед за проектиране.

Съвет: Не забравяйте – не сте ограничени да използвате само един начин за създаване на кръстосана заявка. Можете да използвате съветника за създаване на заявката и след това да използвате изглед за проектиране, за да промените структурата на заявката.

Най-горе на страницата

Създаване на кръстосана заявка чрез съветника за кръстосани заявки

Използването на съветника за кръстосани заявки изисква от вас да използвате само една таблица или заявка като източник на записи за вашата кръстосана заявка. Ако тази таблица не съдържа всички данни, които искате да включите в кръстосаната заявка, започнете със създаване на заявка за избиране, която връща данните, които са ви нужни. За повече информация за създаването на заявка за избиране вж. раздела Вж. също.

За този пример ще създадем кръстосана заявка, като използвате таблицата "Продукти" от примерната база данни Northwind. Искаме да покажем броя на продуктите във всяка категория от всички доставчици.

  1. В раздела Създаване, в групата Заявки щракнете върху Съветник за заявка. Забележка: ако използвате Access 2007, щракнете върху Създаване > Други > Съветник за заявка.

    Групата "Заявки" на лентата на Access показва две опции: "Съветник за заявка" и "Проектиране на заявка"
  2. В диалоговия прозорец Нова заявка щракнете върху Съветник за кръстосани заявки и след това щракнете върху OK.

    Съветникът за кръстосани заявки стартира.

  3. На първата страница на съветника изберете таблицата или заявката, която искате да използвате за създаване на кръстосана заявка. За този пример изберете таблицата Продукти и след това щракнете върху Напред.

    В съветника за кръстосани заявки изберете таблица или заявка.
  4. На следващата страница изберете полето, съдържащо стойностите, които искате да използвате като заглавия на редове. Може да изберете най-много три полета за използване като източници на заглавия на редове, но колкото по-малко заглавия на редове използвате, толкова по-лесен за четене ще бъде вашият лист с данни от кръстосаната заявка. Ако изберете повече от едно поле за заглавия на редове, последователността, в която изберете полетата, определя по подразбиране последователността, в която ще бъдат сортирани резултатите.

    За този пример, изберете Supplier IDs.Value и след това щракнете върху бутона, означен със символа >. Обърнете внимание, че Access показва името на полето от лявата страна на визуализацията на примерната заявка в долната част на диалоговия прозорец. Щракнете върху Напред, за да продължите.

    Изберете поле, което да се показва като заглавия на редовете в съветника за кръстосани заявки.
  5. На следващата страница изберете полето, съдържащо стойностите, които искате да използвате като заглавия на колони. По принцип трябва да избирате поле, съдържащо малко стойности, за да бъдат резултатите по-лесни за четене. Например използването на поле, което има само няколко възможни стойности (например "Пол") може да бъде за предпочитане пред поле, което може да съдържа много различни стойности (например "Възраст").

    Ако полето, което изберете да използвате за заглавия на колони, съдържа данни от тип "Дата/час", съветникът добавя стъпка, която ви позволява да зададете как да се групират датите в интервали, например месеци или тримесечия.

    За този пример изберете Категория и обърнете внимание, че Access показва примерните имена на категории от горната страна на визуализацията на примерната заявка в долната част на диалоговия прозорец. Щракнете върху Напред, за да продължите.

    Изберете поле, което да се показва като заглавия на редовете в съветника за кръстосани заявки.
  6. Ако изберете поле от тип "Дата/час" за заглавия на колоните, следващата страница на съветника иска да зададете интервала за групиране по дати. Можете да зададете Година, Тримесечие, Месец, Дата или Дата/час. Ако не изберете поле от тип "Дата/час" за заглавия на колоните, съветникът пропуска тази страница.

  7. На следващата страница изберете поле и функция, които ще се използват за изчисление на обобщени стойности. Типът данни на полето, което изберете, определя кои функции са достъпни.

    На същата страница изберете или изчистете квадратчето за отметка Да, включи сумите на редовете, за да включите или изключите сумите на редовете.

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

    За този пример изберете ИД в полето Полета и Брой в полето Функции, за да може Access да преброи броя на продуктите във всяка пресечна точка на доставчик и категория. Оставете отметката в квадратчето Да, включвай суми на редовете. Access ще създаде колона, която показва общата сума на броя на продуктите от всеки доставчик. Щракнете върху Напред, за да продължите.

    Изберете поле и функция за изчисляване в съветника за кръстосани заявки.
  8. На последната страница на съветника въведете име за вашата заявка и след това задайте дали искате да видите резултатите, или да модифицирате структурата на заявката.

    Можете да промените функцията, която се използва за създаване на суми на редове, като редактирате кръстосаната заявка в изглед за проектиране.

  9. Ако сте изпълнили този пример, като сте използвали таблицата "Продукти" от базата данни на Northwind, кръстосаната заявка показва списъка с имена на доставчици като редове, имената на категориите продукти като колони и броя на продуктите във всяка пресечна точка.

    Кръстосана заявка, която се показва в изглед на лист с данни с доставчици и продуктови категории.

Най-горе на страницата

Като използвате изглед за проектиране за създаване на вашата кръстосана заявка, можете да използвате толкова източници на записи (таблици и заявки), колкото искате. Въпреки това можете да запазите структурата проста, като първо създадете заявка за избиране, която връща всички данни, които искате, и след това да използвате тази заявка като единствен източник на записи за вашата кръстосана заявка. За повече информация за създаването на заявка за избиране вж. раздела Вж. също.

Когато съставяте кръстосана заявка в изглед за проектиране, можете да използвате редовете Общо и Кръстосана в мрежата за проектиране, за да зададете стойностите на кое поле ще станат заглавия на колони, стойностите на кои полета ще станат заглавия на редове и от стойностите на кое поле ще се изчислява сума, средна стойност, брой или нещо друго.

Части от кръстосана заявка, показана в изглед за проектиране

1. Настройките в тези редове определят дали полето е заглавие на ред, заглавие на колона, или обобщена стойност.

2. Тази настройка показва стойностите на полето като заглавия на редове.

3. Тази настройка показва стойностите на полето като заглавия на колони.

4. Тези настройки създават обобщени стойности.

Създаване на заявката

  1. В раздела Създаване, в групата Заявки щракнете върху Проектиране на заявка. Забележка: ако използвате Access 2007, щракнете върху Създаване > Други > Проектиране на заявка.

    Групата "Заявки" на лентата на Access показва две опции: "Съветник за заявка" и "Проектиране на заявка"
  2. В диалоговия прозорец Показване на таблица щракнете двукратно върху всяка таблица или заявка, която искате да използвате като източник на записи.

    Ако използвате повече от един източник на записи, се уверете, че таблиците или заявките са съединени в полета, които са общи за тях. За повече информация за присъединяване на таблици и заявки, вж. раздела Вж. също.

  3. Затворете диалоговия прозорец Показване на таблица.

  4. В раздела Структура, в групата Тип на заявката щракнете върху Кръстосана.

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

  6. В мрежата на заявката за проектиране, в реда Кръстосана за всяко поле за заглавия на редове изберете Заглавие на ред.

    Можете да въведе израз в реда Критерии, за да ограничите резултатите за това поле. Можете също да използвате реда Сортиране, за да зададете реда на сортиране за поле.

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

  8. В мрежата на заявката за проектиране, в реда Кръстосана за полето за заглавия на колони изберете Заглавие на колона.

    Можете да въведете израз в реда Критерии, за да ограничите резултатите за полето за заглавия на колони. Използването обаче на израз за критерий с полето за заглавия на колони не ограничава броя на колоните, върнати от кръстосаната заявка. Вместо това то ограничава кои колони да съдържат данни. Нека например да имате поле за заглавия на колони, което има три възможни стойности: червено, зелено и синьо. Ако приложите критерий ="синьо" към полето за заглавия на колони, кръстосаната заявка пак ще показва колона за червено и колона за зелено, но само колоната за синьо ще съдържа данни.

    Ако искате да ограничите стойностите, които се показват като заглавия на колони, можете да зададете списък с фиксирани стойности с помощта на свойството Заглавия на колони на заявката. За повече информация вж. следващия раздел.

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

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

  11. В реда Кръстосана за полето за обобщени стойности изберете Стойност.

    Не може да задавате критерии или да сортирате по поле за обобщени стойности.

  12. В раздела Структура, в групата Резултати щракнете върху Изпълни.

Задаване на фиксирани стойности за заглавия на колони

Ако искате да зададете фиксирани стойности, които да използвате за заглавия на колони, можете да зададете свойството Заглавия на колони на заявката.

  1. Отворете кръстосаната заявка в изглед за проектиране.

  2. Ако списъкът на свойствата не се вижда, натиснете F4, за да го покажете.

  3. В списък със свойства, точно над раздела Общи проверете дали Тип на селекцията е Свойства на заявката. Ако не е, щракнете върху празно място в пространството над мрежата на заявката за проектиране.

  4. В списъка със свойства, в раздела Общи, в свойството Заглавия на колони въведете разделен със запетаи списък със стойности, които искате да използвате като заглавия на колони.

    Някои знаци (например повечето препинателни знаци) не са разрешени за заглавия на колони. Ако използвате тези знаци във вашия списък със стойности, Access замества всеки такъв знак със знака за подчертаване (_).

SQL синтаксис за кръстосана заявка

Кръстосаната заявка се изразява в SQL като команда TRANSFORM. Командата TRANSFORM има следния синтаксис:

TRANSFORM агр_функция
select_команда
PIVOT обобщено_поле [IN (стойност1[, стойност2[, ...]])]

Командата TRANSFORM има следните части:

Част

Описание

агр_функция

SQL агрегатна функция, която се изпълнява върху избраните данни.

select_команда

Команда SELECT.

обобщено_поле

Полето или израза, които искате да използвате за създаване на заглавия на колоните в набора резултати от заявката.

стойност1, стойност2

Фиксирани стойности, използвани за създаване на заглавия на колони.

SQL изгледът не ограничава броя на таблиците или заявките, които можете да използвате като източници на записи за кръстосаната заявка. Въпреки това можете да запазите структурата проста, като създадете заявка за избиране, която връща всички данни, които искате да използвате в кръстосаната заявка, и след това да използвате заявката за избиране като източник на записи. За повече информация за създаването на заявка за избиране вж. раздела Вж. също.

  1. В раздела Създаване, в групата Други щракнете върху Проектиране на заявка.

  2. Затворете диалоговия прозорец Показване на таблица.

  3. В раздела Структура, в групата Изгледи щракнете върху Изглед, след което щракнете върху Режим SQL.

  4. В раздела SQL обект въведете или поставете следната SQL команда:

    TRANSFORM 
    SELECT
    FROM
    GROUP BY
    PIVOT
    ;
  5. На първия ред, след TRANSFORM, въведете израза, който да се използва, за да се изчислят обобщените стойности; например Sum([Количество]).

    Ако използвате повече от една таблица или заявка като източник на записи, включете името на таблицата или заявката като част от всяко име на поле; например Sum([Разход]. [Количество]).

  6. На втория ред, след SELECT въведете списъка с полета или изрази за полета, които искате да използвате за заглавията на редовете. Разделете елементите от списъка със запетаи; например [Бюджет].[ИД_отдел],[Разход].[Тип].

  7. На третия ред, след FROM въведете списъка с таблиците или заявките, които използвате като източници на записи, напр. Бюджет,Разход.

  8. На четвъртия ред, след GROUP BY въведете същия списък с полета, който използвахте в клаузата SELECT в стъпка 6.

  9. На петия ред, след PIVOT въведете името на полето (или израза), което искате да използвате за заглавията на колоните, напр. PIVOT[Бюджет].[Година].

За да добавите ред на сортиране към кръстосана заявка в SQL изглед, използвайте клауза ORDER BY.

  1. Вмъкнете ред между клаузата GROUP BY и клаузата PIVOT.

  2. На новия ред въведете ORDER BY, последвано от интервал.

  3. Въведете името на полето (или израза), по което искате да сортирате, напр. ORDER BY [Разход].[Клас_Разход]

    По подразбиране клаузата ORDER BY сортира стойностите във възходящ ред. Ако искате да сортирате в низходящ ред, въведете DESC след името на полето или израза.

  4. Ако искате да сортирате по допълнително поле или израз, въведете интервал и след това въведете името на допълнителното поле или израз. Сортирането става по реда, по който се появяват полета или изразите в клаузата ORDER BY.

  • В края на клаузата PIVOT в SQL изглед на вашата кръстосана заявка, въведете IN, последвано от списък (ограден в скоби) със стойности, разделени със запетая, които да се използват като заглавия на колони. Например IN (2007,2008,2009,2010) създава четири заглавия на колони: 2007, 2008, 2009, 2010.

Ако зададете фиксирана стойност, която не съответства на стойност на поле от обобщеното поле, тази фиксирана стойност става заглавие на колона за празна колона.

  1. Вмъкнете нов ред след клаузата FROM в SQL изглед на своята кръстосана заявка.

  2. Въведете WHERE, последвано от критерий за полето.

    Ако искате да използвате допълнителни критерии, можете да използвате операторите AND и OR, за да разширите своята клауза WHERE. Можете също да използвате скоби, за да групирате критериите в логически набори.

Понякога, вместо да използвате всяка стойност на поле за заглавията на редовете или колоните, искате да групирате стойностите на поле в обхвати и след това да използвате тези обхвати за заглавията на редовете или колоните. Да предположим например, че използвате поле "Възраст" за заглавия на колоните. Вместо да използвате по една колона за всяка възраст, можете да предпочетете да използвате колони, които представят възрастови групи.

Можете да използвате функцията IIf в израз, за да създадете обхвати, които да използвате за заглавия на редове или колони.

Съвет: Ако искате да създадете интервали с поле от тип "Дата/час", можете да използвате съветника за кръстосани заявки. Съветникът ви позволява да групирате дати в интервали Година, Тримесечие, Месец, Дата или Дата/час. Ако никой от тези интервали не е подходящ за вас, трябва да създадете ваша кръстосана заявка в изглед за проектиране и след това да използвате метода, описан в този раздел, за да създадете желаните интервали.

  1. Отворете кръстосаната заявка в изглед за проектиране.

  2. В мрежата на заявката за проектиране, в реда Поле щракнете с десния бутон върху празна колона и след това щракнете върху Мащабиране в контекстното меню.

  3. В полето Мащабиране въведете псевдоним на полето, последван от двоеточие (:).

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

  5. В скобите след IIf въведете израз за сравнение, който дефинира първия диапазон от стойности на полета.

    Нека например да създавате обхвати за поле "Възраст" и искате всеки обхват да бъде от 20 години. Изразът за сравнение за първия обхват е [Възраст]<21.

  6. Въведете запетая след израза за сравнение и след това въведете име за обхвата в кавички. Името, което въведете, е заглавието за кръстосаната заявка за стойностите, които попадат в обхвата.

    Например след [Възраст]<21 въведете запетая и след това въведете "0 – 20 години".

  7. Въведете запетая след името на обхвата (извън кавичките) и след това направете едно от следните неща:

    • За да създадете друг обхват, въведете IIf() и след това повторете стъпки 5, 6 и 7.

    • За последния обхват въведете само име за обхвата.

      Например един завърши вложен израз IIf, който разделя поле "Възраст" на обхвати от 20 години, може да изглежда така (за по-лесно четене са добавени нови редове):

      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 даде като резултат True. Не трябва да задавате долна граница на всеки обхват, защото всяка стойност, която попадне под долната граница на даден обхват, вече ще даде като резултат True.

  8. В мрежата на заявката за проектиране, в реда Общо изберете Групиране по.

  9. В реда Кръстосана задайте дали ще използвате обхватите като заглавия на редове или заглавия на колони. Запомнете, че можете да зададете от едно до три заглавия на редове и едно заглавие на колони.

Може да искате вашата кръстосана заявка да подканва за въвеждане на данни, когато се изпълни. Нека например да използвате няколко заглавия на редове, едно от които е "Страна/регион". Вместо винаги да показвате данни за всяка страна или регион, може да искате вашата заявка да подканва за въвеждане на име и след това да показва данните в зависимост от въведеното.

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

Забележка: Можете също да добавите подканване за параметър към поле за заглавие на колона, но това няма да ограничи колоните, които се показват.

  1. Отворете кръстосаната заявка в изглед за проектиране.

  2. В реда Критерии за полето за заглавия на редове, за което искате да подканвате потребителя да въвежда данни, въведете текст на въпрос, поставен в квадратни скоби. Текстът на въпроса ще се появи като подканване, когато заявката се изпълнява.

    Ако например въведете [Коя страна или регион?] в реда Критерии, когато заявката се изпълнява, се показва диалогов прозорец, съдържащ въпроса "Коя страна или регион? ", поле за въвеждане и бутон OK.

    Съвет: Ако искате вашият параметър да бъде гъвкав, включете във вашия израз заместващи символи с помощта на оператора Like. Например вместо да използвате [Коя страна или регион?] като критерий, можете да използвате Like [Коя страна или регион?]&"*", за да съответства параметърът на по-голям диапазон от входни данни. Използването на Like не променя облика на подканването за параметър.

  3. В раздела Структура, в групата Покажи/скрий щракнете върху Параметри.

  4. В диалоговия прозорец Параметри на заявката, в колоната Параметри въведете същото подканване за параметър, което използвахте в реда Критерии. Включете квадратните скоби, но не включвайте заместващи символи или оператора Like.

  5. В колоната Тип на данните изберете типа на данните за параметъра. Типът на данните трябва да съответства на типа на данните на полето за заглавия на редове.

Ако полето, което използвате за изчисляване на обобщени стойности във вашата кръстосана заявка, съдържа стойности Null, тези стойности се игнорират от всяка използвана агрегатна функция. За някои агрегатни функции това може да се отрази на резултатите. Например, за да изчислите средна стойност, трябва да съберете всички стойности и да разделите резултата на броя на стойностите. Но ако полето съдържа стойности Null, тези стойности не се броят в общия брой стойности.

В някои случаи може да предпочитате да заместите всяка стойност Null с нула, така че стойностите да се броят при изчислението на сумите. За да заместите стойностите Null с нули, можете да използвате функцията Nz.

Синтаксис на Nz

Nz ( променлива_от_тип_Variant [, стойност_при_Null ] )

Синтаксисът на функцията Nz използва следните аргументи:

Аргумент

Описание

променлива_от_тип_Variant

Задължителен. Променлива от тип данни Variant.

стойност_при_Null

Незадължителен (освен когато се използва в заявка). Стойност от тип Variant, съдържаща стойността, която трябва да бъде върната, ако аргументът променлива_от_тип_Variant е Null. Този аргумент ви позволява да върнете стойност, различна от нула или от низ с нулева дължина.

Забележка: Ако използвате функцията Nz в израз в заявка, без да използвате аргумента стойност_при_Null, резултатът ще бъде низ с нулева дължина в полетата, съдържащи стойности Null.

  1. Отворете заявката в изглед за проектиране и в мрежата на заявката за проектиране щракнете с десния бутон върху полето Стойност.

  2. В контекстното меню щракнете върху Мащабиране.

  3. В полето Мащабиране заградете името на полето или израза със скоби и след това въведете Nz пред скобите.

  4. Въведете , 0 вътре до дясната скоба.

    Ако например използвате Nz с поле, наречено "Загубени часове", за да преобразувате стойностите Null в нули, вашият израз ще изглежда така:

Nz([Hours Lost], 0)

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

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

  • Изберете внимателно полето за заглавия на колони    Листовете с данни от кръстосани заявки обикновено са по-лесни за четене, когато броят на заглавията на колони остава относително малък. След като сте идентифицирали полетата, които искате да използвате като заглавия, обсъдете използването на полето, което има най-малко различни стойности, за да създадете заглавия на колони. Ако например вашата заявка изчислява стойност на базата на "Възраст" и "Пол", добре е да използвате "Пол" за заглавия на колоните вместо "Възраст", защото "Пол" има по-малко възможни стойности от "Възраст".

  • Можете да използвате подзаявка в клаузата WHERE    Можете да използвате подзаявка като част от клаузата WHERE в кръстосана заявка.

Най-горе на страницата

Вж. също

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

Съединяване на таблици и заявки

Разширете уменията си
Преглед на обучението
Получавайте първи новите функции
Присъединете се към участниците в Office Insider

Беше ли полезна тази информация?

Благодарим ви за обратната връзка!

Благодарим ви за вашата обратна връзка. Изглежда, че ще бъде полезно да ви свържем с един от нашите агенти по поддръжката на Office.

×