|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
Прошу помощи в составлении. Есть следующая таблица: ObjectNameParametеrDateTimeObject1301.04.201908:00:00Object1801.04.201912:00:00Object1601.04.201917:00:00Object1401.04.201921:00:00Object11002.04.201908:00:00 Хочу запросом вычислить среднюю величину Parametеr, за период (в данном случае сутки) причём промежутки времени не равны. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 10:08 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
vizit73, Код: vbnet 1.
не обзывайте поля зарезервированными словами (Date) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 10:50 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
vizit73, а результат где? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 11:24 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
vizit73, в моём запросе я не учёл оставшиеся 3 часа до завершения суток. Тут следует подумать... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 11:33 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
ПанургТут следует подумать...сейчас некогда ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 11:37 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
Схема решения. 1) Объединяем дату и время в одно значение даты-времени. 2) Используя две копии таблицы, получаем данные в формате Объект-Значение-ДатаВремя-СледующиеДатаВремя При этом если СледующиеДатаВремя выскакивают за границу суток, то заменяем на 24:00 текущих суток. 3) Считаем SUM(Значение * (СледующиеДатаВремя - ДатаВремя)) / SUM(СледующиеДатаВремя - ДатаВремя) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 11:43 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
В виде отдельных запросов (требует проверки/отладки): Query1 Код: sql 1. 2. 3. 4.
Query2 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Query3 Код: sql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 11:56 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
Панургvizit73, а результат где? 6,416667 если считать, как в файле Excel сделал Но есть формула Средняя хронологическая , там иначе. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 12:07 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
sdkuvizit73, Код: vbnet 1.
не обзывайте поля зарезервированными словами (Date) Ок, это я по быстрому пример хотел сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 12:08 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
vizit73Но есть формула Средняя хронологическая , там иначе.Это называется средневзвешенное значение ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 12:15 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
AkinaСхема решения. 1) Объединяем дату и время в одно значение даты-времени. .... Объект-Значение-ДатаВремя-СледующиеДатаВремя При этом если СледующиеДатаВремя выскакивают за границу суток, то заменяем на 24:00 текущих суток. ....Че-то не понятно следующее:если поле "time"типа "краткий формат времени" как туда ввести неправильное (<0 или >=24) и объединив его с датой получить "СледующиеДатаВремя выскакивающие за границу суток" (разве что "time" текст-что,по-моему, не правильно т.к.ведет к ошибкам-с временем,в данном случае, надо работать как со временем,а не текстом) ... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 12:22 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
vizit73, как-то так... Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.04.2019, 12:51 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
sdkuЧе-то не понятно следующее:если поле "time"типа "краткий формат времени" как туда ввести неправильное (<0 или >=24) и объединив его с датой получить "СледующиеДатаВремя выскакивающие за границу суток"Ну дык у него ж ещё и поле даты... а при вычислениях надо использовать полную дату. См. две последние записи примера данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2019, 07:58 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
Сделал таким образом. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
А вот как быть если одно значение Parameter равно NULL? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.05.2019, 20:48 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
vizit73Прошу помощи в составлении. Есть следующая таблица: ObjectNameParametеrDateTimeObject1301.04.201908:00:00Object1801.04.201912:00:00Object1601.04.201917:00:00Object1401.04.201921:00:00Object11002.04.201908:00:00 Хочу запросом вычислить среднюю величину Parametеr, за период (в данном случае сутки) причём промежутки времени не равны. Хотеть - не вредно. Но, чтобы что-то там "вычислить" надо огласить как значение Parametеr и интервал времени соотносятся. 1. Если Parametеr измерен в МОМЕНТ времени Time, то Код: sql 1.
и никак ты интервалов не учтешь. Ибо невозможно. 2. Если Parametеr измерен с МОМЕНТа времени Time до следующего МОМЕНТа времени Time Код: sql 1.
если интервал усреденения сутки Код: sql 1.
причем для разницы времени и длительности суток надо выбрать в чем измерять: в часах, минутах или наносекундах. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2019, 06:24 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
aleks222vizit73Прошу помощи в составлении. Есть следующая таблица: ObjectNameParametеrDateTimeObject1301.04.201908:00:00Object1801.04.201912:00:00Object1601.04.201917:00:00Object1401.04.201921:00:00Object11002.04.201908:00:00 Хочу запросом вычислить среднюю величину Parametеr, за период (в данном случае сутки) причём промежутки времени не равны. Хотеть - не вредно. Но, чтобы что-то там "вычислить" надо огласить как значение Parametеr и интервал времени соотносятся. 1. Если Parametеr измерен в МОМЕНТ времени Time, то Код: sql 1.
и никак ты интервалов не учтешь. Ибо невозможно. 2. Если Parametеr измерен с МОМЕНТа времени Time до следующего МОМЕНТа времени Time Код: sql 1.
если интервал усреденения сутки Код: sql 1.
причем для разницы времени и длительности суток надо выбрать в чем измерять: в часах, минутах или наносекундах. Спасибо за ответ, но данный момент уже решён. Используется Хронологическая взвешенная . В качестве интервала между соседними записями параметров используются часы, среднее (хронологическое взвешенное) вычисляется да за сутки. На данный момент меня интересует как построить запрос, что бы он игнорировал в вычислении значения допустим Parameter1 равный NULL на определённое время, при этом Parameter2 если он не равен NULL на тот же час из вычислений не выпадал. ... |
|||
:
Нравится:
Не нравится:
|
|||
10.05.2019, 11:40 |
|
Запрос на вычисление средней хронологической за неравные интервалы
|
|||
---|---|---|---|
#18+
Всем привет. Таки столкнулся с Null в таблице, бывают ситуации когда часть данных не заносится. ObjectNameParametеr1Parametеr2DateTimeObject13301.04.201908:00:00Object18801.04.201912:00:00Object16601.04.201917:00:00Object14Null01.04.201921:00:00Object1101002.04.201908:00:00 Код: sql 1. 2. 3. 4. 5.
Получается при отборе в вычисления попадает Null по Parametеr2. Если отсеивать записи по Null, тогда отсеивается у Object1 Parametеr1=4, а также дата и время, дальнейший расчёт по Parametеr1 не верный. Прошу помочь составить запрос на отбор данных из таблицы, так для Object1 выпадал Parametеr2=Null но оставался Parametеr1=4 c датой и временем. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2019, 21:02 |
|
|
start [/forum/topic.php?fid=45&msg=39795666&tid=1610328]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
56ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 152ms |
0 / 0 |