Эта функция возвращает значение, представляющее диапазон месяцев периода (форматированного согласно переменным скрипта MonthNames), а также года. Базовое числовое значение соответствует метке времени первой миллисекунды месяца, двухмесячного периода, квартала, триместра или полугодия, содержащих базовую дату.
Число месяцев, обозначающее период. Целое число или выражение, определяемое по целому числу, которое должно быть одним из следующих значений: 1 (эквивалентно функции inmonth()), 2 (двухмесячный период), 3 (эквивалентно функции inquarter()), 4 (триместр) или 6 (полугодие).
date
Дата для вычисления.
period_no
Период можно сместить, задав значение в поле period_no, целом числе или выражении, определяемом по целому числу, где 0 обозначает период, включающий значение, указанное в поле base_date. Отрицательные значения, заданные в поле period_no, означают предшествующие периоды, положительные — последующие.
first_month_of_year
Если необходимо работать с годами (финансовыми), которые начинаются не в январе, задайте значение от 2 до 12 в поле first_month_of_year.
В этих примерах используется формат даты DD/MM/YYYY. Формат даты указан в операторе SET DateFormat в верхней части скрипта загрузки данных. Измените формат в примерах согласно своим пожеланиям.
Примеры написания скриптов
Пример
Результат
monthsname(4, '19/10/2013')
Возвращает Sep-Dec 2013. Поскольку в этом и других примерах оператор SET Monthnames задан как Jan;Feb;Mar и т. д.
monthsname(4, '19/10/2013', -1)
Возвращает May-Aug 2013.
monthsname(4, '19/10/2013', 0, 2)
Возвращает Oct-Jan 2014. Поскольку год указан начинающимся в месяце 2, поэтому четырехмесячный период заканчивается в первом месяце следующего года.
Example:
Добавьте образец скрипта в свое приложение и запустите. Затем добавьте на лист приложения поля, указанные в столбце с результатами, чтобы увидеть результаты.
В этом примере для каждой даты счета в таблице имя месяцев создается на основе диапазона месяцев в двухмесячном периоде и на основе года. Диапазон смещен месяцами 4x2 путем указания для элемента period_no значения 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;
Результирующая таблица содержит исходные даты и столбец с возвращенным значением функции monthsname().
Результирующая таблица
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
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!