Forum Discussion
Bucle de Power BI REST de API
Se ve muy bien, ¿cómo lo gestiono con el encabezado, la cookie y el web.contents?
¿Cuál será el código para la paginación de las "líneas de la hoja de horas"?
- Syndicate_Admin1 year agoAdministrator
@Pitou
Bueno, en base a la información que nos proporcionó:let // Define API request as a reusable function request = (offset as number, limit as number) => Json.Document( Web.Contents( "https://sxXXXX/", [ RelativePath = "timesheet-lines", Query = [ sort = "id-", offset = Text.From(offset), limit = Text.From(limit), api_key = "8e529cc63e220c2c7a02eb706986bbbd" ] ] ) ), // Get total number of records getTotal = request(0, 1)[total], // Assumes the API returns a `total` field in the response // Set page size and calculate total pages pageSize = 1000, totalPages = Number.RoundDown(getTotal / pageSize), // Generate list of pages pages = {0..totalPages}, // Fetch data for each page populatePages = List.Transform( pages, each request(_ * pageSize, pageSize)[data] // Assumes `data` contains the records ), // Combine all pages into a single list expandPages = List.Combine(populatePages) in expandPages- Syndicate_Admin1 year agoAdministrator
Tengo un error, la entrada "total" no está presente en el registro.
Supongo que es de la línea 20
- Syndicate_Admin1 year agoAdministrator
Bueno, sí, no conozco tu API, necesitas saber si tienes registro [total] o no, eso es parte de la respuesta inicial. Si no tienes eso y tienes un campo diferente que te dice cuánto en el registro total tienes, tienes que usar ese.
Alternativamente, haga muchas páginas por adelantado para asegurarse de que no se perderá nada y luego elimine las vacías (esta solución evita la necesidad del campo [total], por lo que puede omitir ese paso)