|
|
|
Итоговая сумма по нескольким валютам
|
|||
|---|---|---|---|
|
#18+
Всем доброго времени суток. Имеется таблица фактов с датой, валютой, балансом. Есть "курсы" (дата, id валюты, курс). Факты с курсами соединены по (дата, id валюты) Курс на дату определяется следующим образом: Код: 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. 36. 37. 38. По строчкам на каждую валюту все замечательно. Но проблема возникает на уровне итогов (где заглушка NULL): сумма балансов всех валют умножается на сумму всех курсов. Замена NULL на: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. вызывает ошибку: В функции Crossjoin иерархия Measures используется более одного раза Помогите посчитать итоги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2019, 19:24 |
|
||
|
Итоговая сумма по нескольким валютам
|
|||
|---|---|---|---|
|
#18+
IlyamI, У вас в фактах должна быть как сумма в оригинальной валюте, так и сумма в рублях в следующем столбце. Всё. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2019, 21:31 |
|
||
|
Итоговая сумма по нескольким валютам
|
|||
|---|---|---|---|
|
#18+
Критик, к сожалению, есть нюанс - в подавляющем числе случаев выбранная пользователем дата баланса не соответствует выбранной пользователем дате курса (требование бизнеса). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.12.2019, 23:59 |
|
||
|
Итоговая сумма по нескольким валютам
|
|||
|---|---|---|---|
|
#18+
IlyamI, Послушайте умных людей (я имею ввиду в данном случае Критика :) ) пересчитайте все в ETL PS у меня сейчас пересчитано в 4 валютах (хотя используется реально только 2 ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2019, 09:57 |
|
||
|
Итоговая сумма по нескольким валютам
|
|||
|---|---|---|---|
|
#18+
IlyamI Критик, к сожалению, есть нюанс - в подавляющем числе случаев выбранная пользователем дата баланса не соответствует выбранной пользователем дате курса (требование бизнеса). так и считайте в фактах по дате курса выбранного бизнесом +1050 за Критика ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2019, 12:43 |
|
||
|
Итоговая сумма по нескольким валютам
|
|||
|---|---|---|---|
|
#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. Жду критики, или вопрос закрыт. P.S. Хотел сделать через scope: добавить в скрипт начитки фактов четыре столбца - баланс на последний день пред. месяца (обязательная дата), баланс на дату_1, баланс на дату_2, которые инициируются нулями. Соответственно, для каждого из них меры с агрегирующей функцией SUM. А в scope уже налету считать для каждой строки. Но пока мне что-то плохо дается понимание scope. хотелось бы что-нибудь почитать, где "на пальцах" показано. Видео и мсдн перечитаны тыщу раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2019, 12:46 |
|
||
|
|

start [/forum/topic.php?fid=49&tid=1857406]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
67ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
2ms |
| others: | 12ms |
| total: | 177ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...