Страницы: 1
RSS
DAX. Выдает ошибку в функции EARLIER в фильтре для поиска максимального значения, earlier/earliest ссылается на более ранний контекст строки, который не существует
 
Уважаемые форумчане, добрый вечер!
Прошу помочь разобраться - почему выдает ошибку "earlier/earliest ссылается на более ранний контекст строки, который не существует" в мере
Код
=CALCULATE(MAX('данные'[Дата]);FILTER(ALL('данные');'данные'[Событие]=EARLIER('данные'[Событие])&&'данные'[Имя]=EARLIER('данные'[Имя])))
Мне необходимо найти максимальную дату для каждого события по каждому посетителю.
 
Настя_Nastya, а зачем Вам тут такое сложное выражение? :)
Код
макс дата :=
CALCULATE ( MAX ( 'данные'[Дата] ); ALL ( 'данные'[Дата] ) )

Да даже используйте просто MAX(), если даты во внешний фильтр не выводите.
И совет. После введения переменных нет смысла использовать функцию EARLIER.
Изменено: surkenny - 06.01.2022 18:36:21
 
surkenny, спасибо))
но хотелось бы все таки понять почему выдает ошибку...
это часть задачи, которую пытаюсь решить поэтапно посредвством DAX) сама задача - просто выдать список посетителей, которые не выбыли, и датой поступления))
Изменено: Настя_Nastya - 06.01.2022 20:57:11
 
Настя_Nastya, вы можете удивиться, но ошибка вам очень четко показывает чистую правду, для EARLIER действительно нет внешнего контекста.
Вы написали формулу, как если бы это было в формуле столбца, а в расчетном столбце по умолчанию действует контекст строки, который задан значениями текущей строки. Именно поэтому использование EARLIER этот контекст отменяет и получается использовать фильтр. Когда вы создаете меру, то в ней нет по умолчанию такого контекста, его нужно создавать функциями-итераторами типа SUMX и иже с ними. Есть же книга Руководство DAX от итальянцев, если есть задача погрузиться и понять, то лучшего источника не найти. Ну, и поищите в постах Зеленского Максима по этой функции, он тут подробно объяснял.
Вот горшок пустой, он предмет простой...
 
PooHkrd все правильно пишет. Настя_Nastya, кроме этого, зачем вы вообще пытаетесь изменить все контексты фильтра? Вам же и нужно найти дату только для конкретных посетителей и с конкретным событием. Не используйте функцию ALL() для всей таблицы просто так. Тут PooHkrd опять же прав: ну есть лучшая и, наверное, единственная в своём роде книга :) Читайте ее. Да, после первого прочтения не запомните половину, после 10-го четверть. Но будете поопытнее большинства в DAX даже после прочтения половины :)
Изменено: surkenny - 07.01.2022 01:38:39
 
surkenny, PooHkrd, спасибо) буду разбираться))
Изменено: Настя_Nastya - 07.01.2022 11:24:54
Страницы: 1
Читают тему (гостей: 1)
Наверх