Страницы: 1
RSS
Почему-то задвоились данные при слиянии запросов в PQ
 
Всем доброго вечера!

По какой-то неведомой причине у меня в книге Сбор данных на листе Результат_слияния задвоились данные.
Все, что я сделал это выполнил слияние данных из первого и второго листов. Мне нужно было добавить столбец с количеством учеников, но в результате у меня почему-то задвоились данные. Я уже поставил фильтры на примере таких задвоений. Что не так и как исправить? Файлы примеры во вложении

Файл-пример загрузил на мой onedriveт.к. мой запрос с исходниками весит около мегабайта.
 
Доброе время суток.
Цитата
extrafant написал:
По какой-то неведомой причине у меня в книге Сбор данных на листе Результат_слияния задвоились данные.
По вполне понятной причине. Выполните следующие запросы. Группировка идёт в аккурат по полям связывания
Код
let
    Source = Table.Group(#"Кабинеты в табличном виде", {"Учитель", "Предмет"}, {"count", each Table.RowCount(_)}),
    #"Filtered Rows" = Table.SelectRows(Source, each ([count] <> 1) and ([Предмет] <> null))
in
    #"Filtered Rows"

Код
let
    Source = Table.Group(Нагрузка, {"Ф.И.О.", "предмет"}, {"count", each Table.RowCount(_)}),
    #"Filtered Rows" = Table.SelectRows(Source, each ([count] <> 1))
in
    #"Filtered Rows"

И подумайте, что если в одной таблице по полям связывания несколько строк и в другой несколько, то что и как должно быть связано?
 
Только у меня по ссылке файла нет?
Нашел причину: заблокировали учетную запись. Вышел и обновил ссылку - увидел зип
Изменено: Михаил Л - 19.05.2020 21:51:41
 
Спасибо за ответ! Код еще не успел протестировать! А какая логика при связывании? Я, собственно, ожидал, что получу эффект как при использовании ВПР, а мой запрос просто задвоил таблицу. Но я понял почему. Было бы 3 таблицы, он бы затроил. Как избежать в будущем такую проблему?
 
Цитата
extrafant написал:
Я, собственно, ожидал, что получу эффект как при использовании ВПР,
Значит и с ВПР вы получали - э.... несколько не консистентный результат.
Во вложении выборка по одинаковому ФИО "Исаева М. В." и предмету "Технология" для двух исходных таблиц "Кабинеты в табличном виде" и "Нагрузка". Что должно было бы получиться в результате того самого эффекта ВПР?
 
Я в слиянии получил одну общую таблицу с количеством  учеников.  В первой таблице этой информации не было  
 
Цитата
Андрей VG написал:
let    Source = Table.Group(#"Кабинеты в табличном виде", {"Учитель", "Предмет"}, {"count", each Table.RowCount(_)}),    #"Filtered Rows" = Table.SelectRows(Source, each ([count] <> 1) and ([Предмет] <> null))in    #"Filtered Rows"
Уважаемый Андрей, в результате мне хотелось бы получить общую таблицу следующего харарктера:
1. Все, что в таблице расписание кабинетов + кол-во учеников из таблицы нагрузка. Я связывал так. Учитель+класс+предмет
 
Цитата
extrafant написал:
Я связывал так. Учитель+класс+предмет
Это вы серьёзно? А если ещё раз посмотреть в код?
Цитата
Источник = Table.NestedJoin(Нагрузка, {"Ф.И.О.", "предмет"}, #"Кабинеты в табличном виде", {"Учитель", "Предмет"}, "Кабинеты в табличном виде", JoinKind.LeftOuter)
Вот и добавьте пропущенный класс.
 
Если я правильно понял, то одна из проблем - шапка. Нужно правильно назвать. Чтобы и там и там было ФИО и соблюдать регистр. И там и там "предмет"

Я немного запутался. Попробую сделать новое слияние из тех же данных

В результате все получилось. Рабочий файл
Изменено: extrafant - 21.05.2020 20:55:19
 
Цитата
extrafant написал:
В результате все получилось
Вот и замечательно.
Страницы: 1
Наверх