PowerQuery - папка Query для импорта новых файлов

Если я создал функцию PowerQuery, которая импортирует XML из папки, как в том же файле Excel я могу повторно использовать запрос, когда в папке есть новые файлы, чтобы включить данные только из этих новых файлов и добавить данные в текущую таблицу?

2 ответа

Решение

Если вы запустите Power Query с помощью From File / From Folder и перейдете к своей папке, вы увидите каждый файл, представленный в виде строки в таблице, со столбцами, такими как Дата изменения. Вы можете отфильтровать этот список, используя фильтры даты / времени на дату изменения или что-то более сложное, если необходимо (опубликуйте ваши конкретные требования, и я постараюсь направить вас в правильном направлении).

После того как вы отфильтровали запрос только по "новым файлам", вы можете передать столбец [Content] в свою функцию.

Наконец добавьте новый запрос на основе сохраненного вывода таблицы Excel из ранее существовавшего запроса вместе с запросом "новые файлы" выше, чтобы получить объединенный вывод. Новый запрос будет установлен на Load To / Only Create Connection.

Вы можете наблюдать за изменениями файлов в папке с помощью простого сценария vba, который использует WMI для опроса содержимого каталога каждые n секунд.

Что-то похожее на это...

Sub WatchDirectory(dir as string, every as integer)    
  Set wmisvc = GetObject("winmgmts:\\.\root\cimv2")
  let query = "SELECT * FROM __InstanceOperationEvent " _
        & "WITHIN " & every _
        & " WHERE Targetinstance ISA 'CIM_DirectoryContainsFile' and " _
        & "TargetInstance.GroupComponent='Win32_Directory.Name=" _
        & Chr(34) & dir & Chr(34) & "'"

  Set events = wmisvc.ExecNotificationQuery(query)

  Do While True
    Set event = events.NextEvent()
    if event.Class = "__InstanceCreationEvent" then 
       ....
    end if
  Loop

Для получения дополнительной информации о wmi см. https://sites.google.com/site/beyondexcel/project-updates/exposingsystemsecretswithvbaandwmiapi

Для получения дополнительной информации о просмотре файлов с помощью WMI см. https://blogs.technet.microsoft.com/heyscriptingguy/2005/04/04/how-can-i-monitor-for-different-types-of-events-with-just-one-script/

Другие вопросы по тегам