Я работаю в Teradata SQL Assistant 14.10 и впадающих проблем со следующей проблемой:Teradata Window/Роллинг Сумма при их множественном
У меня есть список, рассчитанных истекшее время, и мне нужно, чтобы создать столбец, флаги, когда
- а) строка, для которой сумма истекшего времени превышает 20 мин, впервые
- б) строка, для которой сумма истекшего времени превышает 15 мин каждый раз, после чего
Сложность состоит в том, что сумма, которая будет использоваться для установки флага, должна быть равна 0 после выполнения каждого условия. См. Приведенный ниже набор результатов, когда FLAG является желаемым выходным столбцом на основе вышеуказанных условий, и столбец причины, объясняющий, почему он должен быть помечен.
RN REPORT_DT SEG_CD NUM_F T1 T2 ELAPSED_TIME FLAG REASON
1 6/22/2015 STATION 881 18:33:00 17:30:00 63 1 63 >= 20 min for first time
2 6/22/2015 STATION 881 18:45:00 18:33:00 12 0 12 < 15
3 6/22/2015 STATION 881 19:00:00 18:45:00 15 1 12 + 15 >= 15
4 6/22/2015 STATION 881 19:15:00 19:00:00 15 1 15 >= 15
5 6/22/2015 STATION 881 19:30:00 19:15:00 15 1 15 >= 15
6 6/22/2015 STATION 881 19:40:00 19:30:00 10 0 10 < 15
7 6/22/2015 STATION 881 19:50:00 19:40:00 10 1 10 + 10 >= 15
8 6/22/2015 STATION 881 20:00:00 19:50:00 10 0 10 < 15
9 6/22/2015 STATION 881 20:10:00 20:00:00 10 1 10 + 10 >= 15
Я пробовал различные SUM() OVER (PARTITION BY ORDER BY СБРОС ПРИ) вид запросов, которые я чувствую, это правильное направление, но не могу показаться, чтобы получить какие-либо желаемых результатов.
Любые советы очень ценятся! Заранее спасибо!
Увы, вы не может легко выполнить этот расчет с аналитическими функциями. Проблема в том, что у вас есть остаток (например, 3 в 3-й строке). Вы игнорируете это дополнительное превышение, что означает, что последующие строки должны точно знать, где были все предыдущие точки останова. –
Вау - спасибо за быстрый ответ. Оцените, чтобы знать, что это невозможно, по крайней мере, спасает меня от того, что я весь день ломаю голову. – apd2zn
Каково количество строк и максимальное количество строк на PARTITION? – dnoeth