Skip to main content

monthsname - script and chart function

This function returns a display value representing the range of the months of the period (formatted according to the MonthNames script variable) as well as the year. The underlying numeric value corresponds to a timestamp of the first millisecond of the month, bi-month, quarter, four-month period, or half-year containing a base date.

Syntax:  

MonthsName(n_months, date[, period_no[, first_month_of_year]])

Return data type: dual

Arguments:  

MonthsName arguments
Argument Description
n_months The number of months that defines the period. An integer or expression that resolves to an integer that must be one of: 1 (equivalent to the inmonth() function), 2 (bi-month), 3 (equivalent to the inquarter() function), 4 (four-month period), or 6 (half year).
date The date to evaluate.
period_no The period can be offset by period_no, an integer, or expression resolving to an integer, where the value 0 indicates the period that contains base_date. Negative values in period_no indicate preceding periods and positive values indicate succeeding periods.
first_month_of_year

If you want to work with (fiscal) years not starting in January, indicate a value between 2 and 12 in first_month_of_year.

Examples and results:  

These examples use the date format DD/MM/YYYY. The date format is specified in the SET DateFormat statement at the top of your load script. Change the format in the examples to suit your requirements.

Example 1:  

monthsname(4, '19/10/2013')

Returns Sep-Dec 2013.
Because in this and the other examples, the SET Monthnames statement is set to Jan;Feb;Mar, and so on.

Example 2:  

monthsname(4, '19/10/2013', -1)

Returns May-Aug 2013.

Example 3:  

monthsname(4, '19/10/2013', 0, 2)

Returns Oct-Jan 2014.
Because the year is specified to begin in month 2, therefore the four-month period ends on the first month of the following year.

Example 4:  

Add the example script to your document and run it. Then add, at least, the fields listed in the results column to a sheet in your document to see the result.

In this example, for each invoice date in the table, the months name is created from the range of months in the bi-month period, and from the year. The range is offset by 4x2 months by specifying period_no as 4.

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 *,

MonthsName(2, InvDate, 4) AS MthsName

Resident TempTable;

Drop table TempTable;

The resulting table contains the original dates and a column with the return value of the monthsname() function.

Example 4 results
InvDate MthsName
28/03/2012 Nov-Dec 2012
10/12/2012 Jul-Aug 2013
5/2/2013 Sep-Oct 2013
31/3/2013 Nov-Dec2013
19/5/2013 Jan-Feb 2014
15/9/2013 May-Jun 2014
11/12/2013 Jul-Aug 2014
2/3/2014 Nov-Dec 2014
14/5/2014 Jan-Feb 2015
13/6/2014 Jan-Feb 2015
7/7/2014 Mar-Apr 2015
4/8/2014 Mar-Apr 2015

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!

Join the Analytics Modernization Program

Remove banner from view

Modernize without compromising your valuable QlikView apps with the Analytics Modernization Program. Click here for more information or reach out: ampquestions@qlik.com