Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo crear una lista dinámica personalizada para la paginación de la API de REST?

Hola

Estoy intentando crear una lista dinámica que aumente en el año 2000 hasta que cumpla con el recuento total de resultados. Consulte a continuación el resultado inicial de mi API.

1.jpg

He probado algunas opciones y no funcionó. Por favor, hágame saber cómo hacer esto, y mi conocimiento de la API con Power BI es poco o nada.
Debajo de la opción intenté codificarlo para probarlo, funciona pero no es dinámico.

La opción 2 no funciona, me dará un mensaje de error. Una cosa más que no puedo hacer es comenzar la página 1,2,3... Me dará el mismo resultado.

Todo lo que quiero es agregar una lista dinámica como follow hasta que cumpla con TotalResultCount en api.

Json.Document(Web.Contents("https://rally1.rallydev.com/slm/webservice/v2.0/defect?workspace=https://rally1.rallydev.com/slm/web... start="&[Columna1], [Encabezados=[zsessionid="******

Lista =
Empezar
1
2000
4000
6000
8000
10000
12000
14000
Por favor, ayúdame a lograr esto de la mejor manera.

También probé los siguientes métodos que encontré en línea, desafortunadamente, no funcionaron para mí.

http://sqlcodespace.blogspot.com/2017/09/power-bipower-query-api-response.html

https://datachant.com/2016/06/27/cursor-based-pagination-power-query/

https://adatis.co.uk/Loop-through-Multiple-Web-Pages-using-Power-Query/

Muchas gracias por su ayuda y tiempo

2 ACCEPTED SOLUTIONS
Syndicate_Admin
Administrator
Administrator

Hay @bikelley

Descargar archivo PBIX de ejemplo

Este código creará tu lista

let
    Source = Record.FromList({12958},{"TotalResultCount"}),
    TotalResultCount = Source[TotalResultCount],
    DynamicList = List.Generate(() => 2000, each _ < TotalResultCount, each _ + 2000),
    FinalList = List.Combine({DynamicList, {TotalResultCount}})
in
    FinalList

dlist.png

He configurado un registro ficticio en el paso Origen para poder simular la obtención de TotalResultCount. Puede modificar esto para que se adapte a su propia estructura de consulta.

Saludos

Phil

View solution in original post

Syndicate_Admin
Administrator
Administrator

Hay @bikelley

Cambie el paso FinalList a este

FinalList = List.Combine({{1}, DynamicList, {TotalResultCount}})

Saludos

Phil

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hay @bikelley

Cambie el paso FinalList a este

FinalList = List.Combine({{1}, DynamicList, {TotalResultCount}})

Saludos

Phil

Muchas gracias por su ayuda y tiempo.

Syndicate_Admin
Administrator
Administrator

Hay @bikelley

Descargar archivo PBIX de ejemplo

Este código creará tu lista

let
    Source = Record.FromList({12958},{"TotalResultCount"}),
    TotalResultCount = Source[TotalResultCount],
    DynamicList = List.Generate(() => 2000, each _ < TotalResultCount, each _ + 2000),
    FinalList = List.Combine({DynamicList, {TotalResultCount}})
in
    FinalList

dlist.png

He configurado un registro ficticio en el paso Origen para poder simular la obtención de TotalResultCount. Puede modificar esto para que se adapte a su propia estructura de consulta.

Saludos

Phil

Hola @PhilipTreacy
Muchas gracias por su ayuda.
Esto está funcionando, pero el único problema es que la Lista no comienza desde 1. ¿Puede decirme si hay alguna manera de que podamos agregar 1 antes del año 2000? Ahora no estoy recibiendo los primeros registros de 2000.

Lista

1
2000
4000
6000
8000
10000
12000
12958

Este mi Power Query con su código,

let
  Source = Json.Document(Web.Contents("https://rally1.rallydev.com/slm/webservice/v2.0/defect?workspace=https://rally1.rallydev.com/slm/webservice/v2.0/workspace/331029809496&query=&fetch=true&start=1&pagesize=20000", [Headers=[zsessionid="**************"]])),
    QueryResult = Source[QueryResult],
    TotalResultCount = QueryResult[TotalResultCount],
    DynamicList = List.Generate(() => 2000, each _ < TotalResultCount, each _ + 2000),
    FinalList = List.Combine({DynamicList, {TotalResultCount}})
in
    FinalList

Por favor, hágamelo saber la forma en que puedo agregar 1. Muchas gracias

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.