web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Collect weeks between ...
Power Apps
Answered

Collect weeks between two dates

(0) ShareShare
ReportReport
Posted on by 86

Hi,

 

I create app. In my App I have two date pickers. The first is "Start date" the second is "End Date".

I select Start Date and then the End Date.

 

After this I need to collect collection, where will be each week as a row (including year of the week in another column). 

How to do it?

 

Thank you for your ideas.

George

 

Categories:
I have the same question (0)
  • RezaDorrani Profile Picture
    12,145 on at

    Hi @JiriS 

     

    I just posted something similar in the webinars gallery

    https://powerusers.microsoft.com/t5/Webinars-and-Video-Gallery/Power-Apps-Date-Calculations-for-Business-Days/m-p/619259#M1080

     

    --------------------------------------------------------------------------------
    If this post helps answer your question, please click on “Accept as Solution” to help other members find it more quickly. If you thought this post was helpful, please give it a Thumbs Up.

    Thanks,
    Reza Dorrani, MVP
    YouTube
    Twitter

  • v-bofeng-msft Profile Picture
    Microsoft Employee on at

    Hi @JiriS :

    Do you want to put the date of the week in the same record?

    Do you want to collect weekly data based on start date and end date?

    My suggestion is to save the records one by one in a circular way through the timer control.

    I'v made a test for your reference:

    1\Add two datepicker controls(DatePicker2/DatePicker2_1)

    2\Add a timer control

    OnSelect

     

    Set(thevar,0) /*thevar is my custom variable*/

     

    Duration

     

    500 /*loop in 0.5s*/

     

    Repeat:

     

    If(thevar>RoundDown(DateDiff(DatePicker2.SelectedDate,DatePicker2_1.SelectedDate)/7,0),false,true) /*Determine the number of cycles based on the start and end dates*/

     

    OnTimerEnd

     

    Switch(
    Weekday(DatePicker2.SelectedDate),
    1,
    Collect(MYdate, /*MYdate is my custom collection*/
     {Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
     Monday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
     Tuesday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
     Wedesday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
     Thursday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)),
     Friday:If(DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)),
     Saturday:If(DateAdd(DatePicker2.SelectedDate,6+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,6+7*thevar,Days))}),
    2,
    Collect(MYdate,
     {Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
     Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
     Tuesday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
     Wedesday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
     Thursday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
     Friday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)),
     Saturday:If(DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days))}),
    3,
    Collect(MYdate,
     {Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
     Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
     Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
     Wedesday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
     Thursday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
     Friday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
     Saturday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days))}),
    4,
    Collect(MYdate,
     {Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
     Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
     Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
     Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
     Thursday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
     Friday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
     Saturday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days))}),
    5,
    Collect(MYdate,
     {Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
     Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
     Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
     Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
     Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
     Friday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
     Saturday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days))}),
    6,
    Collect(MYdate,
     {Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)),
     Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
     Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
     Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
     Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
     Friday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
     Saturday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days))}),
    7,
    Collect(MYdate,
     {Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)),
     Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)),
     Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
     Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
     Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
     Friday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
     Saturday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days))}));
    Set(thevar,thevar+1)

     

    70.gif

    Best Regards,

    Bof

     

  • JiriS Profile Picture
    86 on at

    That is really nice. It looks fantastic. I little change it because my startday of week is Monday.

     

    But I have one question. How can I get from this the number of week (1-53) in year.

    Or at least how can I get the number of week between date range (actual number of row). (see the print screen)

     

    Thank you,

    GeorgeBez názvu.png

  • JiriS Profile Picture
    86 on at

    Hi,

     

    thank you for your idea, but how can I get the week number from this?

     

    Thanks for explaining

  • v-bofeng-msft Profile Picture
    Microsoft Employee on at

    Hi @JiriS :

    Please try this code:

     

     

     

    Switch(
    Weekday(DatePicker2.SelectedDate),
    1,
    Collect(MYdate,
       {NO:thevar+1,Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Monday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,6+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,6+7*thevar,Days))}),
    2,
    Collect(MYdate,
       {NO:thevar+1,Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days))}),
    3,
    Collect(MYdate,
       {NO:thevar+1,Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days))}),
    4,
    Collect(MYdate,
       {NO:thevar+1,Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
        Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days))}),
    5,
    Collect(MYdate,
       {NO:thevar+1,Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
        Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days))}),
    6,
    Collect(MYdate,
       {NO:thevar+1,Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)),
        Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days))}),
    7,
    Collect(MYdate,
       {NO:thevar+1,Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)),
        Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days))}));Set(thevar,thevar+1)

     

     

     

     

    Best Regards,

    Bof

  • JiriS Profile Picture
    86 on at

    Thank you, it works. But I have one question. How can I change the start of week to monday?

     

    Thank you

  • Verified answer
    v-bofeng-msft Profile Picture
    Microsoft Employee on at

    Hi @JiriS :

    Please try this code:

    Switch(
    Weekday(DatePicker2.SelectedDate),
    2,
    Collect(MYdate,
       {NO:thevar+1,Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)),
        Sunday:If(DateAdd(DatePicker2.SelectedDate,6+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,6+7*thevar,Days))}),
    3,
    Collect(MYdate,
       {NO:thevar+1,Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)),
        Sunday:If(DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,5+7*thevar,Days))}),
    4,
    Collect(MYdate,
       {NO:thevar+1,Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)),
        Sunday:If(DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,4+7*thevar,Days))}),
    5,
    Collect(MYdate,
       {NO:thevar+1,Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)),
        Sunday:If(DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,3+7*thevar,Days))}),
    6,
    Collect(MYdate,
       {NO:thevar+1,Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)),
        Sunday:If(DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,2+7*thevar,Days))}),
    7,
    Collect(MYdate,
       {NO:thevar+1,Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days)),
        Sunday:If(DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,1+7*thevar,Days))}),
    1,
    Collect(MYdate,
       {NO:thevar+1,Monday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-6,Days)),
        Tuesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-5,Days)),
        Wedesday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-4,Days)),
        Thursday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-3,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Friday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-2,Days)),
        Saturday:If(DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)<=DatePicker2_1.SelectedDate && DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)>=DatePicker2.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar-1,Days)),
        Sunday:If(DateAdd(DatePicker2.SelectedDate,7*thevar,Days)<=DatePicker2_1.SelectedDate,DateAdd(DatePicker2.SelectedDate,7*thevar,Days))}));Set(thevar,thevar+1)

     

     

    Best Regards,

    Bof

  • v-bofeng-msft Profile Picture
    Microsoft Employee on at

    Hi @JiriS :

    Is there anything else I can help you with?
    If your porblem is resolved, please mark the solution as a solution so that more people can see it.

    Best Regards,

    Bof

  • JiriS Profile Picture
    86 on at

    Thank you for help!!!

     

    George

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Season of Sharing Community Challenge Launch!

Jump in, show your community spirit, and win prizes!

Kudos to our 2025 Community Spotlight Honorees

Expanding mentorship, skilling, and AI innovation

Congratulations to the May Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Apps

#1
Valantis Profile Picture

Valantis 483

#2
WarrenBelz Profile Picture

WarrenBelz 399 Most Valuable Professional

#3
11manish Profile Picture

11manish 327

Last 30 days Overall leaderboard