let
Источник = List.Numbers(1,1000,100),
#"Преобразовано в таблицу" = Table.FromList(Источник, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Измененный тип" = Table.TransformColumnTypes(#"Преобразовано в таблицу",{{"Column1", type text}}),
#"Добавлен пользовательский объект" = Table.AddColumn(#"Измененный тип", "Пользовательская", each Xml.Tables(Web.Contents("https://iss.moex.com/iss/history/engines/stock/markets/shares/securities.xml?date=Excel.Workbook(File.Contents(Excel.CurrentWorkbook(){[Name="Date_Parametr"]}[Content]{0}[Date From]), null, true)&start="&[Column1])){0}[Table]{0}[rows]{0}[row]),
#"Удаленные ошибки" = Table.RemoveRowsWithErrors(#"Добавлен пользовательский объект", {"Пользовательская"}),
#"Развернутый элемент Пользовательская" = Table.ExpandTableColumn(#"Удаленные ошибки", "Пользовательская", {"Attribute:BOARDID", "Attribute:TRADEDATE", "Attribute:SHORTNAME", "Attribute:SECID", "Attribute:NUMTRADES", "Attribute:VALUE", "Attribute:OPEN", "Attribute:LOW", "Attribute:HIGH", "Attribute:LEGALCLOSEPRICE", "Attribute:WAPRICE", "Attribute:CLOSE", "Attribute:VOLUME", "Attribute:MARKETPRICE2", "Attribute:MARKETPRICE3", "Attribute:ADMITTEDQUOTE", "Attribute:MP2VALTRD", "Attribute:MARKETPRICE3TRADESVALUE", "Attribute:ADMITTEDVALUE", "Attribute:WAVAL", "Attribute:TRADINGSESSION"}, {"Пользовательская.Attribute:BOARDID", "Пользовательская.Attribute:TRADEDATE", "Пользовательская.Attribute:SHORTNAME", "Пользовательская.Attribute:SECID", "Пользовательская.Attribute:NUMTRADES", "Пользовательская.Attribute:VALUE", "Пользовательская.Attribute:OPEN", "Пользовательская.Attribute:LOW", "Пользовательская.Attribute:HIGH", "Пользовательская.Attribute:LEGALCLOSEPRICE", "Пользовательская.Attribute:WAPRICE", "Пользовательская.Attribute:CLOSE", "Пользовательская.Attribute:VOLUME", "Пользовательская.Attribute:MARKETPRICE2", "Пользовательская.Attribute:MARKETPRICE3", "Пользовательская.Attribute:ADMITTEDQUOTE", "Пользовательская.Attribute:MP2VALTRD", "Пользовательская.Attribute:MARKETPRICE3TRADESVALUE", "Пользовательская.Attribute:ADMITTEDVALUE", "Пользовательская.Attribute:WAVAL", "Пользовательская.Attribute:TRADINGSESSION"}),
#"Измененный элемент Пользовательская" = Table.TransformColumnTypes(#"Развернутый элемент Пользовательская",{{"Пользовательская.Attribute:BOARDID", type text}, {"Пользовательская.Attribute:TRADEDATE", type date}, {"Пользовательская.Attribute:SHORTNAME", type text}, {"Пользовательская.Attribute:SECID", type text}, {"Пользовательская.Attribute:NUMTRADES", type number}, {"Пользовательская.Attribute:OPEN", type number},{"Пользовательская.Attribute:LOW", type number}, {"Пользовательская.Attribute:HIGH", type number}, {"Пользовательская.Attribute:LEGALCLOSEPRICE", type number}, {"Пользовательская.Attribute:WAPRICE", type number}, {"Пользовательская.Attribute:CLOSE", type number}, {"Пользовательская.Attribute:VOLUME", type number}, {"Пользовательская.Attribute:MARKETPRICE2", type number}, {"Пользовательская.Attribute:MARKETPRICE3", type number}, {"Пользовательская.Attribute:ADMITTEDQUOTE", type number}, {"Пользовательская.Attribute:MP2VALTRD", type number}, {"Пользовательская.Attribute:MARKETPRICE3TRADESVALUE", type number},{"Пользовательская.Attribute:ADMITTEDVALUE",type number}, {"Пользовательская.Attribute:WAVAL",type number}, {"Пользовательская.Attribute:TRADINGSESSION", type number}},"en-GB"),
#"Другие удаленные столбцы" = Table.SelectColumns(#"Измененный элемент Пользовательская",{"Пользовательская.Attribute:BOARDID", "Пользовательская.Attribute:TRADEDATE", "Пользовательская.Attribute:SHORTNAME", "Пользовательская.Attribute:SECID", "Пользовательская.Attribute:NUMTRADES", "Пользовательская.Attribute:VALUE", "Пользовательская.Attribute:OPEN", "Пользовательская.Attribute:LOW", "Пользовательская.Attribute:HIGH", "Пользовательская.Attribute:LEGALCLOSEPRICE", "Пользовательская.Attribute:WAPRICE", "Пользовательская.Attribute:CLOSE", "Пользовательская.Attribute:VOLUME", "Пользовательская.Attribute:MARKETPRICE2", "Пользовательская.Attribute:MARKETPRICE3", "Пользовательская.Attribute:ADMITTEDQUOTE", "Пользовательская.Attribute:MP2VALTRD", "Пользовательская.Attribute:MARKETPRICE3TRADESVALUE", "Пользовательская.Attribute:ADMITTEDVALUE", "Пользовательская.Attribute:WAVAL", "Пользовательская.Attribute:TRADINGSESSION"}),
Пользовательская1 = Table.TransformColumnNames(#"Другие удаленные столбцы", each Text.AfterDelimiter(_,":"))
in
Пользовательская1
Необходимо условие по дате ?date = задать как параметр, ссылающийся на значений из таблицы Date_Parametrs (5 строка кода). Почему-то в таком виде код не работает( Помогите, пжл.
Vlad Nickolaev, Добрый день! С интернета редко делаю запросы. Ваш запрос у меня не отработал, выдал ошибку. Но точно знаю, что Ваш параметр, который Вы передаете в ссылку, необходимо превратить в текст. Так как ссылка - это у Вас текстовая строка. Воспользуйтесь Text.From() либо Date.ToText()
где-то запятую пропустили. Проверяйте запрос. Эта ошибка у Вас и в начальном варианте присутствует. А еще правильнее, не растягивать портянки в одну строку, а выносить в "переменные". Например, для той же даты:
Так меньше шансов ошибиться. Например, изначально у Вас объединение строки URL с параметром было неверным(пропущены кавычки и амперсанд), да к тому излишнее обращение к Workbook. А вот что там у Вас идет за чушь в виде [Column1])){0}[Table]{0}[rows]{0}[row] я не очень понимаю. Что это, откуда и почему именно там я так и не вкурил, а времени вникать и потрошить Ваш код сейчас нет.
Эта часть кода предназначена, чтобы я вытягивал все строки на заданную дату, так как по умолчанию МосБиржа позволяет тянуть только 100 строк. В части запятой - вставил Ваш кусок кода и все равно выдает ошибку comma(
я не искал её и не пытался. Я показал Вам как дату и листа вставить. А все остальное написано как-то не понятно для меня и я не стал разбираться. Там вперемешку и данные с листов, и обращение к таблицам в тех местах, где таблиц вроде быть не должно... Оставьте только ту часть, которая вызывает у Вас наибольшие проблемы и приложите сюда код. Например, тема у Вас подразумевает, что проблемы с использованием даты с листа. Вот и оставьте запрос со статичной датой в запросе, а мы покажем, как её заменить на дату с листа. А дальше уже по шагам можно будет решить и остальные проблемы.
#"Добавлен пользовательский объект" = Table.AddColumn(#"Измененный тип", "Пользовательская", each Xml.Tables(Web.Contents("https://iss.moex.com/iss/history/engines/stock/markets/shares/securities.xml?date=2021-09-20&...),
Сложность у меня в том, что в таком виде (когда дата задается напрямую) у меня все работает, но при параметризации даты выявляется какая-то пропущенная запятая и я даже понять не могу, куда смотреть...
и не надо. приложите работающий запрос(без ошибок), а мы тут уже поможем написать его с параметрами. В Вашем сообщении ссылка "съелась" редактором. Да и я с этим сайтом последний раз года два назад работал и сейчас не пойму сразу, куда именно Вы хотите воткнуть номера(1, 101, 201 и т.д.). Поясните - тогда можно поразбираться. Почитайте пока, вдруг поможет: Курс валют при помощи Power Query та же тема, только на примере курса валют.