Вы можете использовать LOOKUPVALUE
, если у вас будет только один идентификационный номер на последнюю дату / имя.
Используя это для возврата идентификатора, который соответствует имени и самой последней дате:
как вычисляемый столбец;
LOOKUPVALUE (
Table1[ID],
Table1[Name], [Name],
Table1[Date], [Latest Date]
)
В качестве меры;
Latest ID:=
VAR LookupName =
IF (
HASONEVALUE ( Table1[Name] ),
VALUES ( Table1[Name] ),
BLANK ()
)
VAR LookupDate =
IF (
HASONEVALUE ( Table1[Latest Date] ),
VALUES ( Table1[Latest Date] ),
BLANK ()
)
RETURN
LOOKUPVALUE (
Table1[ID],
Table1[Name], LookupName,
Table1[Date], LookupDate
)
Однако, если у вас есть более одного идентификационного номера с совпадающим именем и датой, совпадающей с самой поздней датой, это вернет ошибку:
Была предоставлена таблица с несколькими значениями, где ожидалось одно значение
Вместо этого вы можете использовать:
Latest ID:=
VAR LookupDate =
IF (
HASONEVALUE ( Table1[Latest Date] ),
VALUES ( Table1[Latest Date] ),
BLANK ()
)
RETURN
CALCULATE (
FIRSTNONBLANK ( Table1[ID] , 1),
FILTER (
ALLEXCEPT ( Table1, Table1[Name] ),
Table1[Date] = LookupDate
)
)