Да приемем, че имаме Excel файл с няколко интелигентни таблици:
Ако заредите тези таблици в Power Query по стандартния начин с помощта на командата Данни – Вземете данни – От файл – От книга (Данни — Получаване на данни — От файл — От работна книга), тогава получаваме нещо подобно:
Мисля, че картината е позната на много потребители на Power Query. Подобни вложени таблици могат да се видят след комбиниране на заявки (a la VLOOKUP), групиране (команда Групирай по етикет Трансформация), импортиране на всички файлове от дадена папка и др.
Следващата логична стъпка в тази ситуация обикновено е да разширите всички вложени таблици наведнъж – като използвате бутона с двойни стрелки в заглавката на колоната Дата:
В резултат на това получаваме сбор от всички редове от всички таблици в едно цяло. Всичко е добро, просто и ясно.
Сега си представете, че е добавена нова колона (Отстъпка) в изходните таблици и/или една от съществуващите (Град) е изтрита:
Тогава нашата заявка след актуализацията ще върне не толкова красива снимка - отстъпката не се появи и колоната за град стана празна, но не изчезна:
И е лесно да разберете защо – в лентата с формули можете ясно да видите, че имената на разширените колони са твърдо кодирани в аргументите на функцията Table.ExpandTableColumn като списъци във къдрави скоби.
Заобикалянето на този проблем е лесно. Първо, нека вземем имената на колоните от заглавката на която и да е (например първата) таблица с помощта на функцията Таблица.Имена на колони. Ще изглежда така:
Тук:
- #”Други колони премахнати” – името на предишната стъпка, откъдето вземаме данните
- 0 {} – номера на таблицата, от която извличаме заглавието (броене от нула, т.е. 0 е първата таблица)
- [Данни] – името на колоната в предишната стъпка, където се намират разширените таблици
Остава да заменим конструкцията, получена в лентата с формули във функцията Table.ExpandTableColumn на етапа на разширяване на таблици вместо твърдо кодирани списъци. В крайна сметка всичко трябва да изглежда така:
Това е всичко. И няма да има повече проблеми с разширяването на вложени таблици, когато изходните данни се променят.
- Изграждане на многоформатни таблици от един лист в Power Query
- Създавайте таблици с различни заглавки от множество Excel файлове
- Събиране на данни от всички листове на книгата в една таблица