
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
03.03.2017, 16:01
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
Добрый день! Возникла необходимость написать запрос (view) к табличке, в которой между полями установлена зависимость. Таблица из 4х колонок. Код: sql 1. 2. 3. 4. 5. 6. Правила заполнения показателей: Показатель1 (Sum1): равно значению Показателя3 на предшествующую Дату (если не было то пусто); Показатель2 (Sum2): значение которое нам известно на Дату; Показатель3 (Sum3): Показатель1+Показатель2 Нам известны только пары значений: дата и показатель2 (см WITH ниже). нужно получить запрос, показывающий таблицу выше. Также у меня есть табличка-справочник dates, которая содержит все последовательные календарные даты в поле ddate Унылая попытка№1: Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Подскажите пожалуйста какой подход нужно использовать в подобных задачах и очень помогут примеры. Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 16:20
|
|||
|---|---|---|---|
|
|||
Рекурсивный запрос или аналитика? |
|||
|
#18+
(o-O), a чем, собственно, lag вам так уныл? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 16:21
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
(o-O)какой подход нужно использоватьПоказатели 1 и 3 это sum(Показатель2) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 16:23
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
Допустим я использую lag для определения 1го показателя, который является предшествующим значением показателя 3, который в свою очередь завязан на показатель 1. Смущает зависимость между показателями 1 и 3, хотя эта зависимость на разные даты.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 16:35
|
|||
|---|---|---|---|
|
|||
Рекурсивный запрос или аналитика? |
|||
|
#18+
(o-O), выходит так, что показатель 3 - накапливающая сумма Код: plsql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 16:37
|
|||
|---|---|---|---|
|
|||
Рекурсивный запрос или аналитика? |
|||
|
#18+
Унылый lag(o-O), выходит так, что показатель 3 - накапливающая сумма Код: plsql 1. Соответственно показатель1 - накапливающая сумма за вычетом показателя 2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 17:03
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
(o-O), если будет несколько "показатель2" за одну дату, какой ожидаете результат? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 17:05
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
На одну дату - один показатель2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
03.03.2017, 17:25
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
(o-O), можно примерно так: Код: plsql 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2017, 14:32
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
j2k(o-O), можно примерно так: Код: plsql 1. 2. 3. 4. 5. 6. Спасибо, с подходом накапливающих сумм примерно разобрался. А получится ли использовать данный подход, если в исходные данные ввести валюту в отдельную колнку и выполнять эти расчеты в разрезе валюты? Например в примере выше -2000 будем иметь валюту доллар, а -500 евро. Соответственно показатели 1 и 3 должны считаться в разрезе своей валюты показателя2. Попробовал добавить partition by но не помогло. По всей видимости при вычислении sum1 и sum3 нужно «протягивать» валюту показателя2 во вложенном запросе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.03.2017, 16:31
|
|||
|---|---|---|---|
Рекурсивный запрос или аналитика? |
|||
|
#18+
(o-O), Ничего не понял из вашего объяснения. Приведите конкретный пример чего хотите получить на выходе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=52&mobile=1&tid=1886328]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
191ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 515ms |

| 0 / 0 |
