Страницы: 1
RSS
Power Query дублирует строки при объединении запросов
 
Всем доброго времени суток. Имеется таблица с большим количеством столбцов с разными типами данных и ячейками "null" к которой из многих других таблиц (с не меньшим количеством столбцов) мне необходимо подтянуть данные (аля ВПР) по ключу. При объединении запросов я разворачиваю из подтянутой таблицы не более 3 столбцов и тут происходит нечто странное, моя таблица после нескольких операций объединения из 150 тыс строк имеет уже почти полмиллиона строк. Объединение использую "левое". Подскажите пожалуйста, в чём проблема и как исправить?
Заранее благодарен всем неравнодушным
 
Цитата
Даниил Чусов написал:
в чём проблема и как исправить?
Проверить запрос на малых количествах строк(по 10-20 строк в таблице). Будет видно что да как
Изменено: Михаил Л - 13.04.2020 17:18:18
 
Доброе время суток
Цитата
Даниил Чусов написал:
моя таблица после нескольких операций объединения из 150 тыс строк имеет уже почти полмиллиона строк.
Если в одной таблице одному и тому же ключу соответствует 8 строк, а в другой таблице этому же ключу - 9 строк, то при объединении в таблице будет 8 * 9 = 72 строки. Если в левой таблице одна строка ключа, а в правой 9 строк того же ключа, то на выходе будет 1 * 9 = 9 строк. Следовательно, нужно указать Power Query, как вы хотите соединять повторы ключей в обеих таблицах или повторы в правой таблице.
P. S. Join <> Lookup - последний берёт только первое попавшееся. Именно поэтому у вас и получилось а-ля-ля :)
Изменено: Андрей VG - 13.04.2020 16:36:42
 
Цитата
Андрей VG написал:
P. S. Join <> Lookup - последний берёт только первое попавшееся. Именно поэтому у вас и получилось а-ля-ля
Я правильно понял, что объединение запросов работает не как ВПР?
Цитата
Андрей VG написал:
Следовательно, нужно указать Power Query, как вы хотите соединять повторы ключей в обеих таблицах или повторы в правой таблице.
Имеете в виду тип соединения?
Спасибо за ответ
 
Цитата
Даниил Чусов написал:
Имеете в виду тип соединения?
Имею в виду подход в соединении.
 
Вот здесь я описывал подобную ситуацию и один из подходов к решению(не самый быстрый, я так думаю): Объединение(слияние) запросов при помощи PowerQuery
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Дмитрий(The_Prist) Щербаков, Спасибо Вам огромное
 
Дмитрий(The_Prist) Щербаков,

Спасибо!
А на each try [Отделы]{0}[Отдел] otherwise null можно повесить функцию выбора максимального значения? (чтобы подставить максимальное из подходящих значений)
 
Цитата
написал:
Всем доброго времени суток. Имеется таблица с большим количеством столбцов с разными типами данных и ячейками "null" к которой из многих других таблиц (с не меньшим количеством столбцов) мне необходимо подтянуть данные (аля ВПР) по ключу. При объединении запросов я разворачиваю из подтянутой таблицы не более 3 столбцов и тут происходит нечто странное, моя таблица после нескольких операций объединения из 150 тыс строк имеет уже почти полмиллиона строк. Объединение использую "левое". Подскажите пожалуйста, в чём проблема и как исправить?Заранее благодарен всем неравнодушны
Попробуйте перед объединением добавить столбец с "Индексом". После объединения вы увидите, что цифры в этом столбце задвоились. Следующим шагом удаляете дубликаты в столбце "Индекс" . На выходе получаете нужные вам строки без дубликатов.
 
А почему бы сразу в правой таблице (которую джойним) не оставить одну последнюю запись по дате для ключа (всех столбцов, по которым джойним)?
Зачем танцы с индексом? Ну и джоин облегчим.
Изменено: surkenny - 29.09.2023 13:09:28
Страницы: 1
Наверх