INDEX / MATCH приблизительное совпадение без сортировки - PullRequest
0 голосов
/ 03 марта 2020

Давайте предположим простую таблицу:

enter image description here

Я бы хотел найти имя поставщика для данного person_id до указанной даты. Например, если я укажу 01.01.2015, вывод должен быть «Третий».

enter image description here

Это достаточно легко сделать, если таблица отсортирована по person_id и по убыванию по дате статуса (как на картинке выше), но есть ли способ сделать это без какой-либо сортировки таблицы?

Ответы [ 2 ]

1 голос
/ 03 марта 2020

Ближайшую дату перед указанным для человека можно найти по следующей формуле массива:

{=INDEX(Table2[provider],MATCH(1,--(MAX(((A20=Table2[person_id])*(B20>Table2[status_date])*(Table2[status_date])))=Table2[status_date])*(A20=Table2[person_id]),0))}

enter image description here

0 голосов
/ 03 марта 2020

У меня нет прямого ответа, но вы можете исследовать Power Query и эту ссылку:

https://community.powerbi.com/t5/Desktop/How-do-I-pass-parameters-to-my-SQL-statement/td-p/118716

(Предоставлено Greg_Deckler - https://community.powerbi.com/t5/Desktop/How-do-I-pass-parameters-to-my-SQL-statement/td-p/118716)

По сути, предпосылка состоит в том, чтобы использовать Power Query для «создания / извлечения» вложенной таблицы (и сортировки ее) на лету ...

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...