Skip to main content

weekstart - script and chart function

This function returns a value corresponding to a timestamp of the first millisecond of the first day (Monday) of the calendar week containing date. The default output format is the DateFormat set in the script.

Syntax:  

WeekStart(date [, period_no[, first_week_day]])

Return data type: dual

Arguments:  

Arguments
Argument Description
date The date to evaluate.
period_no shift is an integer, where the value 0 indicates the week which contains date. Negative values in shift indicate preceding weeks and positive values indicate succeeding weeks.
first_week_day

Specifies the day on which the week starts. If omitted, the value of variable FirstWeekDay is used.

The possible values first_week_day are:

  • 0 for Monday
  • 1 for Tuesday
  • 2 for Wednesday
  • 3 for Thursday
  • 4 for Friday
  • 5 for Saturday
  • 6 for Sunday

FirstWeekDay

Example:  

Add the example script to your app and run it. To see the result, add the fields listed in the results column to a sheet in your app.

This example finds the first day of the week following the week of each invoice date in the table.

TempTable:

LOAD RecNo() as InvID, * Inline [

InvDate

28/03/2012

10/12/2012

5/2/2013

31/3/2013

19/5/2013

15/9/2013

11/12/2013

2/3/2014

14/5/2014

13/6/2014

7/7/2014

4/8/2014

];

 

InvoiceData:

LOAD *,

WeekStart(InvDate, 1) AS WkStart

Resident TempTable;

Drop table TempTable;

The resulting table contains the original dates and a column with the return value of the weekstart() function. You can display the full timestamp by specifying the formatting in the properties panel.

Results table
InvDate WkStart
28/03/2012 02/04/2012
10/12/2012 17/12/2012
5/2/2013 11/02/2013
31/3/2013 01/04/2013
19/5/2013 20/05/2013
15/9/2013 16/09/2013
11/12/2013 16/12/2013
2/3/2014 03/03/2014
14/5/2014 19/05/2014
13/6/2014 16/06/2014
7/7/2014 14/07/2014
4/8/2014 11/08/2014

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!