Страницы: 1
RSS
Вопрос по Power Query: импорт данных по ключу таблицы
 
Добрый день,

Посоветуйте пожалуйста, как загружать (импортировать) файлы учитывая ранее загруженные записи (есть два поля, которые задают уникальность записи). При загрузке каждого нового файла по уже найденным записям заменяются существующие строки (или значения в строках), а новые добавляются в итоговую таблицу запроса.

У меня есть набор файлов одного формата, который содержит записи за последние три месяца. Файлы поступают каждый месяц, и каждый новый содержит записи предыдущего (два месяца) плюс новые записи за последний месяц.
Результирующая таблица должна содержать только уникальные записи и самые последние данные по ним (статусы и прочие поля).

Во вложении упрощенный вид для наглядности. Таблица First должна дополнятья таблицей Second, так чтобы получилась Final.

В идеале нужно, чтобы логику можно было прописать в моем getData, который я создал для импорта файлов из папки. Сейчас он импортирует всё содержимое как новые строки. Поэтому записи дублируются и данные в целом невозможно анализировать.

С уважением,
Артем.
 
Объясните про 4-ю заявку.
В таблице First она
4 04.01.2019 создана

В таблице Second она
4 02.01.2019 закрыта

В таблице Final она
4 04.01.2019 закрыта

какой логикой вы пользовались?
F1 творит чудеса
 
Максим, добрый день,

Опечатался в таблице Second. 4-я заявка имеет дату 04.01.2019.
 
Код
let
    Source = Table.NestedJoin(First,{"Номер"},Second,{"Номер"},"First",JoinKind.LeftAnti),
    #"Removed Columns" = Table.RemoveColumns(Source,{"First"}),
    #"Appended Query" = Table.Combine({#"Removed Columns", Second}),
    #"Sorted Rows" = Table.Sort(#"Appended Query",{{"Номер", Order.Ascending}})
in
    #"Sorted Rows"
F1 творит чудеса
 
Максим, спасибо!
Логика именна та. Но я не знаю, как ее реализовать при импорте данных из файлов каталога.
Сейчас контент импортов создается посредством функции getData и #"Expanded Custom" = Table.ExpandTableColumn. И как я понимаю, мне нужно менять эту логику.
В нынешнем виде там нет разделения на First и Second.

Можете подсказать, как мне выйти из этой ситуации?
Код
let
    Source = Folder.Files("D:\Test"),
    #"Added Custom" = Table.AddColumn(Source, "Custom", each getData([Folder Path]&[Name])),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Номер", "Дата создания", "Статус"}, {"Номер", "Дата создания", "Статус"})
in
    #"Expanded Custom"
Изменено: mistergam - 25.03.2019 18:04:11
 
сколько файлов в каталоге?
2 файла, или "много и каждый раз добавляется еще один новый"?
F1 творит чудеса
 
много, и добавляется.
Условие наличия минимум двух, могу обеспечить
 
Добрый день, Максим
пока вышел из положения создав запрос по аналогии с предложенным и написав много вложенных потабличных слияний (по количеству файлов с отчетами)
Работает,но не масштабируемо. и выйти из ситуации думаю не получится, так как циклов то нет

спасибо! думаю можно закрывать эту тему.

с уважением,
Артем Г.
 
Где циклов нет? В PQ? Есть рекурсия, есть List.Accumulate, есть List.Generate. Можно через генерацию таблицы и создание нового столбца цикл замутить. Вы о чем вообще?
Изменено: PooHkrd - 20.04.2019 11:17:07
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх