Как реструктурировать скрипт Power Query для поддержки ускоренного обновления нескольких файлов csv?

#powerbi #powerquery #powerbi-datasource

#powerbi #powerquery #powerbi-источник данных

Вопрос:

Я написал скрипт PowerQuery, который перебирает все файлы внутри папки. Для извлечения данных отдельного файла я создал функцию PowerQuery.

В Power BI Desktop все работает нормально, но когда я публикую отчет в службе Power BI и пытаюсь запланировать обновление — я получаю сообщение об ошибке:

(Ty, Olly) Шлюз развернут, и все источники данных для этого отчета созданы и имеют зеленый цвет.

«Запрос содержит неизвестные или неподдерживаемые источники данных. Папка, «E:myFolder » «

 let

    fn_ExtractCSVFile = (fileName as text, filePath as text) =>
    let
        Источник = Csv.Document(File.Contents(filePath amp; "" amp; fileName),[Delimiter=",", Columns=15, Encoding=1200, QuoteStyle=QuoteStyle.None]),
        #"Повышенные заголовки" = Table.PromoteHeaders(Источник, [PromoteAllScalars=true]),
        #"Удаленные верхние строки" = Table.Skip(#"Повышенные заголовки",1),
        #"Строки с примененным фильтром" = Table.SelectRows(#"Удаленные верхние строки", each ([Год] <> "")),
        #"Замененное значение" = Table.ReplaceValue(#"Строки с примененным фильтром",".",",",Replacer.ReplaceText,{"Итого"})
    in
        #"Замененное значение",
    Источник = Folder.Files("E:myFolder"),
    #"Другие удаленные столбцы" = Table.SelectColumns(Источник,{"Name", "Folder Path"}),
    #"Вызвана настраиваемая функция" = Table.AddColumn(#"Другие удаленные столбцы", "Data", each fn_ExtractCSVFile([Name], [Folder Path])),
    #"Развернутый элемент Data" = Table.ExpandTableColumn(#"Вызвана настраиваемая функция", "Data", {".Организация", "Консолидирующая организация", "Год", "Период отчета", "Проект", "Направление", "Показатель строка0", "Показатель строка", "Родитель первого уровня", "Родитель второго уровня", "Родитель третьего уровня", "Аналитика 1", "Аналитика 3", "Сценарий", "Итого"}, {".Организация", "Консолидирующая организация", "Год", "Период отчета", "Проект", "Направление", "Показатель строка0", "Показатель строка", "Родитель первого уровня", "Родитель второго уровня", "Родитель третьего уровня", "Аналитика 1", "Аналитика 3", "Сценарий", "Итого"})
in
    #"Развернутый элемент Data"
  

Комментарии:

1. рассмотрите возможность установки локального шлюза данных или переноса ваших данных в облако. Вложенный lets хороший скрипт :).

2. Олли, я уже развернул шлюз (извините, я забыл упомянуть об этом в основном сообщении). Это работает, источники данных созданы и зеленые.