|
PowerBI. Подсчет остатков на начало периода
|
|||
---|---|---|---|
#18+
Hello world! Из SQL загружается таблица с остатками рассчитанными на каждый день, на конец дня. В powerBI нет готовой функции агрегирования LAST NO EMPTY, как в многомерной модели SSAS. Для этого использую DAX формулу: Код: sql 1. 2. 3. 4. 5. 6. 7.
Но теперь мне нужно создать меру, которая рассчитывает остаток на начало периода. Например, период ноябрь 2021 года. Остаток на конец периода - это остаток на 30.11.2011 Остаток на начало периода - это остаток на 31.10.2011 В загружаемой таблице добавил столбец DatePrev_Key. DatePrev_Key = Date_Key - 1 день Далее создал меру, которая использует новую дату DatePrev_Key Код: sql 1. 2. 3. 4.
Также создал тестовую меру, чтобы видеть что возвращает FIRSTNONBLANK Код: sql 1.
Но желаемый результат не получается. Подскажите, как решается такая задача в PowerBI? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2022, 13:27 |
|
PowerBI. Подсчет остатков на начало периода
|
|||
---|---|---|---|
#18+
yagrus3, остаток на начало - это остаток на конец предыдущего периода, если вы предыдущий период считаете нормально и остаток на конец периода тоже, то у вас все должно получиться ... |
|||
:
Нравится:
Не нравится:
|
|||
03.02.2022, 17:25 |
|
PowerBI. Подсчет остатков на начало периода
|
|||
---|---|---|---|
#18+
Критик yagrus3, остаток на начало - это остаток на конец предыдущего периода, если вы предыдущий период считаете нормально и остаток на конец периода тоже, то у вас все должно получиться Так-то оно так. Но, предыдущий период я расчитываю правильно. Это видно из скрина. Мера "Measure" - это расчетный предыдущий период. Для 15.01.2022, Measure = 14.01.2022. Контекст, должен бы сместиться на 14 января. Но этого не происходит. Вот и вопрос, почему так. Я скармливаю CALCULATE, 14.01.2022, а он по нему находит 15.01.2022 и ведет расчет по нему. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2022, 21:39 |
|
PowerBI. Подсчет остатков на начало периода
|
|||
---|---|---|---|
#18+
yagrus3, вообще, конечно, без того, чтобы поизучать вашу схему, не удобно. А макет вы не сделали. Накидал макетик, чтобы было что обсуждать. Прилагаю. Надеюсь, что правильно понял идею. Даты разбил на три периода. Каждая дата в своем периоде. LastNonBlank не использовал. А вообще вашу measure "Остаток, шт" можно успростить. Вам же в конечном итоге нужен Остаток, для этого логичней сразу использовать LASTNONBLANKVALUE, а не LASTNONBLANK Насчет того, почему у вас нет желаемого сдвига. Да, DatePrev_Key вы создали. Но вам тогда чтобы по нему считать, нужно предварительно создать в модели relationship между Дата[Date_Key] и 'Запасы на складах'[DatePrev_Key]. А в калькуляциях активировать эту связь с помощью USERELATIONSHIP, причем столько раз, сколько нужно. В общем, не имея вашего макета, сделал свой. Я так понял, у вас там очень много данных. Поэтому я бы все, что можно рассчитать заранее, прекалькулировал бы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.02.2022, 18:08 |
|
PowerBI. Подсчет остатков на начало периода
|
|||
---|---|---|---|
#18+
Вакшуль Сергей yagrus3, В общем, не имея вашего макета, сделал свой. Я так понял, у вас там очень много данных. Поэтому я бы все, что можно рассчитать заранее, прекалькулировал бы. Спасибо за предложенный вариант! В вашей формуле используется переменная datesWithStock. Есть ли в десктопе какой-то вотчь, чтоб посмотреть значение переменных? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2022, 13:33 |
|
PowerBI. Подсчет остатков на начало периода
|
|||
---|---|---|---|
#18+
yagrus3, Буквально пару месяцев назад был анонс новой версии Tabular Editor 3. Одна из фич которой - DAX debugger. Вот ее презентация миру от автора: https ://youtu.be/mPPvTHYCmtw?t=2277 (удалите пробел после https) Tabular Editor 3 - платная. Tabular Editor 2 - бесплатная. В переменной datesWithStock - таблица Чтобы посмотреть на нее, просто создайте calculated table, вырезав из кода нужный кусок: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
я обычно использую DAX Studio для эксперементов. (но отладки там нет) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.02.2022, 17:38 |
|
|
start [/forum/topic.php?fid=49&msg=40132202&tid=1857037]: |
0ms |
get settings: |
18ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
67ms |
get topic data: |
4ms |
get forum data: |
1ms |
get page messages: |
126ms |
get tp. blocked users: |
1ms |
others: | 335ms |
total: | 559ms |
0 / 0 |