Если я правильно вас понимаю, это может помочь.При этом будут собраны все данные из всех таблиц на сайте goo-net-exchange.com/catalog/NISSAN__BLUEBIRD, добавленные вместе в одну таблицу.
В Power Query выберите Домой> Новый источник> Другие источники> Веб.Затем введите вашу ссылку и нажмите OK:
Затем нажмите на папку и нажмите OK.
Затем отфильтруйте Источник, который не является таблицей.
Затем щелкните правой кнопкой мыши заголовок столбца «Данные» и выберите «Удалить другие столбцы».
Затем нажмите , чтобы развернуть все таблицы.
Нажмите OK.
***** ДОБАВЛЕНО ПОСЛЕ ВАШЕГО КОММЕНТАРИЯ / ВОПРОСА *****
Я вошел в Power Query и открыл запросэто было создано из вышеупомянутой деятельности.Затем я изменил "http://www.goo-net-exchange.com/catalog/NISSAN__BLUEBIRD/"
в строке «Исходный» на Site
, поэтому строка теперь выглядит так: Source = Web.Page(Web.Contents(Site)),
.
Затем я вставил эти две строки над исходной строкой в коде, сохраняя при этом исходную строкуна месте (так что теперь есть две строки):
let
Source = (Site) =>
Затем я вставил эти две строки ниже оригинальной последней строки кода:
in
Source
Эти четыре строки преобразовали то, чтоРаньше у меня была функция.
Затем я переименовал свой запрос в CarSites ... только потому, что мне так хотелось.
Затем я убедился, что все было сохранено и возвращено в Excel.
В Excel я создал новую таблицу с URL-адресами трех ваших сайтов:
Я назвал таблицу Table1.
Затем я щелкнул по таблице (Table1), а затем по Data> From Table, чтобы создать другой запрос в Power Query из этой таблицы.
Затем я щелкнул «Добавить столбец»> «Вызов пользовательской функции» и настроил следующие записи, как показано ниже, и нажал «ОК»:
Это дало мне следующее:
Каждая таблица в столбце CarSites - это коллекция добавленных таблиц для каждого сайта, указанного в столбце LinkURL (как у вас былодля сайта Nissan BlueBird раньше).Вы можете удалить столбец LinkURL и развернуть столбец CarSites, чтобы получить один добавленный столбец для всех сайтов.
Исходя из того, что я вижу из информации таблицы, у вас все еще будет некоторая работа по очисткес этой информацией, которую вы тянете.Например, таблицы не всегда показывают, о каком автомобиле и году каждая строка предоставляет информацию.Вам нужно будет выяснить, как сопоставить имя и год каждой строке.
Вы захотите выполнить эту работу в функции.
Удачи!
Если это поможет, вот мой М-код:
Для функции CarSites:
let
Source = (Site) =>
let
Source = Web.Page(Web.Contents(Site)),
#"Filtered Rows" = Table.SelectRows(Source, each ([Source] = "Table")),
#"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows",{"Data"}),
#"Expanded Data" = Table.ExpandTableColumn(#"Removed Other Columns", "Data", {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "MODEL TYPE", "MODEL", "ENGINE", "DOOR", "T/M DRIVE", "Dimension", "WEIGHT", "MSRP", "Find Used Cars"}, {"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7", "Column8", "MODEL TYPE", "MODEL", "ENGINE", "DOOR", "T/M DRIVE", "Dimension", "WEIGHT", "MSRP", "Find Used Cars"})
in
#"Expanded Data"
in
Source
И для запроса Table1:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Invoked Custom Function" = Table.AddColumn(Source, "CarSites", each CarSites([LinkURL]))
in
#"Invoked Custom Function"