Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
8 years ago
Solved

List.Generate() Passing Parameters - Power Query

Hi Community,

 

I am using List.Generate to create a loop function in power query.

This loop is running on start date & end date for each iteration, which I am getting from within the loop.

The starting dates, I have defined , currently within the List.Generate() function. Can these dates be defined out of the list.Generate function.

ie

If I can use startdate and enddate commented in green, instead of hardcoding in List.Generate() here in Red.

I tried using it, but it could not recognize those values.

 

 //StartDate = #date(2018,01,01), 
 //EndDate = #date(2018,01,31), 

	GeneratedList =
	List.Generate(
	()=>[StartDate = #date(2017,11,01),EndDate = Date.AddMonths(StartDate,1),res =FnGetOnePage(StartDate,EndDate)],
	each  [StartDate] < DateTime.Date(DateTime.LocalNow()),
	each [StartDate = Date.AddMonths([StartDate],1),
          EndDate= Date.AddMonths([EndDate],1),
          res = FnGetOnePage(StartDate,EndDate)
              ],
	each[res][profiles]
    ),
     Result = Table.FromRecords(List.Combine(GeneratedList))
   
in
    Result

 Regards

emudria

 

 

 

 

  • Not exactly like yours, but this worked for me:

     

    let
     StartDate = #date(2017,01,01), 
     EndDate = #date(2018,01,31),
     GeneratedList = List.Generate(()=>StartDate, each _ < EndDate, each Date.AddMonths(_,1))
    in
        GeneratedList

3 Replies

  • Greg_Deckler's avatar
    Greg_Deckler
    Community Champion

    Not exactly like yours, but this worked for me:

     

    let
     StartDate = #date(2017,01,01), 
     EndDate = #date(2018,01,31),
     GeneratedList = List.Generate(()=>StartDate, each _ < EndDate, each Date.AddMonths(_,1))
    in
        GeneratedList
      • v-chuncz-msft's avatar
        v-chuncz-msft
        Community Support

        Anonymous,

         

        Glad to hear that. You may help accept solution. Your contribution is highly appreciated.