Страницы: 1
RSS
Power query. Имя листа, на котором находится таблица
 
Добрый день!
Подскажите, пожалуйста, есть ли какие-нибудь способы получить название листа, на котором находится таблица?
 
Xel,
гугл сломался? ТЫЦ, ТЫЦ
Код
=ПСТР(ЯЧЕЙКА("ИМЯФАЙЛА";A1);ПОИСК("]";ЯЧЕЙКА("ИМЯФАЙЛА";A1))+1;255)
 
Открывайте файл xlsx как архив и ковыряйтесь в ресурсах xml структуры. Пример копания здесь. Были еще варианты копания в ресурсах от Андрея Лящук, можете поискать по его последним постам. Он не так часто к нам заглядывает.
Изменено: PooHkrd - 20.04.2021 13:49:01
Вот горшок пустой, он предмет простой...
 
А какой программой сделаны красивые скриншоты у Андрея? Есть вероятность, что до меня доходит постепенно :oops:
Но в блокноте оно все не так нарядно и наглядно :cry:
 
К теме, конечно, не очень относится, но лично я пользуюсь Notepad++
Вот горшок пустой, он предмет простой...
 
Ох и отборно громоздкая штука получилась. Но работает.
Теперь в 10 раз усерднее буду думать, как без ЭТОГО обойтись.

Огромное спасибо за подсказки!
 
Цитата
Xel написал:
Ох и отборно громоздкая штука получилась
Где? Раз уж пришли на форум и пришли к решению по подсказкам, то тут принято делиться итогом.  ;)
Вот горшок пустой, он предмет простой...
 
Я добавила, сорри, рука дрогнула.
Самое веселое - понять, что PQ рисовал автоматом при разворачивании  :cry:
Тупо дублировал исходную функцию
Изменено: Xel - 20.04.2021 17:16:00
 
Главное что работает!
Предлагаю вариант покороче, хотя тоже на коленке слепленный. Функция unZip в файле.
Код
let
    from = unZip(File.Contents("E:\Шина LFL 20_21.xlsx")),
    tabs = Table.AddColumn(from, "tabs", each Xml.Tables([Content])),
    FilteredSheets = Table.SelectRows(tabs, each Text.StartsWith([FileName], "xl/worksheets/_rels/sheet")),
    #"Expanded {0}" = Table.ExpandTableColumn(FilteredSheets, "tabs", {"Table"}, {"Table"}),
    #"Expanded {0}1" = Table.ExpandTableColumn(#"Expanded {0}", "Table", {"Attribute:Target"}, {"Attribute:Target"}),
    #"Replaced Value" = Table.ReplaceValue(#"Expanded {0}1","..","xl",Replacer.ReplaceText,{"Attribute:Target"}),
    #"Merged Queries" = Table.NestedJoin(#"Replaced Value", {"Attribute:Target"}, tabs, {"FileName"}, "Replaced Value", JoinKind.LeftOuter),
    #"Expanded {0}2" = Table.ExpandTableColumn(#"Merged Queries", "Replaced Value", {"tabs"}, {"tabs"}),
    #"Expanded {0}3" = Table.ExpandTableColumn(#"Expanded {0}2", "tabs", {"Attribute:displayName"}, {"Attribute:displayName"}),
    #"Extracted Text Between Delimiters" = Table.TransformColumns(#"Expanded {0}3", {{"FileName", each Text.BetweenDelimiters(_, "xl/worksheets/_rels/sheet", ".xml.rels"), type text}}),
    #"Merged Queries1" = Table.NestedJoin(#"Extracted Text Between Delimiters", {"FileName"}, tabs{[FileName="xl/workbook.xml"]}[tabs]{[Name="sheets"]}[Table][Table]{0}, {"Attribute:sheetId"}, "Extracted Text Between Delimiters", JoinKind.LeftOuter),
    #"Expanded {0}4" = Table.ExpandTableColumn(#"Merged Queries1", "Extracted Text Between Delimiters", {"Attribute:name"}, {"Attribute:name"}),
    #"Removed Other Columns" = Table.SelectColumns(#"Expanded {0}4",{"Attribute:displayName", "Attribute:name"})
in
    #"Removed Other Columns"
Вот горшок пустой, он предмет простой...
 
После сегодняшних упражнений понимаю по шагам все, но в целом как-то не оч  :D
Но на приложенном тут моем файле не сработало. И неправильно собрал и не все нашел.
 
Цитата
Xel написал:
И неправильно собрал и не все нашел.
Понадеялся не на те IDшники, вот подправил
Скрытый текст

Вот горшок пустой, он предмет простой...
 
Это колдунство 8-0
Спасибо огромное.
 
Цитата
Xel написал:
Это колдунство
Где 8-0
В каком конкретно месте и что не понятно? Там в принципе делов-то фильтр да пара джойнов.
Изменено: PooHkrd - 21.04.2021 10:45:26
Вот горшок пустой, он предмет простой...
 
Нене, все понятно, огромное спасибо. :idea:

Привычно чуть-чуть угнетает, вроде могла уже сама разобрать с таким то образцом и распотрошенным исходником.
Но  "не шмогла"  :oops:
Изменено: Xel - 21.04.2021 11:03:25
 
Цитата
Xel написал:
чуть-чуть угнетает,
Да ладна, точно также на ощупь ковырялся и подбирал. Ну может чуть больше опыта у меня, это дело наживное. Вы почитайте мои вопросы от 2017 года здесь. Там есть немало смешного даже лично для меня сейчас. А тогда это казалось неразрешимой проблемой вселенского масштаба. :D
Вот горшок пустой, он предмет простой...
Страницы: 1
Наверх