Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hola usuarios de PBi,
Yo, a diario, raspo un sitio web por los precios de los fondos, pero el sitio web se ha actualizado durante el fin de semana y mi consulta (abajo) y la tabla a continuación, ya no funciona. Por favor, ayúdame.
Agradecemos mucho cualquier ayuda que pueda proporcionar.
¡Gracias!
el nuevo sitio web es ... https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid=121&start...
Dejar
Función para cada información sectorial
WebCall (SectorID como texto) ?>
Dejar
Fuente: Web.Page(Web.Contents("https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid-"&SectorI..., 0, 0, 60)])),
Datos - Origen [NombreDeAplicación de clase"sortableTable"]-[Datos],
ListOfAllPages ? if List.Count(List.Skip(Text.Split(Data{0}[Name], "'(lf)")))''0'''1'' else List.Skip(Text.Split(Data{0}[Name], "'(lf)")),
"Convertido a la tabla" - Table.FromList(ListOfAllPages, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
RearragnedURL - Table.AddColumn(-"Convertido a la tabla", "Personalizado", cada Web.Page(Web.Contents("https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?tab-prices&filters...]),
"Expanded Custom" á Table.ExpandTableColumn(RearragnedURL, "Custom", "Name", "Current price Sell (p)", "Current price Change (p)", "More information", "Name", "Sell (p)", "Change (p)", "More information" )
"Dividir columna por delimitador" , "Más información.1", "Más información", Splitter.SplitTextByDelimiter("-(lf)", QuoteStyle.Csv), "Más información.1", "Más información.2", "Más información.3", "Más información.4", "Más información.5", "Más información.6"),
"Columnas renombradas" - Table.RenameColumns("Dividir columna por delimitador","Más información.2", "Tipo de unidad", "Más información.4", "Sector", "Más información.6", "Fecha de valoración"-),
"Columnas eliminadas" - Table.RemoveColumns("Columnas renombradas","Más información.1", "Más información.3", "Más información.5", "Columna1"-),
"Añadido Personalizado" - Table.AddColumn(-"Columnas eliminadas", "Nombre + tipo", cada [Nombre]&" - "&[Tipo de unidad]),
"Columnas reordenadas" - Table.ReorderColumns('Added Custom",'Name", 'Name + type", 'Sell (p)", "Change (p)", "Unit type", "Sector", "Valuation date"-),
"Filas filtradas" - Table.SelectRows(-"Columnas reordenadas", cada una no Text.StartsWith([Name], "Page:")),
"Columnas eliminadas1" - Table.RemoveColumns("Filas filtradas","Nombre", "Tipo de unidad")),
"Tipo de cambio" - Table.TransformColumnTypes(''''''''''''Nombre + tipo''', ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
En
"Tipo cambiado",
Inicio de la consulta principal: Profundizar en Html para recuperar una tabla con todos los sectores
Fuente "SectorIDs - 1",
Función de llamada y limpieza
CallEachFunction á Table.AddColumn(Source, "WebCall", each WebCall([SectorID])),
FilterOutEmpties á Table.SelectRows(CallEachFunction, each [WebCall] <> null),
"Expanded WebCall" á Table.ExpandTableColumn(FilterOutEmpties, "WebCall", "Name + type", "Sell (p)", "Change (p)", "Sector", "Valuation date", "Name + type", "Sell (p)", "Change (p)", "Sector", "Valuation date"-),
"Columnas eliminadas" - Table.RemoveColumns(-"Expanded WebCall","SectorID", "SectorName" )
"Tipo de cambio" - Table.TransformColumnTypes('''Columnas eliminadas'','Nombre + tipo','texto', ''Vender (p)", 'número de tipo', ''Cambiar (p)", 'número de tipo', ''Sector', tipo text', ''Fecha de valoración', tipo text'),
"Filas filtradas" - Table.SelectRows(-"Changed Type", cada uno (no Number.IsNaN([-"Sell (p)"])),
"Changed Type1" á Table.TransformColumnTypes(-"Rows Filtered Rows","Change (p)", Currency.Type-)
En
"Tipo cambiado1"
La tabla "SectorIDs - 1" está a continuación
121 | Asia Pacífico Ex Japón |
114 | Asia Pacific Inc Japón |
155 | China/ Gran China |
111 | Europa excluyendo reino Unido |
102 | Europa incluyendo Reino Unido |
117 | Empresas Europeas Pequeñas |
115 | Inversión flexible |
150 | Bono Corporativo GBP |
151 | GBP Alto Rendimiento |
152 | Bono Estratégico de GBP |
109 | Global |
106 | Bonos Globales |
112 | Mercados emergentes globales |
156 | Bono Global de Mercados Emergentes |
139 | Ingresos globales de capital |
113 | Japón |
132 | Empresas Japonesas Más Pequeñas |
133 | Latinoamérica |
137 | Inversión mixta 0-35% Acciones |
131 | Inversión mixta 20-60% Acciones |
107 | Inversión mixta 40-85% Acciones |
123 | Mercado de dinero |
999 | N/A |
110 | Norteamérica |
130 | North American Smaller Cos |
71 | Offshore |
400 | Fideicomisos de Pensiones |
108 | Propiedad |
138 | Mercado monetario a corto plazo |
129 | Especialista |
136 | Retorno absoluto objetivo |
134 | Tecnología y telecomunicaciones |
101 | Reino Unido Todas las Empresas |
104 | Ingresos por patrimonio y bonos del Reino Unido |
103 | Ingresos de capital del Reino Unido |
127 | UK Gilt |
135 | UK Index Linked Gilt |
118 | Empresas más pequeñas del Reino Unido |
48 | Sin clasificar |
157 | Volatilidad gestionada |
Creo que podría ser una cosa anti-spam en este foro, pero acortan cualquier URL en cosas publicadas por lo que no sabemos cuáles son las 2 líneas con enlaces web.
Tuve un breve intento con la Consulta. La tabla que se devuelve con nombres de fondos es results__table no sortableTable.
La segunda llamada web (RearragnedURL ) presumiblemente construye cada url con posiciones en la lista, por ejemplo, se puede ver que los controles de parámetro &start que se muestran en la página
https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid=121&start=0&rpp=20&lo=0%2C1&sort=fd.full_description&sort_dir=asc
https://www.hl.co.uk/funds/fund-discounts,-prices--and--factsheets/search-results?sectorid=121&start=20&rpp=20&lo=0%2C1&sort=fd.full_description&sort_dir=asc
En general, creo que el trabajo involucrado es demasiado complejo para un tema del foro. Necesita tiempo y esfuerzo.
Te agradezco que hayas @HotChilli
Lamentablemente, sí, es bastante complejo. He pasado la mayor parte del día raspando manualmente el sitio web .... eeeek!
Sí, el nombre de la mesa ha cambiado, disculpas por no afirmar eso en mi post original. Hay 39 "sectorid" y cada sectorid, posiblemente, tener más de 1 página y con el cambio en el sitio web no se puede poner números de página en la URL. Es sólo otro dolor de cabeza que he encontrado.
De todos modos, te agradezco que te tomes el tiempo para mirar. Seguiré rascándose la cabeza y espero llegar a una solución
Gracias de nuevo
Otro dolor de cabeza que me enfrenté no fue capaz de navegar a la pestaña "Precios & Rendimientos". Esto no aparece en la dirección URL, por lo que no sé cómo acceder a esta pestaña a través de la consulta.
Muchas gracias
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.