Перейти к основному содержимому

monthsname — скрипт и функция диаграммы

Эта функция возвращает значение, представляющее диапазон месяцев периода (форматированного согласно переменным скрипта MonthNames), а также года. Базовое числовое значение соответствует метке времени первой миллисекунды месяца, двухмесячного периода, квартала, четырехмесячного периода или полугодия, содержащих базовую дату.

Синтаксис:  

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

Тип возврата данных: двойное значение

Аргументы:  

аргументы MonthsName
Аргумент Описание
n_months Число месяцев, обозначающее период. Целое число или выражение, определяемое по целому числу, которое должно быть одним из следующих значений: 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/ММ/YYYY. Формат даты указан в операторе SET DateFormat в верхней части скрипта загрузки. Измените формат в примерах согласно своим пожеланиям.

Пример 1:  

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

Возвращает Sep-Dec 2013.
Поскольку в этом и других примерах оператор SET Monthnames задан как Jan;Feb;Mar и т. д.

Пример 2:  

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

Возвращает May-Aug 2013.

Пример 3:  

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

Возвращает Oct-Jan 2014.
Поскольку год указан начинающимся в месяце 2, поэтому четырехмесячный период заканчивается в первом месяце следующего года.

Пример 4:  

Добавьте образец скрипта в свой документ и запустите. Затем добавьте на лист документа как минимум поля, указанные в столбце с результатами, чтобы увидеть результаты.

В этом примере для каждой даты счета в таблице имя месяцев создается на основе диапазона месяцев в двухмесячном периоде и на основе года. Диапазон смещен месяцами 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().

Результаты примера 4
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

Помогла ли вам эта страница?

Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!

Присоединяйтесь к программе модернизации аналитики

Remove banner from view

Модернизируйте ваши важные приложения QlikView без ущерба с помощью программы модернизации аналитики. Щелкните здесь для получения дополнительной информации или свяжитесь с нами: ampquestions@qlik.com