cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
MarceloHSA
Regular Visitor

Adicionar linhas entre data inicio e data fim (loop while)

Bom dia,

Hoje me deparei com um problema que eu sabia que chegaria algum dia... Preciso almentar o número de registros na minha tabela baseado em uma regra. Eu resolvia esse tipo de problema com "while" em outra ferramenta, mas em linguagem M não consegui encontrar uma solução.
A baixo segue um exemplo simplório.

CONTAEMPRESADATA INICIODATA FIM
000000emp 101/11/202001/02/2021
111111emp 101/05/202101/06/2021
222222emp 201/04/202101/06/2021


Baseado na tabela a cima, eu preciso criar todos os meses entre o inicio e o fim. O resultado esperado é:

CONTAEMPRESAMES ANO
000000emp 101/11/2020
000000emp 101/12/2020
000000emp 101/01/2021
000000emp 101/02/2021
111111emp 101/05/2021
111111emp 101/06/2021
222222emp 201/04/2021
222222emp 201/05/2021
222222emp 201/06/2021


Obs. a solução precisa ser em M, não pode ser SQL.
Agradeço desde já pela ajuda.

1 ACCEPTED SOLUTION
MarceloHSA
Regular Visitor

Hi v-stephen-msft ,
thanks for your suggestion, but it's not like what I expected.

 

Deixo meu agradecimento também ao Gil Raviv, do datachant   que compartilhou comigo algumas possibilidades que certamente usarei no futuro.


Bom, eu cheguei a solução que esperava no dia que postei a pergunta, só não havia conseguido passar para compartilhar a solução. De forma resumida, fiz um loop com list.generate() onde incrementava dois valores dependendo da condição, algo mais parecido com um loop aninhado. Hora incrementava a data (loop interno) hora incrementava a linha (loop externo).

Desta forma a iteração funciona corretamente, mas é indispensável a utilização da tabela em buffer para conjuntos grandes.

 

imagem 1.png

Última observação, a função list.generate() possúi um terceiro argumento opcional que permite especificar o que será retornado, podemdo assim omitir a coluna i (identificador da linha) e a coluna fim que não possuem mais utilidade.

View solution in original post

3 REPLIES 3
MarceloHSA
Regular Visitor

MarceloHSA_0-1623696324586.png

 

MarceloHSA
Regular Visitor

Hi v-stephen-msft ,
thanks for your suggestion, but it's not like what I expected.

 

Deixo meu agradecimento também ao Gil Raviv, do datachant   que compartilhou comigo algumas possibilidades que certamente usarei no futuro.


Bom, eu cheguei a solução que esperava no dia que postei a pergunta, só não havia conseguido passar para compartilhar a solução. De forma resumida, fiz um loop com list.generate() onde incrementava dois valores dependendo da condição, algo mais parecido com um loop aninhado. Hora incrementava a data (loop interno) hora incrementava a linha (loop externo).

Desta forma a iteração funciona corretamente, mas é indispensável a utilização da tabela em buffer para conjuntos grandes.

 

imagem 1.png

Última observação, a função list.generate() possúi um terceiro argumento opcional que permite especificar o que será retornado, podemdo assim omitir a coluna i (identificador da linha) e a coluna fim que não possuem mais utilidade.

View solution in original post

v-stephen-msft
Community Support
Community Support

Hi @MarceloHSA ,

 

First create a custom column, get the next day, separate the four date columns to get four tables.

7.png

 

And then keep the column names of the date columns consistent, and then merge. About append queries.

8.png

 

After removing duplicates, the result is this.

9.png

 

 

Best Regards,

Stephen Tao

 

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

2021 Release Wave 2 Plan

Power Platform release plan for the 2021 release wave 2 describes all new features releasing from October 2021 through March 2022.

July 2021 Update 768x460.png

Check it out!

Click here to read more about the July 2021 Updates

Top Solution Authors
Top Kudoed Authors