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 Group Leader_768x460.jpg

Manage your user group events

Check out the News & Announcements to learn more.

Get Ready for Power BI Dev Camp

Microsoft named a Leader in The Forrester Wave

Microsoft received the highest score of any vendor in both the strategy and current offering categories.

Get Ready for Power BI Dev Camp

Power BI Dev Camp - September 30th, 2021

Mark your calendars and join us for our next Power BI Dev Camp!

PowerPlatform 768x460.png

Microsoft Learn

Check out our new Discover Your Career Path blog post series and get all the details.

Top Kudoed Authors