MS Access 03 Query Criteras - PullRequest
       4

MS Access 03 Query Criteras

0 голосов
/ 13 июля 2010

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

UNITS, 
REVENUE,
AVG REV/UNIT

Как мне создать запрос, который отфильтрует отчет, чтобы показать только учетные записи, в которых есть строка UNITSувеличился / уменьшился на 25%, а AVG REV / UNIT увеличился / уменьшился на 10% по сравнению с предыдущим месяцем.

В качестве примера можно привести числа июня, в которых у меня есть цифры ....

            JUN
UNITS       3,271
Revenue     $3,598.10
Avg R/U     $1.08

Поэтому, когда я запускаю отчет в конце июля, мне нужны только те учетные записи, которые имеютРазница в 25% в ЕДИНИЦАХ и / или 10% в AVG REV / UNIT для отображения в отчете.

qryPharmacy
SELECT PHAR_REPORT.*, (IIf(u1 Is Null,0,u1)+IIf(u2 Is Null,0,u2)+IIf(u3 Is Null,0,u3)+IIf(u4 Is Null,0,u4)+IIf(u5 Is Null,0,u5)+IIf(u6 Is Null,0,u6)+IIf(u7 Is Null,0,u7)+IIf(u8 Is Null,0,u8)+IIf(u9 Is Null,0,u9)+IIf(u10 Is Null,0,u10)+IIf(u11 Is Null,0,u11)+IIf(u12 Is Null,0,u12)) AS USUM, (IIf(r1 Is Null,0,r1)+IIf(r2 Is Null,0,r2)+IIf(r3 Is Null,0,r3)+IIf(r4 Is Null,0,r4)+IIf(r5 Is Null,0,r5)+IIf(r6 Is Null,0,r6)+IIf(r7 Is Null,0,r7)+IIf(r8 Is Null,0,r8)+IIf(r9 Is Null,0,r9)+IIf(r10 Is Null,0,r10)+IIf(r11 Is Null,0,r11)+IIf(r12 Is Null,0,r12)) AS RSUM, RMonth.*, PG2.*, PG.pGroup
FROM PHAR_REPORT, RMonth, PG2, PG
WHERE (((PHAR_REPORT.PR) Like ([PCODE] & '*')) And ((PG.pID)=PG2.PID))
ORDER BY PG2.pID, PHAR_REPORT.PR;

1 Ответ

0 голосов
/ 14 февраля 2011

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

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

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

...