powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перекрёстный запрос по часам и дням
25 сообщений из 31, страница 1 из 2
Перекрёстный запрос по часам и дням
    #39683361
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток, уважаемые форумчане! Встала задача сделать выборку из базы, чтобы было видно, насколько интенсивно, в какое время суток в течение года идут заказы. Выход я нашел такой: сделать перекрёстный запрос, в строках которого часы (от 0-23), а в столбцах день года (от 1-365). Реализовал я это таким запросом:
Код: sql
1.
2.
3.
4.
5.
6.
TRANSFORM Count (public_TS_Orders.ID) AS [Count-ID]
SELECT DISTINCT DATEPART ("h",public_TS_Orders.DeliveryTime) as 123
FROM public_TS_Orders
GROUP BY public_TS_Orders.DeliveryTime
ORDER BY public_TS_Orders.DeliveryTime, public_TS_Orders.DeliveryTime
PIVOT DatePart("y",public_TS_Orders.DeliveryTime);



В результате, по дням шкала правильная, а вот часы, дойдя до 23, начинаются снова с нуля. В общем, для наглядность прикладываю картинку.
Ткните пожалуйста носом, где я ошибся. Уже два дня гугл мучаю... Спасибо!
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683363
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasEnsoВстала задача сделать выборку из базы, чтобы было видно, насколько интенсивно, в какое время суток в течение года идут заказы.

Ну и что там будет видно? Глаза разбегутся в разные стороны искать максимумы и минимумы...
Есть время заказа, это один запрос с группировкой по часам, суммой по количеству заказов и отсортировать сумму заказов по убыванию или возрастанию, соответственно вверху будут продуктивные часы, внизу никакие, ну или наоборот...
У меня многие этим отчетом пользуются, некоторые магазины меняют график работы, в пик открывают дополнительную кассу и т.д.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683384
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vmagStasEnsoВстала задача сделать выборку из базы, чтобы было видно, насколько интенсивно, в какое время суток в течение года идут заказы.

Ну и что там будет видно? Глаза разбегутся в разные стороны искать максимумы и минимумы...
Есть время заказа, это один запрос с группировкой по часам, суммой по количеству заказов и отсортировать сумму заказов по убыванию или возрастанию, соответственно вверху будут продуктивные часы, внизу никакие, ну или наоборот...
У меня многие этим отчетом пользуются, некоторые магазины меняют график работы, в пик открывают дополнительную кассу и т.д.

Спасибо за ответ. Тут большую роль играет сезонный фактор. Да что там! Даже дождь удваивает заказы. Аналитика тут тоньше, чем просто пиковые значения, а то что я делаю сейчас - лишь заготовка для дальнейшей обработки. На ваш вопрос отвечу - чтобы глазам не разбегаться, достаточно сделать грвлиентную подсветку. Например от красного к зелёному, в зависимости от нагрузки. Я надеюсь, что в полной мере ответил на ваш вопрос. Ответьте и вы на мой. Спасибо!
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683388
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnso,
попробуйте так
Код: sql
1.
2.
3.
4.
5.
6.
7.
TRANSFORM Count(t1.ID) AS [Count-ID]
SELECT t1.yday
FROM (SELECT public_TS_Orders.ID, DATEPART("y",public_TS_Orders.DeliveryTime) AS yday, DATEPART("h",public_TS_Orders.DeliveryTime) AS hday
FROM public_TS_Orders) AS t1
GROUP BY t1.yday
ORDER BY t1.yday
PIVOT t1.hday;
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683408
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StasEnso
В результате, по дням шкала правильная, а вот часы, дойдя до 23, начинаются снова с нуля!Но ведь так и должно быть.(23:59:59+1 сек=00:00:00).Если очень хоча напишите в заголовки строк:IIF([полеТакое-то]=24часам;0;[полеТакое-то])
(в выражении разберитесь с форматами)
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683699
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sdku, возможно я неправильно выразился. Форматы меня вполне устраивают. Не устраивает, что таблица не ограничивается 24 часами, а идёт дальше вниз. Задумка в том, чтобы выстроить год по горизонтали от 1 до 365 дней, а по вертикали часы каждый суток.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683799
Попробуйте группировать по DATEPART("h",public_TS_Orders.DeliveryTime) и убрать DISTINCT (впервые вижу такое в перекрестном запросе).
ЗЫ. Логичнее и удобнее получить дни по вертикали и часы по горизонтали.
ЗЗЫ. Значение часов проще получить функцией HUUR()сибо![/quot]
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683858
Фотография sdku
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам необходимо:
1. Решить 0:30 это 0 часов или 1 час
2. Создать выражение типа:
IIF(format(полеСполнымФорматомДаты;"hh:nn")<"00:31";0;format(полеСполнымФорматомДаты;"hh:nn")<"01:31";1;format(полеСполнымФорматомДаты;"hh:nn")<"02:31";2......))) (не помню сколько вложений допускает IIF если чё конкатенация -в VBA попроще будет)
3.Это выражение(поле)использовать в качестве заголовков строк(столбцов-как решите)
4.Возможно использование параметров для отбора по годам и/или месяцам (функции Year,Month)
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683970
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как всегда, помог отказ от конструктора запросов (который только с толку сбивает) и построение запроса "ручками". Обошёлся без вложенных запросов и прочих сравнений, условий и выражений. Если кому понадобится - берите, не жалко:) Всем спасибо за помощь!
Код: sql
1.
2.
3.
4.
5.
TRANSFORM count (public_TS_Orders.ID)
SELECT DISTINCT DATEPART ("h",public_TS_Orders.DeliveryTime)
FROM public_TS_Orders
GROUP BY DATEPART ("h",public_TS_Orders.DeliveryTime)
PIVOT DATEPART ("Y",public_TS_Orders.DeliveryTime);


