1
resposta

Sintaxe List.Generate

Prezado (a), Boa noite!

Sobre a nova lista de dados => #"Lista Dados" = List.Generate ( ()=> [Pagina = 0, Consulta = #"Requisição"(0)], each [Pagina] > #"Total Paginas", each [Consulta = #"Requisição"([Pagina]+1),Pagina = [Pagina]+1], each [Consulta]

   Eu entendi toda a lógica, porém fiquei em dúvida no porque que na condição a pagina entra como registro e porque o retorno vem de registro também.
1 resposta

Olá, Marcus Vinícius! A função List.Generate no Power Query M é usada para gerar uma lista de valores usando as funções fornecidas. Ela tem quatro argumentos: initial, condition, next e selector (opcional).

  • initial é uma função que gera um valor inicial.
  • condition é uma função que testa se o valor atual deve ser incluído na lista.
  • next é uma função que gera o próximo valor a partir do valor atual.
  • selector (opcional) é uma função que transforma o valor atual antes de ser incluído na lista.
  • No seu caso, initial é uma função que retorna um registro com Pagina = 0 e Consulta = #"Requisição"(0). condition é uma função que verifica se Pagina é maior que #"Total Paginas". next é uma função que retorna um novo registro com Consulta = #"Requisição"([Pagina]+1) e Pagina = [Pagina]+1. E selector é uma função que retorna Consulta.

Portanto, Pagina e Consulta são campos do registro atual, e eles são usados na condição e no retorno porque a função List.Generate está operando em registros. A condição determina se o registro atual deve ser incluído na lista, e o retorno determina o que exatamente é incluído na lista.

Espero que isso esclareça sua dúvida! Se você tiver mais perguntas, fique à vontade para perguntar.