|
|
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
Народ! Снова и снова наталкиваюсь на те же грабли: Эксцесс у нас предназначен для обработки "потоковых" данных, и если у нас есть, скажем, отгрузка товара на покупателя А, Б, В .... Я и есть таблица, сворачивающая их в группы (А, Ж, О - опт, Б, К, Г - розница и т.д.), то нет ничего проще создать отчет, где будет ВСЕГО: ГРУППА 1 пок-ль 1 пок-ль N Итого по группе: ГРУППА 2 и т. д. НО: часто возникает ситуация, когда нужно создать точно такой же отчет за предыдущий период (год), и СРАВНИТЬ его с текущей ситуацией. То есть отчет нужно модифицировать так: ВСЕГО 2003: ВСЕГО 2002: Отклонение (2003/2002), %: ГРУППА 1 пок-ль 1 2003: пок-ль 1 2002: Отклонение (2003/2002), %: ... Итого по группе 2003: Итого по группе 2002: Отклонение (2003/2002), %: ГРУППА 2 и т. д. И все бы ничего, но как "Отклонение (2003/2002), %:" посчитать?!.. Собрав в одну строку в запросе оба года (2 * 12 = 24 записи) и произведя по ним вычисления внутри каждого пок-ля? Только так? Отзовитесь, кудесники!.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 09:25 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
формулу Отклонения pls, т.е. как оно считается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 09:29 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
Так и считается: Отклонение = (сумма 2003 / сумма 2002) (сумма - по каждому пок-лю, каждой группе, Итого) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 12:20 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
ну дык в чем проблема? расставляешь группировки и вперед: ГРУППА 1 (в данных) пок-ль 1 2003: =Сумма2003 пок-ль 1 2002: =Сумма2002 Отклонение (2003/2002), %: =Сумма2003/Сумма2002 ... (в примечании группы) Итого по группе 2003: =sum(Сумма2003) Итого по группе 2002: =sum(Сумма2002) Отклонение (2003/2002), %: =sum(Сумма2002) / sum(Сумма2002) ГРУППА2 ... (в примечании отчета) Итого 2003: =sum(Сумма2003) Итого 2002: =sum(Сумма2002) Отклонение (2003/2002), %: =sum(Сумма2002) / sum(Сумма2002) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 12:40 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
Проблема в лени ;) Чтобы получить (2003) / (2002), нужно иметь запись вида пок-ль1 2002 2003 .... пок-льН 2002 2003 -вычислять-то только внутри одной записи можна... А исходные данные - нормаль: пок-ль год число Вывод: надо соединять два запроса... 24 поля помесячно... 8((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 15:57 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
нах%ер помесячно-то? тебе же надо по годам? поставь в запросе year(дата) и группируй по нему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.07.2003, 16:04 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
В том-то и "счастье", что помесячно. Хорошо, если начальство успокоится только на 2-ух годах... Вот и искал универсальный способ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 11:45 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
ты не понял.. sasha_1 тебе правильно говорит... если есть дата... то делать групировку помесячно или "погодно" без разницы.... month(поле_дата) или year(поле_дата) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 11:48 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
для такого "счастья" подойдет перекрестный запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2003, 11:50 |
|
||
|
Теоретический вопрос по логике
|
|||
|---|---|---|---|
|
#18+
Формы и отчеты Access позволяют использовать свободные поля. Ты помещаешь в отчет в области заголовок или примечание группы рядом с полями me!сумма1 и me!сумма2 свободное поле с именем PROC и процентным форматом данных. А в соответствующем событии Форматирование модуля отчета пишешь dim s as single s=0 on error resume next 'на случай если me!сумма2 пусто или 0 s=me!сумма1/me!сумма2 me!PROC =s формируется и просматривается отчет медленнее, но все просто и понятно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2003, 07:41 |
|
||
|
|

start [/forum/topic.php?fid=45&gotonew=1&tid=1680413]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
12ms |
get first new msg: |
9ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 240ms |
| total: | 419ms |

| 0 / 0 |