И результат:
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683974
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnsoЕсли кому понадобится - берите, не жалко:)
Не хочу тебя огорчать, но наврядли понадобится...
1. Distinct , в твоем случае, здесь совершенно не нужен, как тебе правильно заметил Анатолий ( при Group By - это как "масло масляное")
2. см. картинку
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39683978
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnso,
Ну, и так, для интереса - как ОНО у тебя заработать могло в связи с этим?
Access specifications
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684552
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkon, у вас в шапке формат Access 2010, у меня - 2007-2016. Возможно в этом разница. Про DISTINCT - спасибо, убрал.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684553
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkon, виноват, 2000, а не 2010.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684572
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnsozimkon, у вас в шапке формат Access 2010, у меня - 2007-2016. Возможно в этом разница. Про DISTINCT - спасибо, убрал.
Вот здесь 21632203 я привел ограничения и для твоего формата.
В частности, как ОНО может у тебя работать, если
"Applies To: Access for Office 365, Access 2016, Access 2013, Access 2010, Access 2007
...
Query
...

Number of fields in a recordset

255
..." ???
Очень и очень мне сомнительно ... Или что-то ты не договариваешь (В частности, ты пишешь - "у меня - 2007-2016". Такого, я думаю, в принципе быть указано не может - слишком разные в этом диапазоне форматы, что-то одно, либо 2007, либо 2016)
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684791
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkon, один вопрос к вам. Всего один. Какой по-вашему может быть мой мотив, чтобы рисовать километровую таблицу и всех обманывать? Вот зачем мне это? Не игнорируйте этот вопрос пожалуйста, ответьте мне на него. А на ваш отвечу картинкой:
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684795
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkon, как видите, формат или поколение формата 2000, которым вы пользуетесь, является даже не предыдущим...
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684802
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnso,
Я не утверждал , я выразил лишь сомнения, т.к. знаю , что БД 2007 формата , например, существенно может отличаться от 2016-го, у меня нет возможности проверить всё, о чём я выразил сомнения (т.к. нет акса 2016-го). Но я думаю, что и Microsoft нет надобности вводить пользователей в заблуждение в том, что они написали в Access specifications для этих версий. Если я всё-же заблуждаюсь, то пусть меня поправят те, кто имеет возможность проверить ваш запрос в 2016 аксе. (И в случае успеха (столбцов может быть больше 255 в запросе) мы будем знать, что пи...т Microsoft в своей статье (что было бы нонсенсом).
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684819
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnso,
И потом , по-моему, не надо путать формат файла (mdb, accdb) и формат базы данных. Следовало бы сделать скрин основного окна БД (как было сделано на скрине у меня, я пользовался для своего примера аксом 2003, а у него формат БД по-умолчанию стоит 2000), что впрочем не умаляет тех сомнений, которые были мной высказаны ранее.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684822
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkon, я и есть тот, кто запустил на Access 2016, чем вам моя проверка не нравится? По поводу самой базы, она на PostgreSQL построена, Access я через ODBC к ней подключил.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684831
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnsozimkon, я и есть тот, кто запустил на Access 2016, чем вам моя проверка не нравится? По поводу самой базы, она на PostgreSQL построена, Access я через ODBC к ней подключил.
Так что-же ты мозги людям морочишь - "база Access, база Access..." Нет у тебя никакой базы Access, а есть оболочка для работы со сторонней СУБД. Мозгокрут. Знал бы, даже отвечать бы не начинал (что, наверное, и выполню - "забью" впредь на излишнюю отзывчивость, а то как в той истории - сам же ещё виноват окажешься).
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684855
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkonStasEnsozimkon, я и есть тот, кто запустил на Access 2016, чем вам моя проверка не нравится? По поводу самой базы, она на PostgreSQL построена, Access я через ODBC к ней подключил.
Так что-же ты мозги людям морочишь - "база Access, база Access..." Нет у тебя никакой базы Access, а есть оболочка для работы со сторонней СУБД. Мозгокрут. Знал бы, даже отвечать бы не начинал (что, наверное, и выполню - "забью" впредь на излишнюю отзывчивость, а то как в той истории - сам же ещё виноват окажешься).

По-моему, вы сами себе голову морочите т.к. не хотите проверить свою базу на access 2016, а путаете и себя и людей. Сегодня уже времени нет, а завтра сгенерю аналогичную базу в самом Access и сделаю запрос. Не для вас, а для людей, которых вы путаете.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684862
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnso,
Валяй пионэр, покажи всем, как "яйца курицу учат". Пример к форуму приложить не забудь (для людей)
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684875
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkon, пожалуйста, соблюдайте культуру спора. Невежливо себя ведёте вы, а тень падает на весь форум. И по спецификации, что вы дали, тоже не всё так однозначно:
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39684897
zimkon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
StasEnso,
Спорить с тобой - много чести для тебя. Держи пример, надеюсь разберешься , как в 2016 формат преобразовать.
...
Рейтинг: 0 / 0
Перекрёстный запрос по часам и дням
    #39685102
StasEnso
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zimkonStasEnso,
Спорить с тобой - много чести для тебя. Держи пример, надеюсь разберешься , как в 2016 формат преобразовать.
Да я в общем-то и не навязывался, сказал всем спасибо и ушёл. В прочем, мне уже стало любопытно и я тут немного задержусь;)
Кстати, зачем мне эти преобразования? Я разве о чем-то просил?
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Перекрёстный запрос по часам и дням
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]