Страницы: 1
RSS
PQ: Удаление дубликатов по условию
 
Добрый день, коллеги,

Не буду (пока что) прикладывать пример, считаю, что вопрос того не стоит. А он в следующем: можно ли при редактировании запроса PQ управлять условием удаления дубликатов? К примеру, у меня есть две строки, и, при прочих равных, Start Date у одной раньше, чем у другой. При нажатии "Удалить дубликаты" остается та, у которой Start Date позже. А мне необходимо наоборот, не понимаю, как это отрегулировать.

Спасибо заранее.
Изменено: Framed - 04.11.2018 17:29:53
 
Доброе время суток.
Цитата
Framed написал:
считаю, что вопрос того не стоит.
Вы правы - сортировка поможет.
 
Из-за ленивых вычислений может и не помочь ;). Были уже прецеденты на форуме. Вот ежели шаг с сортировкой загнать в Table.Buffer тогда должно сработать.
Вот горшок пустой, он предмет простой...
 
Попробую сейчас. Сортировка и впрямь не помогала.
 
Цитата
PooHkrd написал:
Из-за ленивых вычислений может и не помочь
Коллега, у меня на тестовом примере и без буферизации работало.
 
Андрей VG, а это как повезёт. У меня тоже по-разному выходило. Просто предупредил ТС чтобы не удивлялся, если что.
Вот горшок пустой, он предмет простой...
 
Цитата
PooHkrd написал:
если что.
я обычно Table.Group с Table.Max (для данного случая использую).
 
Временное добавление столбца индекса помогает также. Еще должно помогать Table.AddKeys :) или удаление дубликатов в столбце с заведомо отсутствующими дубликатами
F1 творит чудеса
 
Цитата
PooHkrd написал:
Вот ежели шаг с сортировкой загнать в Table.Buffer тогда должно сработать.
Благодарю, действительно, теперь сработало.
Господа, остальное не стал пробовать, но обязательно сделаю это в ближайшее время; спасибо и вам за обсуждение.

Хорошего дня.
 
Цитата
Framed написал:
остальное не стал пробовать, но обязательно сделаю это в ближайшее время;
Способов на самом деле вагон и маленькая тележка. Тут главное понимать механику работы интерпретатора запросов, т.е. каким образом разворачивается цепочка запросов, когда выполняется сложный проект.
Если вкратце, то некоторые ваши шаги интерпретатор может посчитать "ненужными" ;) и может их игнорировать, хотя в редакторе запросов может показывать что все ровно так как вы хотите. Table.Buffer это довольно таки затратный способ указать на тот шаг, который выполнить нужно обязательно. Можно после сортировки выполнить, например, любое преобразование со столбцом при помощи Table.TransformColumns (прибавить к числам 0) или Table.ReplaceValue (скажем заменить все null на null), в таком случае нужность выполнения той же сортировки для интерпретатора сразу повысится, хотя лишней оперативки он не скушает.
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх