Гость
Форумы / OLAP и DWH [игнор отключен] [закрыт для гостей] / Вопрос по DAX формулам: как получить последнее значение на выбранную дату / 4 сообщений из 4, страница 1 из 1
28.01.2021, 17:40
    #40039691
Earl11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
Здравствуйте. Имеется такая таблица. Результат неверен. Хотелось бы видеть значение 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
29.01.2021, 08:26
    #40039809
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
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
29.01.2021, 12:54
    #40039873
Earl11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
vikkiv,
В обоих таблицах есть DateKey и таблица Date фильтрует Table1.
При выборе, например, 25.09 хотелось бы увидеть такой результат
Как Вас понял, столбец DateKey должен выбираться из таблицы Date, а не из Table1, верно?
UPD: даже при такой формуле последнее значение не выводится, а выводится максимальное из всего.
...
Рейтинг: 0 / 0
29.01.2021, 14:11
    #40039903
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос по DAX формулам: как получить последнее значение на выбранную дату
Earl11,

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

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


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