|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Мера Rate у меня объявлена вот так: ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 07:52 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
AlphaDog, еще попробуйте create member currentcube.measures.AmountAcc AS SUM(null:[Dim Date].[Date].currentMember,[Measures].[Amount] * курс); ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 07:57 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Критик AlphaDog Но MeasureExpression property не может работать с вычисляемыми мерами Точно? Просто я с ними не особо работал. Сообщение об ошибке: Код: sql 1. 2.
Критик Попробуйте сделать AmountAcc фиктивной мерой, а ваше вычисляемое выражение написать в scope Я не совсем понимаю, что такое "фиктивная мера", да и значение AmountAcc пользователям будет нужно для анализа и отчетов. А SCOPE я банально не могу понять как он работает. Нет, я понимаю что он вырубает в кубе подкуб и задает вычисления отличные от остальной части куба. Но моя трехмерная голова ломается многомерном пространстве. Вроде все просто, но я туплю 😢 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 08:02 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Критик AlphaDog, еще попробуйте create member currentcube.measures.AmountAcc AS SUM(null:[Dim Date].[Date].currentMember,[Measures].[Amount] * курс); Сделал: Код: sql 1. 2.
Возвращает NULL. Да и если бы считало, я так понимаю, [Measures].[Rate] был бы на конкретный [Dim Date].[Date].currentMember и на [Measures].[Amount] на этот день, а мне нужно на ТЕКУЩУЮ дату получения всей суммы. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 08:07 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Я так понимаю, что проблема в том, что [Measures].[Rate] возвращает NULL. Но для искомого значения, на мой взгляд, есть все нужные данные - связи по ключам date и currency есть. Все что нужно - на определенную дату и тип валюты\акции вытащить конкретное значение Rate и умножить его на расчитанное аддитивной мерой значение. В TSQL это проще простого... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 08:36 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
AlphaDog Я не совсем понимаю, что такое "фиктивная мера", да и значение AmountAcc пользователям будет нужно для анализа и отчетов определяете меру как null в DSV-слое или в представлении/запросе, а в scope переопределяете её ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 08:38 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
AlphaDog Но для искомого значения, на мой взгляд, есть все нужные данные - связи по ключам date и currency есть возможно у вас currency и ее ключ неверно связаны, то есть идет агрегация (даже если ее в реальности нет), соответственно rate пустой ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 08:43 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Спасибо. Практически получилось. Да, было что-то с агрегациями и связями. Сделал все аккуратно и внимательно - получил нужные цифры. НО! Баланс собирается ТОЛЬКО если в запросе есть оба дименшина - даты и валюты: Клиент->Дата->Валюта=БалансНаДату Как сделать что бы подобная агрегация работала бы и в случае сворачивания запроса до Клиент->Дата=БалансНаДату Ну и с большой долей вероятности клиент захочет агрегацию Клиент->Валюта=БалансНаПоследнююДату. И Клиент=БалансНаПоследнююДату. На текущий момент три последние агрегации возвращают NULL. Я решал эту проблему через IIF( dim.currentmember.level.name='text', функция, функция), но в данном случае в сводной таблице вообще нет дименшина - как с этим работать? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 12:01 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
AlphaDog НО! Баланс собирается ТОЛЬКО если в запросе есть оба дименшина - даты и валюты Значит у вас что-то не так сделано, раз считается только на детальном уровне ) По смыслу - у вас только перемножение должно работать на детальном уровне, а все остальное должно считаться от уже умноженных цифр. Имхо - штудируйте первую ссылку в топике. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.12.2020, 15:37 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Критик AlphaDog НО! Баланс собирается ТОЛЬКО если в запросе есть оба дименшина - даты и валюты Значит у вас что-то не так сделано, раз считается только на детальном уровне ) По смыслу - у вас только перемножение должно работать на детальном уровне, а все остальное должно считаться от уже умноженных цифр. Имхо - штудируйте первую ссылку в топике. Я сделал не через "фиктивная меру", а просто вот так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Далее, видимо, нужно прописать SCOPE, который будет на более высоких уровнях агрегации (или как это правильно описать) агрегировать все что было насчитано на более низких Пошел читать дальше.... ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 00:50 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Пришел вот к такому решению. Теперь вопрос - как в местах кода THIS = 1,2,3 спуститься до нижнего уровня йерархии, просчитать на нем все [Measures].[UnitsSUM] * [Measures].[Rate] и потом проагрегировать? Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 02:41 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#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.
... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2020, 04:31 |
|
MDX вычисляемая мера для куба с акциями акционеров.
|
|||
---|---|---|---|
#18+
Интересный вопрос - а как Property "Visible" меры влияет на меру в Calculations? Я так полагал, этот параметр влияет только на видимость меры в Excel или PowerB. Но, похоже, все иначе - делаю меру [Measures].[Rate], невидимой и у меня перестает считаться моя measures.BalanceSUM. Почему? Это же бред... Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2020, 12:31 |
|
|
start [/forum/topic.php?fid=49&msg=40024127&tid=1857223]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
51ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
others: | 251ms |
total: | 405ms |
0 / 0 |