Forum Discussion

Syndicate_Admin's avatar
Syndicate_Admin
Icon for Administrator rankAdministrator
3 years ago
Solved

Llamadas a API de bucle en Power BI

¡Hola!

Estoy usando Power BI para realizar una llamada a una API para exportar un archivo. Tengo que asegurarme de que la llamada a la API devuelve "complete" antes de poder llamar a una segunda API para exportar correctamente el archivo.

He intentado usar List.Generate para hacer un bucle de una función personalizada (para obtener el resultado de progreso) pero no parece que esté funcionando correctamente.

= List.Generate(
() => [i=0, result = GetResponseExportProgress(ProductID, ProgressID)],
cada [i] < 30 y GetResponseExportProgress(ProductID, ProgressID) = "inProgress",
each [i=[i]+1, result = Function.InvokeAfter(()=> fnGetResponseExportProgress(ProductID,ProgressID), #duration(0,0,0,5))]
)

Obtengo una lista de registros y todos los registros están "en progreso", pero cuando actualizo la tabla nuevamente, el progreso pasa a ser "completo".

Aquí está el código utilizado para GetResponseExportProgress, he ocultado la url y apitoken

(ProductID como texto, ProgressID como texto) =>
dejar
GetResponseExportProgress = Json.Document(Web.Contents("[urlhidden]" & ProgressID, [Headers=[#"content-type"="application/json", #"x-api-token"="[apitokenhidden]", Accept="application/json;odata=verbose"]]), null), null
GetResponseExportProgressResult = GetResponseExportProgress[resultado][estado]
en GetResponseExportProgressResult

¿Alguien puede ayudar con esto?

  • En caso de que alguien necesite una solución para esto, Power BI almacena en caché las llamadas a la API que tienen exactamente los mismos parámetros. Tendríamos que establecer IsRetry en true para que API ignore los datos almacenados en caché. Power BI también almacena en caché los resultados de la primera llamada que se almacenan en una variable, incluso si se vuelve a llamar a la API posteriormente.

3 Replies