Страницы: 1
RSS
Функция DAX, мера: кол-во дней с остатками за выбранный период.
 
Добрый день.

Есть мера которая счетает остатки на каждый день за выбранный период.
Остаток на дату = CALCULATE(TOTALMTD(SUM('Остатки'[Остатки/Движения]);'Календарь'[Date]); FILTER('Календарь'; 'Календарь'[Date] <= TODAY()))
Пишу следующую меру, которая должна посчитать кол-во дней с остатками за выбранный период.

Написал вот, это
Мера = CALCULATE( If('Остатки'[Остаток на дату]>0;1;BLANK ()); ALLSELECTED ('Календарь'[Date]))
Но, оно не хочет суммировать(((
 
Доброе время суток.
Цитата
А   DISTINCTCOUNT(') не подходит, есть строки без дат (движений не было в этот день), а остаток есть.
Не уловил. Вы бы тогда пример на этих данных приложили бы, как должен выглядеть результат для дней с остатком и почему.
Изменено: Андрей VG - 20.08.2018 23:20:27
 
Добрый день.

В файле PRIMER.PBIX видно несоответствие, если в поле остаток на дату есть какое либо число (остаток), то этот день нужно счетать днем с остатком, а приложенном Вами файле если нет движений то не считается, что в дне был остаток, а остаток был, просто он не двигался...не было продаж и поступлений.
Приложил Ексель как пример.
Нужно, это для того, что бы посчитать сколько дней данный товар был на остатках, а потом буду считать, сколько дней был остаток, но не было продаж например... для разной аналитики, буду сравнивать этот показатель с другими.
 
Цитата
Егорий написал:
Приложил Ексель как пример.
Всё равно не понятно, считать эти дни наличия положительного остатка на складе с начала месяца или по срезу?
 
По срезу слайсера. Выбрано 3 месяца и если в каждом дне этих месяцев есть остаток, то значит наличие остатка тоже присутствует.
If('Остатки'[Остаток на дату]>0;1;BLANK ()) - оно работает правильно, но не суммирует промежуточные итоги (просто в разрезе дней выдает 1 или ничего).
 
Цитата
Егорий написал:
но не суммирует промежуточные итоги
Что должно быть в этих итогах? Для каждого дня месяца число дней месяца, когда были остатки? Или число дней к текущему дню месяца с его начала, когда были остатки? Не надо описывать задачу в терминах DAX - вы их не знаете. С формилируйте в ваших же терминах, что вы ходите посчитать и как...
Плюс, если задача предполагает учёт дней с нулевыми остатками на складе, то почему бы не создан пример, в котором это на самом деле можно получить?
Изменено: Андрей VG - 21.08.2018 14:56:39
 
В примере 2 листа. 1 лист - это если формируем данные в разрезе дней, а второй лист, это если период (аналогичный листу 1) задаан в слайсере.
 
Егорий, из примера опять непонятно, [Остаток на дату] - это столбец в таблице или мера? Таблица из примера это исходные данные или те, которые вы хотите получить? Если это желаемый результат, то как выглядит исходник?
Изменено: PooHkrd - 21.08.2018 16:04:02
Вот горшок пустой, он предмет простой...
 
Остаток на дату = CALCULATE(TOTALMTD(SUM('Остатки'[Остатки/Движения]);'Календарь'[Date]); FILTER('Календарь'; 'Календарь'[Date] <= TODAY()))
Остаток на дату, это мера.

Пытаюсь рассчитать Меру Дней с остатком  (примерно следующим образом)   If('Остатки'[Остаток на дату]>0;1;BLANK ()); ALLSELECTED ('Календарь'[Date]))
Хочу получить меру Дней с остатком, которая будет считать как в приложенном примере.
 
У меня, к сожалению, отсутствует PBI под рукой, поэтому структуру данных, под который Андрей вам составил эту меру я открыть не могу. Значит придется либо ждать Андрея и еще кого-то с нужным софтом, либо выложите пример исходника в формате xlsx и я тоже смогу подключиться.
Вот горшок пустой, он предмет простой...
 
Цитата
Егорий написал:
Пытаюсь рассчитать Меру Дней с остатком  (примерно следующим образом)   If('Остатки'[Остаток на дату]>0;1;BLANK ()); ALLSELECTED ('Календарь'[Date]))
Егорий, если считает не то что нужно, то зачем описывать это? Почему внятно не изложить методику расчётов или хотя бы ответить на поставленные вопросы? Я всего лишь простой программист - мне методика складского учёта, особенно в вашей структуре данных, мягко говоря странна (уже не говоря о том, что я в этом ничего не понимаю).
Просьба не следующий раз дописывайте в теме - просьба отвечать только специалистам в области складского учёта с хорошими знаниями DAX.
Последняя попытка.
 
В следующий раз буду описывать очень подробно (казалось, что поясняю все понятно).

Файл, что вы приложили делает то, что нужно, но если я выберу 2 дня в слайсере он все равно показывает 39 дней на остатке.
 
Цитата
Егорий написал:
казалось, что поясняю все понятно
Для специалиста вашего профиля, который знает типовые расчёты - конечно да. Только я не специалист вашего профиля ;)  
Вот указали бы диапазон в #7 не крайний, а более приближенный к реальности, было бы более понятно. Ну, и пора потихоньку разбирать решения на предмет понимания. Достаточно было убрать ALL (ну, я ещё SUMMARIZE ликвидировал - погорячился с ним).
 
Спасибо!!! ТО, что нужно)))
Страницы: 1
Наверх