Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
Misteriya
Member

Откуда:
Сообщений: 8
sdku, Спасибо, что ответили)))) Да мне надо посчитать суммарную продажу с 1 по 5 число, со 2 по 6 число, с 3 по 7 число........ и т д. А потом посчитать какая суммарная продажа была минимальная.
19 авг 18, 18:04    [21647286]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
Misteriya
Member

Откуда:
Сообщений: 8
Разницы нет между минимальной, и максимальной......я попробовала как написал код Опоздавший......все получилось, но увы не получилось сделать это в конструкторе запросов. Вернее оно код перевело в вид конструктора.......но увы.....если его переводить так с нуля, оно не получается
19 авг 18, 18:08    [21647287]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
Misteriya
Member

Откуда:
Сообщений: 8
Tarasios, Спасибо, что ответили))))
19 авг 18, 18:10    [21647289]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
Misteriya
Member

Откуда:
Сообщений: 8
Очень надеюсь на вашу поддержку
19 авг 18, 18:14    [21647291]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5515
как-то так: из этой функции делаете процедуру и рекордсетом заполняете временную таблицу на которой запрос TOP 1 с прямой сортировкой по полю число (возникнет вопрос что делать если будет не одно min значение) и значение этого поля будет минимум за выбранный период (все это делается в одной процедуре VBA-единственное придется создать временную таблицу)
Function my(start As Date, finish As Date)
Dim counter, a, b
For counter = start To finish Step 5
a = Format(counter, "mm\/dd\/yy")
b = Format(counter + 4, "mm\/dd\/yy")
Debug.Print "c " & counter & " po " & counter + 4; Nz(DSum("chislo", "tbl", "myDate>=#" & a & "# and myDate<=#" & b & "#"), 0)
Next
End Function

?my(#7/20/18#,#8/30/18#)
c 20.07.2018 po 24.07.2018 2 
c 25.07.2018 po 29.07.2018 3 
c 30.07.2018 po 03.08.2018 0 
c 04.08.2018 po 08.08.2018 0 
c 09.08.2018 po 13.08.2018 11 
c 14.08.2018 po 18.08.2018 4 
c 19.08.2018 po 23.08.2018 5 
c 24.08.2018 po 28.08.2018 5 
c 29.08.2018 po 02.09.2018 6 
19 авг 18, 20:30    [21647346]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
Misteriya
Member

Откуда:
Сообщений: 8
sdku,
Спасибо, но увы мне надо сделать это в конструкторе запроса Access, не применяя элементов программирования
19 авг 18, 21:49    [21647398]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
Misteriya
Member

Откуда:
Сообщений: 8
Вот так я уже пробовала, но увы не смотря что оно переходит в режим конструктора, новый файл с использованием аналога не работает

SELECT TOP 1 T1.Дата AS Дата_начала, T1.Дата +4 AS Дата_окончания, Sum(T2.Продажа) AS Сумма
FROM Задание AS T1, Задание AS T2
WHERE T2.Дата Between T1.Дата AND T1.Дата +4
GROUP BY T1.Дата
HAVING Count(*)=5
ORDER BY 3 DESC
19 авг 18, 21:58    [21647400]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
sdku
Member

Откуда: Краснодар
Сообщений: 5515
Misteriya,
не знаю, можно ли Вашу "хотелку" выполнить в SQL (даже не задумывался,потому как сомневаюсь в такой возможности),вариант в VBA

К сообщению приложен файл (tmp.rar - 16Kb) cкачать
20 авг 18, 01:58    [21647491]     Ответить | Цитировать Сообщить модератору
 Re: Необходимо вычислить максимальную суммарную продажу за несколько подряд идущих дней  [new]
mds_world
Member

Откуда: Ташкент
Сообщений: 27501
Если дни без пропусков (в том числе на праздники и выходные) и скользящее среднее определяется за предшествующие дни, включая текущий, то запрос может быть таким
select max(z.mx) as МаксимумПродаж
from (select t1.ПолеДаты, 
     (select sum(Сумма) from Таблица t2 where t2.Дата between t1.Дата-4 and t1.Дата) AS mx
      from Таблица AS t1) z
20 авг 18, 02:19    [21647493]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Microsoft Access Ответить