Страницы: 1
RSS
Отфильтровать данные в таблице по двум столбцам
 
Есть таблица в которой в столбце В указан user_id - он дублируется разное количество раз для каждого клиента. В столбце D - указана дата, вот так


Нужно отфильтровать таблицу по user_id, чтобы остался только один уникальный user_id с самой большой датой, указанной столбце D.

То есть для user_id, указанного в примере выше, должна остаться одна строка с максимальной датой указанной для него - 03.03.2020, вот так:


Файл-пример со строками прикрепил. Заранее благодарен за помощь.
 
realmen80, в PQ:
Код
let
  data = Excel.CurrentWorkbook(){[ Name = "data" ]}[Content],
  typed = Table.TransformColumnTypes (
    data,
    { { "change_id", type number }, { "user_id", type number }, { "amount", type number }, { "Дата", type datetime } }
  ),
  group = Table.Group ( typed, { "user_id" }, { { "rec", ( t ) => Table.Max ( t, { "Дата" } ), type record } } ),
  toTbl = Table.FromRecords ( group[rec], Value.Type ( typed ) )
in
  toTbl

P.S. Нафига делать пример на 6k строк? Это же пример. Удалил половину, чтобы объем не превышал допустимый.

P.P.S. Даже в своем примере не можете правильную последнюю дату найти?
Изменено: surkenny - 10.11.2022 11:23:33
 
realmen80,  можно просто сортировку по user_id и дата (о новых к старым) сделать и потом формулой доп столбец и по нему фильтровать
формулу такую =СЧЁТЕСЛИ($B$1:$B2;B2)=1
фильтровать по истина
Изменено: Mershik - 10.11.2022 11:26:22
Не бойтесь совершенства. Вам его не достичь.
 
Цитата
написал:
P.S. Нафига делать пример на 6k строк? Это же пример. Удалил половину, чтобы объем не превышал допустимый.
Прошу прощения, не подумал... Отправил весь файл с данными.

Цитата
написал:
P.P.S. Даже в своем примере не можете правильную последнюю дату найти?
Так как в примере на скрин не попала та строка, то и указывал последнюю строку исходя из показанной на скриншоте....

Цитата
написал:
realmen80 ,  можно просто сортировку по user_id и дата (о новых к старым) сделать и потом формулой доп столбец и по нему фильтровать формулу такую =СЧЁТЕСЛИ($B$1:$B2;B2)=1фильтровать по истина
Благодарю за идею.

surkenny и Mershik спасибо за помощь.
 
surkenny,


А если получается что было два изменения в одну дату? Например клиент 16 28.03. "менялся" 2 раза
В вашем запросе понятное дело выдается с учетом конкретного времени

А как вывести все значения на "макс" дату
Страницы: 1
Наверх