Вход | Регистрация


группировка по периоду 5 минут в запросе 1с 8

группировка по периоду 5 минут в запросе 1с 8
Я
   DmitriyDI
 
26.09.18 - 16:30
Добрый день!
Как сделать группировку по периоду 5 минут в запросе?
НАЧАЛОПЕРИОДА(ИсторияТоргов.Дата, МИНУТА) - так сделать по минуте, а вот как 5 не могу догадаться((
 
 
   s03
 
1 - 26.09.18 - 16:32
как вариант вытащить отдельное поле с минутами, кратными 5 (рассчитывать это поле в запросе) и уже по нему делать группировку
   Гипервизор
 
2 - 26.09.18 - 16:32
Разбить на интервалы
   DmitriyDI
 
3 - 26.09.18 - 16:34
(1) Что-то вроде 
ВЫБОР КОГДА МИНУТА(ИсторияТоргов.Дата) / 5 = 1
Тогда первая5минутка
КОГДА МИНУТА(ИсторияТоргов.Дата) / 5 = 2 Тогда
Вторая5минутка 

и т.д. ..
   DmitriyDI
 
4 - 26.09.18 - 16:38
Спасибо, получилось вот так:
ВЫБРАТЬ
    МИНИМУМ(НАЧАЛОПЕРИОДА(Цены.Дата, МИНУТА)) КАК ПериодМинута,
    ВЫБОР
        КОГДА МИНУТА(Цены.Дата) / 5 = 1
            ТОГДА 1
        КОГДА МИНУТА(Цены.Дата) / 5 = 2
            ТОГДА 2
        КОГДА МИНУТА(Цены.Дата) / 5 = 3
            ТОГДА 3
        КОГДА МИНУТА(Цены.Дата) / 5 = 4
            ТОГДА 4
        КОГДА МИНУТА(Цены.Дата) / 5 = 5
            ТОГДА 5
        КОГДА МИНУТА(Цены.Дата) / 5 = 6
            ТОГДА 6
        КОГДА МИНУТА(Цены.Дата) / 5 = 7
            ТОГДА 7
        КОГДА МИНУТА(Цены.Дата) / 5 = 8
            ТОГДА 8
        КОГДА МИНУТА(Цены.Дата) / 5 = 9
            ТОГДА 9
        КОГДА МИНУТА(Цены.Дата) / 5 = 10
            ТОГДА 10
        КОГДА МИНУТА(Цены.Дата) / 5 = 11
            ТОГДА 11
        КОГДА МИНУТА(Цены.Дата) / 5 = 12
            ТОГДА 12
    КОНЕЦ КАК Поле1
ИЗ
    РегистрСведений.Цены КАК Цены
ГДЕ
    Цены.Дата >= &Дата

СГРУППИРОВАТЬ ПО
    ВЫБОР
        КОГДА МИНУТА(Цены.Дата) / 5 = 1
            ТОГДА 1
        КОГДА МИНУТА(Цены.Дата) / 5 = 2
            ТОГДА 2
        КОГДА МИНУТА(Цены.Дата) / 5 = 3
            ТОГДА 3
        КОГДА МИНУТА(Цены.Дата) / 5 = 4
            ТОГДА 4
        КОГДА МИНУТА(Цены.Дата) / 5 = 5
            ТОГДА 5
        КОГДА МИНУТА(Цены.Дата) / 5 = 6
            ТОГДА 6
        КОГДА МИНУТА(Цены.Дата) / 5 = 7
            ТОГДА 7
        КОГДА МИНУТА(Цены.Дата) / 5 = 8
            ТОГДА 8
        КОГДА МИНУТА(Цены.Дата) / 5 = 9
            ТОГДА 9
        КОГДА МИНУТА(Цены.Дата) / 5 = 10
            ТОГДА 10
        КОГДА МИНУТА(Цены.Дата) / 5 = 11
            ТОГДА 11
        КОГДА МИНУТА(Цены.Дата) / 5 = 12
            ТОГДА 12
    КОНЕЦ

УПОРЯДОЧИТЬ ПО
    ПериодМинута
   DmitriyDI
 
5 - 26.09.18 - 16:39
(4) будет работать в пределах часа, надо еще по дате начало периода час сгруппировать и тогда будет работать всегда
   Михаил Козлов
 
6 - 26.09.18 - 16:55
(5) Не пробовали взять разность дат от Цена.Дата до начала дня, поделить на 5, выразить как целое и по нему сгруппировать?
   МихаилМ
 
7 - 26.09.18 - 16:58
поделите на колво мин интервалов , входящих в 5 минут и сгруппируйте.
   Ботаник Гарден Меран
 
8 - 26.09.18 - 17:03
ВЫБРАТЬ
    НАЧАЛОПЕРИОДА(АвансовыйОтчет.Дата, ЧАС) КАК Дата,
    ВЫРАЗИТЬ(МИНУТА(АвансовыйОтчет.Дата) /5 КАК ЧИСЛО(2, 0)) КАК НачалоПятиминутки,
    АвансовыйОтчет.Дата КАК Период,
    АвансовыйОтчет.Ссылка КАК Ссылка
ИЗ
    Документ.АвансовыйОтчет КАК АвансовыйОтчет
Где АвансовыйОтчет.Дата Между &НачалоПериода И &КонецПериода
СГРУППИРОВАТЬ ПО
    НАЧАЛОПЕРИОДА(АвансовыйОтчет.Дата, ЧАС),
    ВЫРАЗИТЬ(МИНУТА(АвансовыйОтчет.Дата) /5 КАК ЧИСЛО(2, 0)),
    АвансовыйОтчет.Дата,
    АвансовыйОтчет.Ссылка

УПОРЯДОЧИТЬ ПО
    Дата,
    НачалоПятиминутки,
    Ссылка
   Ботаник Гарден Меран
 
9 - 26.09.18 - 17:03
Только не НачалоПятиминутки, а НомерПятиминутки.
   DmitriyDI
 
10 - 26.09.18 - 17:14
(8) так еще лучше, спасибо!
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует