Страницы: 1
RSS
Как вычислить первое/последнее непустое значение столбца функциями DAX?
 
Уважаемые знатоки!

Не знаю где я ошибаюсь, целый час вожусь с функцией FIRSTNONBLANK. Мне нужно найти первое заполненное значение в заданном столбце. Синтаксис функции такой: FIRSTNONBLANK(<column>,<expression>) Column - понятно, но что в данном контексте означает <expression> ?
Прилагаю пример файл где мне нужно первое значение, а формула  FIRSTNONBLANK возвращает третье. Формула в модели данных.

Спасибо заранее
Power Query, Power Pivot, Power BI и MS Excel спасут мир
 
Доброе время суток.
Господа модераторы, прошу изменить название темы на
Как вычислить первое/последнее непустое значение столбца функциями DAX?
Самир Мамедов, ответьте на вопрос. Некто из первоапрельских шутников переставил строки в вашей таблице случайным образом, пока вы отлучились. Как вы определите какое значение в исследуемом столбце должно быть первым, а какое последним?
Изменено: Андрей VG - 09.03.2018 19:31:31
 
Самир задал вопрос  в личке, но считаю, что лучше всё же обсуждать в теме. Подобно гуру-итальянцам мы можем рассуждать для FirstNonBlank/LastNonBlank следующим образом:
1. функция отбирает значения <column> , для которых выражение не пустое.
2. упорядочивает их по не убыванию.
3. тогда, первое/последнее (минимальное/максимальное) есть начальный/конечный элемент результата сортировки.
Перейдём к таблице в Excel, под первым вы понимаете непустое значение таблицы, у которого минимальный номер строки. Но в таблицах модели нет такого понятия, как номер строки. Так что по одному столбцу это невозможно сделать. Нужен вспомогательный столбец, определяющий естественный порядок сортировки. В рамках вашей таблицы, например, добавить столбец Row с формулой =СТРОКА()
Тогда мера для 2016, Power BI Desktop будет
Код
=Var minRow = MINX(FILTER('Table1'; NOT(ISBLANK('Table1'[Space1]))); 'Table1'[Row])
Return
CALCULATE(VALUES(Table1[Space1]); FILTER('Table1'; 'Table1'[Row] = minRow))

Успехов.
P. S. зря вы, Самир, не ответили на поставленный вопрос.
Изменено: Андрей VG - 10.03.2018 10:46:16
 
Андрей большое спасибо за подробный ответ. Очень благодарен Вам.  
Power Query, Power Pivot, Power BI и MS Excel спасут мир
 
Андрей VG, а подскажите пожалуйста, как скорректировать вашу меру, так чтобы она искала предпоследнее не пустое значение.

Столкнулся с аналогичной задачей, только у меня уже  есть столбец для упорядочивания (это столбец дат).

Задача стоит в сравнение последнего и предпоследнего не пустого значения.
Изменено: Gedion White - 17.12.2023 13:35:05
 
Цитата
Gedion White написал:
у меня уже  есть
А у меня нет, ну как бы так
Код
=Var notEmpty = FILTER('Table1'; NOT(ISBLANK('Table1'[Space1])))
Var ranked = ADDCOLUMNS(notEmpty; "foo"; RANKX(notEmpty; 'Table1'[Date]; 'Table1'[Date];DESC))
Return CALCULATE(VALUES(Table1[Space1]); FILTER(ranked; [foo] = 2))
Страницы: 1
Наверх