Добрый день! Каждый день банк присылает выписку по оборотам за предыдущий день, выписка автоматически скачивается в .xsls в папку. Стоит задача собрать все выписки в один файл. Эту задачу я решаю посредством Power Query. Сама суть понятна как это сделать. Вопрос в том что загружается только первые 20 строк. Остальные нет. Подскажите что можно сделать? Причем если внизу таблицы в выписке удалить строку с итогом оборотов (строки 160 и 161 в файле), то загружаются все строки. Банк присылает именно так. Стоит задача автоматизировать весь процесс, вручную удалять не вариант из каждого файла. Помогите советом.
Добрый день! Каждый день банк присылает выписку по оборотам за предыдущий день, выписка автоматически скачивается в .xsls в папку. Стоит задача собрать все выписки в один файл. Эту задачу я решаю посредством Power Query. Сама суть понятна как это сделать. Вопрос в том что загружается только первые 20 строк. Остальные нет. Подскажите что можно сделать? Причем если внизу таблицы в выписке удалить строку с итогом оборотов (строки 160 и 161 в файле), то загружаются все строки. Банк присылает именно так. Стоит задача автоматизировать весь процесс, вручную удалять не вариант из каждого файла. Помогите советом.Novell
Добрый день. Удаление строки тут ни при чем. У меня файл пример все подгрузил (168 строк в запросе) Тут надо с параметрами выгрузки работать. Недавно был похожий случай. Параметры выгрузки (формат и т.п.) человек изменить не мог, решилось программным пересохранением файла. Т.е. по сути открыл файл, нажал сохранить, закрыл и в Power Query все отобразилось.
Добрый день. Удаление строки тут ни при чем. У меня файл пример все подгрузил (168 строк в запросе) Тут надо с параметрами выгрузки работать. Недавно был похожий случай. Параметры выгрузки (формат и т.п.) человек изменить не мог, решилось программным пересохранением файла. Т.е. по сути открыл файл, нажал сохранить, закрыл и в Power Query все отобразилось.sboy
let FolderPath = Excel.CurrentWorkbook(){[Name="FolderPath"]}[Content][Column1]{0}, Files = Folder.Files(FolderPath), Filter = Table.SelectRows(Files, each let A=[Attributes] in (A[Kind] = "Excel File" and not A[NotContentIndexed]))[[Name],[Content]], Workbooks = Table.TransformColumns(Filter,{{"Content",each let wb=Excel.Workbook(_) in Table.SelectRows(wb,each try _[Kind]="Sheet" otherwise true)[[Name],[Data]]}}), tab=(a as table) =>let b=a[Column1], c={"БИК","Расчётный счёт №","(",")"}, d=List.Transform(List.Transform({b{3}},Splitter.SplitTextByEachDelimiter(c)){0},Text.Trim), e=Text.Split(a[Column2]{2}," - "), f=List.Transform(List.LastN(List.Select(b,each (_<>null)),2),each Text.Trim(Text.Split(_&":"&_,":"){1})) in #table(List.Combine({{"Период с","Период по"},List.Range(c,0,2),{"Валюта","Организация","Банк","Дата формирования"}}),{List.Combine({{e{0},e{1}},List.Range(d,1,3),{b{4}},f})}), tab2=(a as table) as table =>let b = Table.SelectRows(Table.Transpose(Table.Skip(a,7)), each ([Column1] <> null) or ([Column2] <> null)), c = Table.TransformColumns(b,{{"Column2",each let c1=b[Column1] in if List.PositionOf(c1,_)>=0 then null else _}}), d = (a)=> let b = a[Column2], c = {"Column1", each let c1=Text.Replace(_,"#(lf)"," ") in c1&(if b<>null then ":"&b else "")} in Record.RemoveFields(Record.TransformFields(a,c),{"Column2"}), e = Table.TransformRows(Table.FillDown(c,{"Column1"}), each d(_)), f = Table.SelectRows(Table.Transpose(Table.FromRecords(e)), each ([Column1] <> null)) in Table.PromoteHeaders(Table.RemoveLastN(Table.SelectRows(f, each ([Column1] <> null)),2)), Sheets = Table.FromRecords(Table.TransformRows(Table.ExpandTableColumn(Workbooks, "Content", {"Name", "Data"},{"ИмяЛиста","Content"}),each [ИмяФайла=_[Name],ИмяЛиста=[ИмяЛиста],t=tab(_[Content]),Content=[Content]])), Transform = Table.SelectRows(Table.TransformColumns(Sheets,{{"Content",tab2}}), each try [Content] is table otherwise false), Result = Table.ExpandTableColumn(Table.ExpandTableColumn(Transform, "Content", Table.ColumnNames(Transform[Content]{0})),"t",Table.ColumnNames(Sheets[t]{0})), #"Измененный тип" = Table.TransformColumnTypes(Result,{{"Период по", type date}, {"Период с", type datetime}, {"Дата формирования", type datetime}, {"Дата операции", type datetime}}) in #"Измененный тип"
[/vba]
Ниче не знаю, у мну все норм грузится [vba]
Код
let FolderPath = Excel.CurrentWorkbook(){[Name="FolderPath"]}[Content][Column1]{0}, Files = Folder.Files(FolderPath), Filter = Table.SelectRows(Files, each let A=[Attributes] in (A[Kind] = "Excel File" and not A[NotContentIndexed]))[[Name],[Content]], Workbooks = Table.TransformColumns(Filter,{{"Content",each let wb=Excel.Workbook(_) in Table.SelectRows(wb,each try _[Kind]="Sheet" otherwise true)[[Name],[Data]]}}), tab=(a as table) =>let b=a[Column1], c={"БИК","Расчётный счёт №","(",")"}, d=List.Transform(List.Transform({b{3}},Splitter.SplitTextByEachDelimiter(c)){0},Text.Trim), e=Text.Split(a[Column2]{2}," - "), f=List.Transform(List.LastN(List.Select(b,each (_<>null)),2),each Text.Trim(Text.Split(_&":"&_,":"){1})) in #table(List.Combine({{"Период с","Период по"},List.Range(c,0,2),{"Валюта","Организация","Банк","Дата формирования"}}),{List.Combine({{e{0},e{1}},List.Range(d,1,3),{b{4}},f})}), tab2=(a as table) as table =>let b = Table.SelectRows(Table.Transpose(Table.Skip(a,7)), each ([Column1] <> null) or ([Column2] <> null)), c = Table.TransformColumns(b,{{"Column2",each let c1=b[Column1] in if List.PositionOf(c1,_)>=0 then null else _}}), d = (a)=> let b = a[Column2], c = {"Column1", each let c1=Text.Replace(_,"#(lf)"," ") in c1&(if b<>null then ":"&b else "")} in Record.RemoveFields(Record.TransformFields(a,c),{"Column2"}), e = Table.TransformRows(Table.FillDown(c,{"Column1"}), each d(_)), f = Table.SelectRows(Table.Transpose(Table.FromRecords(e)), each ([Column1] <> null)) in Table.PromoteHeaders(Table.RemoveLastN(Table.SelectRows(f, each ([Column1] <> null)),2)), Sheets = Table.FromRecords(Table.TransformRows(Table.ExpandTableColumn(Workbooks, "Content", {"Name", "Data"},{"ИмяЛиста","Content"}),each [ИмяФайла=_[Name],ИмяЛиста=[ИмяЛиста],t=tab(_[Content]),Content=[Content]])), Transform = Table.SelectRows(Table.TransformColumns(Sheets,{{"Content",tab2}}), each try [Content] is table otherwise false), Result = Table.ExpandTableColumn(Table.ExpandTableColumn(Transform, "Content", Table.ColumnNames(Transform[Content]{0})),"t",Table.ColumnNames(Sheets[t]{0})), #"Измененный тип" = Table.TransformColumnTypes(Result,{{"Период по", type date}, {"Период с", type datetime}, {"Дата формирования", type datetime}, {"Дата операции", type datetime}}) in #"Измененный тип"