|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
Доброго времени суток, уважаемые форумчане! Встала задача сделать выборку из базы, чтобы было видно, насколько интенсивно, в какое время суток в течение года идут заказы. Выход я нашел такой: сделать перекрёстный запрос, в строках которого часы (от 0-23), а в столбцах день года (от 1-365). Реализовал я это таким запросом: Код: sql 1. 2. 3. 4. 5. 6.
В результате, по дням шкала правильная, а вот часы, дойдя до 23, начинаются снова с нуля. В общем, для наглядность прикладываю картинку. Ткните пожалуйста носом, где я ошибся. Уже два дня гугл мучаю... Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2018, 22:46 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnsoВстала задача сделать выборку из базы, чтобы было видно, насколько интенсивно, в какое время суток в течение года идут заказы. Ну и что там будет видно? Глаза разбегутся в разные стороны искать максимумы и минимумы... Есть время заказа, это один запрос с группировкой по часам, суммой по количеству заказов и отсортировать сумму заказов по убыванию или возрастанию, соответственно вверху будут продуктивные часы, внизу никакие, ну или наоборот... У меня многие этим отчетом пользуются, некоторые магазины меняют график работы, в пик открывают дополнительную кассу и т.д. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.08.2018, 23:29 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
vmagStasEnsoВстала задача сделать выборку из базы, чтобы было видно, насколько интенсивно, в какое время суток в течение года идут заказы. Ну и что там будет видно? Глаза разбегутся в разные стороны искать максимумы и минимумы... Есть время заказа, это один запрос с группировкой по часам, суммой по количеству заказов и отсортировать сумму заказов по убыванию или возрастанию, соответственно вверху будут продуктивные часы, внизу никакие, ну или наоборот... У меня многие этим отчетом пользуются, некоторые магазины меняют график работы, в пик открывают дополнительную кассу и т.д. Спасибо за ответ. Тут большую роль играет сезонный фактор. Да что там! Даже дождь удваивает заказы. Аналитика тут тоньше, чем просто пиковые значения, а то что я делаю сейчас - лишь заготовка для дальнейшей обработки. На ваш вопрос отвечу - чтобы глазам не разбегаться, достаточно сделать грвлиентную подсветку. Например от красного к зелёному, в зависимости от нагрузки. Я надеюсь, что в полной мере ответил на ваш вопрос. Ответьте и вы на мой. Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2018, 00:54 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnso, попробуйте так Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2018, 02:33 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnso В результате, по дням шкала правильная, а вот часы, дойдя до 23, начинаются снова с нуля!Но ведь так и должно быть.(23:59:59+1 сек=00:00:00).Если очень хоча напишите в заголовки строк:IIF([полеТакое-то]=24часам;0;[полеТакое-то]) (в выражении разберитесь с форматами) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.08.2018, 10:46 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
sdku, возможно я неправильно выразился. Форматы меня вполне устраивают. Не устраивает, что таблица не ограничивается 24 часами, а идёт дальше вниз. Задумка в том, чтобы выстроить год по горизонтали от 1 до 365 дней, а по вертикали часы каждый суток. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 13:11 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
Попробуйте группировать по DATEPART("h",public_TS_Orders.DeliveryTime) и убрать DISTINCT (впервые вижу такое в перекрестном запросе). ЗЫ. Логичнее и удобнее получить дни по вертикали и часы по горизонтали. ЗЗЫ. Значение часов проще получить функцией HUUR()сибо![/quot] ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 16:05 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
Вам необходимо: 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) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 17:27 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
Как всегда, помог отказ от конструктора запросов (который только с толку сбивает) и построение запроса "ручками". Обошёлся без вложенных запросов и прочих сравнений, условий и выражений. Если кому понадобится - берите, не жалко:) Всем спасибо за помощь! Код: sql 1. 2. 3. 4. 5.
И результат: ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 20:42 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnsoЕсли кому понадобится - берите, не жалко:) Не хочу тебя огорчать, но наврядли понадобится... 1. Distinct , в твоем случае, здесь совершенно не нужен, как тебе правильно заметил Анатолий ( при Group By - это как "масло масляное") 2. см. картинку ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 21:12 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnso, Ну, и так, для интереса - как ОНО у тебя заработать могло в связи с этим? Access specifications ... |
|||
:
Нравится:
Не нравится:
|
|||
06.08.2018, 21:46 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkon, у вас в шапке формат Access 2010, у меня - 2007-2016. Возможно в этом разница. Про DISTINCT - спасибо, убрал. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 01:28 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkon, виноват, 2000, а не 2010. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 01:29 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
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) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 07:04 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkon, один вопрос к вам. Всего один. Какой по-вашему может быть мой мотив, чтобы рисовать километровую таблицу и всех обманывать? Вот зачем мне это? Не игнорируйте этот вопрос пожалуйста, ответьте мне на него. А на ваш отвечу картинкой: ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 13:09 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkon, как видите, формат или поколение формата 2000, которым вы пользуетесь, является даже не предыдущим... ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 13:15 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnso, Я не утверждал , я выразил лишь сомнения, т.к. знаю , что БД 2007 формата , например, существенно может отличаться от 2016-го, у меня нет возможности проверить всё, о чём я выразил сомнения (т.к. нет акса 2016-го). Но я думаю, что и Microsoft нет надобности вводить пользователей в заблуждение в том, что они написали в Access specifications для этих версий. Если я всё-же заблуждаюсь, то пусть меня поправят те, кто имеет возможность проверить ваш запрос в 2016 аксе. (И в случае успеха (столбцов может быть больше 255 в запросе) мы будем знать, что пи...т Microsoft в своей статье (что было бы нонсенсом). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 13:32 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnso, И потом , по-моему, не надо путать формат файла (mdb, accdb) и формат базы данных. Следовало бы сделать скрин основного окна БД (как было сделано на скрине у меня, я пользовался для своего примера аксом 2003, а у него формат БД по-умолчанию стоит 2000), что впрочем не умаляет тех сомнений, которые были мной высказаны ранее. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:01 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkon, я и есть тот, кто запустил на Access 2016, чем вам моя проверка не нравится? По поводу самой базы, она на PostgreSQL построена, Access я через ODBC к ней подключил. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:05 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnsozimkon, я и есть тот, кто запустил на Access 2016, чем вам моя проверка не нравится? По поводу самой базы, она на PostgreSQL построена, Access я через ODBC к ней подключил. Так что-же ты мозги людям морочишь - "база Access, база Access..." Нет у тебя никакой базы Access, а есть оболочка для работы со сторонней СУБД. Мозгокрут. Знал бы, даже отвечать бы не начинал (что, наверное, и выполню - "забью" впредь на излишнюю отзывчивость, а то как в той истории - сам же ещё виноват окажешься). ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:20 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkonStasEnsozimkon, я и есть тот, кто запустил на Access 2016, чем вам моя проверка не нравится? По поводу самой базы, она на PostgreSQL построена, Access я через ODBC к ней подключил. Так что-же ты мозги людям морочишь - "база Access, база Access..." Нет у тебя никакой базы Access, а есть оболочка для работы со сторонней СУБД. Мозгокрут. Знал бы, даже отвечать бы не начинал (что, наверное, и выполню - "забью" впредь на излишнюю отзывчивость, а то как в той истории - сам же ещё виноват окажешься). По-моему, вы сами себе голову морочите т.к. не хотите проверить свою базу на access 2016, а путаете и себя и людей. Сегодня уже времени нет, а завтра сгенерю аналогичную базу в самом Access и сделаю запрос. Не для вас, а для людей, которых вы путаете. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:57 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnso, Валяй пионэр, покажи всем, как "яйца курицу учат". Пример к форуму приложить не забудь (для людей) ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 15:02 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkon, пожалуйста, соблюдайте культуру спора. Невежливо себя ведёте вы, а тень падает на весь форум. И по спецификации, что вы дали, тоже не всё так однозначно: ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 15:18 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
StasEnso, Спорить с тобой - много чести для тебя. Держи пример, надеюсь разберешься , как в 2016 формат преобразовать. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 15:53 |
|
Перекрёстный запрос по часам и дням
|
|||
---|---|---|---|
#18+
zimkonStasEnso, Спорить с тобой - много чести для тебя. Держи пример, надеюсь разберешься , как в 2016 формат преобразовать. Да я в общем-то и не навязывался, сказал всем спасибо и ушёл. В прочем, мне уже стало любопытно и я тут немного задержусь;) Кстати, зачем мне эти преобразования? Я разве о чем-то просил? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 22:18 |
|
|
start [/forum/topic.php?fid=45&fpage=46&tid=1611257]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
71ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 420ms |
total: | 588ms |
0 / 0 |