powered by simpleCommunicator - 2.0.44     © 2025 Programmizd 02
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Вопрос по DAX формулам: как получить последнее значение на выбранную дату
4 сообщений из 4, страница 1 из 1
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
    #40039691
Earl11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Имеется такая таблица. Результат неверен. Хотелось бы видеть значение 12885,82625 на 04.12.2019.
При выборе даты, например, 02.08.2019 выводилось бы 13236,9.
Формулы, которые пытался использовать:

Remainder:=
var a = CALCULATE(LASTNONBLANK('Table1'[RemDoc], 1),
FILTER(ALL('Date'),'Date'[DateKey] <= MAX('Table1'[DateKey])))
var b = IF((a<=0),0)
return a
******


Remainder:=
var suma = CALCULATE (SUM('Table1'[RemDoc]),
FILTER (ALL('Date'),'Date'[DateKey] <= MAX('Table1'[DateKey])))
var rem = IF((suma<0),0,suma)
return rem

******

Остаток:=
SUMX (VALUES ('Table1'[Partner]),
VAR LastBalanceDate = CALCULATE ( MAX ( Table1'[DateKey] ) )
RETURN
CALCULATE (
SUM ('Table1'[RemDoc]),
'Date'[DateKey] >= LastBalanceDate))
****
...
Рейтинг: 0 / 0
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
    #40039809
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Earl11,

во первых это DAX, а в Excel Pivot работает на MDX, так что поосторожней т.к. иногда встречаются грабли

во вторых не совсем понятно что именно используется для фильтрации (наброшены на Pivot) - какие поля из каких таблиц (напр. в Table1 и Date таблицах есть одинаковое поле DateKey), соответственно даже не смотря на активную связь в сравнении - в данном случае нужно чтобы с обоих сторон стояла одна и та-же таблица, если DateKey идёт из измерения Date (а не Table1, где по идее DateKey скрыто от пользователя) то придётся всё по цепи в функции filter() приводить к общему виду,
т.е. заменить то что стоит в MAX() с MAX(' Table1 '[DateKey])) на MAX(' Date '[DateKey]))

так что первый вариант должен быть вполне рабочим
Код: sql
1.
CALCULATE(LASTNONBLANK('Table1'[RemDoc],SUM('Table1'[RemDoc])),FILTER(ALL('Date'),'Date'[DateKey] <= MAX('Date'[DateKey])))
...
Рейтинг: 0 / 0
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
    #40039873
Earl11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vikkiv,
В обоих таблицах есть DateKey и таблица Date фильтрует Table1.
При выборе, например, 25.09 хотелось бы увидеть такой результат
Как Вас понял, столбец DateKey должен выбираться из таблицы Date, а не из Table1, верно?
UPD: даже при такой формуле последнее значение не выводится, а выводится максимальное из всего.
...
Рейтинг: 0 / 0
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
    #40039903
Фотография vikkiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Earl11,

Всё зависит от структуры модели данных, у нас в упрощённом случае такая конструкция с условно измерением даты и таблицей фактов - lastnonblank схема из daxpatterns вполне удовлетворительно работает, какие поля и из каких разбросанных объектов (и их связи) там у вас - сложно сказать. Тем более в Excel с дополнительной фильтрацией на разных уровнях через MDX (где при такой форме это всё засовывается в подзапросы с известными проблемами работы на контекстах, в where и пр.) вместо родного для табличной модели DAX, поэтому начальную проверку разумнее осуществлять на другом интерфейсе более под это приспособленном (Power BI / SSMS) чтобы не бороться с ветряными мельницами / проблемами которых может и не быть.

п.с. оно не только максимальное но ещё и находится в максимальной дате, т.е. из предоставленного явно не следует что результат неправильный (хотя с др. стороны формула должна так-же заполнять пустые даты последним значением из предыдущих дней), напр. у меня в отличии от вашего варианта в lastnonblank есть sum, есть дополнительная нежелательная фильтрация то вместо all идёт allexcept()
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Вопрос по DAX формулам: как получить последнее значение на выбранную дату
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]