Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Hola a todos,
Estoy accediendo a la conexión de API en una tabla de Dataverse (autorización realizada a través de una cuenta de organización) envolviendo la URL del punto final de la API web en una función Web.Contents simple. P. ej..:
let
Source = Web.Contents(https://xxx-prod-xxx.api.crm11.dynamics.com/api/data/v9.2/audits)
in
Source
Desafortunadamente, el resultado está limitado a 500 filas. He probado las sugerencias de paginación y bucle en línea, pero ninguna parece proporcionar una solución viable. Las soluciones fallan en puntos que no entiendo porque no tengo conocimientos con JSON o con la ejecución de llamadas API en general.
Por ejemplo:
let
Source = Json.Document(Web.Contents(https://xxx-prod-uksa.api.crm11.dynamics.com/api/data/v9.2/audits)),
BaseUrl = https://xxx-prod-uksa.api.crm11.dynamics.com,
EntitiesPerPage = 50,
GetJson = (Url) =>
let RawData = Web.Contents(Url),
Json = Json.Document(RawData)
in Json,
GetTotalEntities = () =>
let Json = GetJson(BaseUrl),
Total = Json[total]
in Total,
GetPage = (Index) =>
let Skip = "skip=" & Text.From(Index * EntitiesPerPage),
Url = BaseUrl & "&" & Skip,
Json = GetJson(Url),
Value = Json[data]
in Value,
GetUrl = (Index) =>
let Skip = "skip=" & Text.From(Index * EntitiesPerPage),
Url = BaseUrl & "&" & Skip
in Url,
EntityCount = List.Max({ EntitiesPerPage, GetTotalEntities() }),
PageCount = Number.RoundUp(EntityCount / EntitiesPerPage),
PageIndices = { 0 .. PageCount - 1 },
URLs = List.Transform(PageIndices, each GetUrl(_)),
Pages = List.Transform(PageIndices, each GetPage(_)),
Entities = List.Union(Pages),
#"Converted to Table" = Table.FromList(Entities, Splitter.SplitByNothing(), null, null, ExtraValues.Error)
in
#"Converted to Table"
No estoy equipado para saber si el error se debe a que el código M anterior no es viable para Dataverse o si cometí un error en alguna parte.
¿Alguien podría aconsejar?
Mi URL base: https://xxx-prod-uksa.api.crm11.dynamics.com/
Mi URL completa: https://xxx-prod-uksa.api.crm11.dynamics.com/api/data/v9.2/audits
Referencias:
https://datachant.com/2016/06/27/cursor-based-pagination-power-query/
https://medium.com/@marktiedemann/how-to-do-pagination-in-power-query-430460c17c78
¿Alguna novedad para esta pregunta?
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.