# monthname Функция скрипта и диаграммы

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

Синтаксис:

MonthName(date[, period\_no])

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

Диаграмма функции monthname

Диаграмма функции monthname

Диаграмма функции monthname ![Пример схемы функции monthname, демонстрирующий, как функция возвращает объединенный результат месяца и года при заданной входной дате.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-general.png)

Аргументы

| Аргумент | Описание |
| --- | --- |
| date | Дата или метка времени для вычисления. |
| period\_no | period\_no является целым числом, значение 0 которого или отсутствие значения означает месяц, содержащий значение, указанное в поле date. Отрицательные значения, заданные в поле period\_no, означают предшествующие месяцы, положительные — последующие. |

Примеры функции

| Пример | Результат |
| --- | --- |
| `monthname('10/19/2013')` | Возвращает Oct 2013 |
| `monthname('10/19/2013', -1)` | Возвращает Sep 2013 |

## Региональные настройки

Если не указано иное, в примерах, приведенных в данном разделе, используется следующий формат даты: MM/DD/YYYY. Формат даты указан в операторе `SET DateFormat` скрипта загрузки данных. В вашей системе может быть установлен другой формат даты по умолчанию в зависимости от региональных настроек и других факторов. Можно изменить формат в примерах в соответствии с потребностями. Или можно изменить форматы в скрипте загрузки в соответствии с этими примерами.

Региональные настройки по умолчанию в приложениях основаны на системных региональных настройках компьютера или сервера, где установлено ПО Qlik Sense. Если на сервере Qlik Sense, к которому вы обращаетесь, выбран шведский язык, то редактор загрузки данных будет использовать шведские региональные настройки для даты, времени и валюты. Эти параметры регионального формата не связаны с языком, отображаемым в Qlik Sense интерфейсе пользователя. Qlik Sense будет отображаться на том же языке, что и используемый вами браузер.

## Пример 1. Базовый пример

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthname.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Набор данных, содержащий набор транзакций за 2022 год, который загружается в таблицу под именем `Transactions`.

* Поле даты было предоставлено в формате системной переменной `DateFormat` (MM/DD/YYYY).

* Создание поля `transaction_month`, которое возвращает месяц, в котором осуществлялись транзакции.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';
						
Transactions:
    Load
        *,
        monthname(date) as transaction_month
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `transaction_month`

Результирующая таблица

| date | месяц\_транзакции |
| --- | --- |
| 1/7/2022 | Янв 2022 |
| 1/19/2022 | Янв 2022 |
| 2/5/2022 | Фев 2022 |
| 2/28/2022 | Фев 2022 |
| 3/16/2022 | Мар 2022 |
| 4/1/2022 | Апр 2022 |
| 5/7/2022 | Май 2022 |
| 5/16/2022 | Май 2022 |
| 6/15/2022 | Июн 2022 |
| 6/26/2022 | Июн 2022 |
| 7/9/2022 | Июл 2022 |
| 7/22/2022 | Июл 2022 |
| 7/23/2022 | Июл 2022 |
| 7/27/2022 | Июл 2022 |
| 8/2/2022 | Авг 2022 |
| 8/8/2022 | Авг 2022 |
| 8/19/2022 | Авг 2022 |
| 9/26/2022 | Сен 2022 |
| 10/14/2022 | Окт 2022 |
| 10/29/2022 | Окт 2022 |

Поле `transaction_month` создано предшествующим оператором load с использованием функции `monthname()`, где в качестве аргумента передано поле `date`.

Диаграмма функции monthname, базовый пример

Диаграмма функции monthname, базовый пример

Диаграмма функции monthname, базовый пример ![Диаграмма, которая показывает результаты использования функции monthname для определения месяца, в котором совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-basic-example.png)

Функция `monthname()` определяет, что транзакция 8192 произошла в марте 2022 года, и возвращает это значение с помощью системной переменной `MonthNames`.

## Пример 2. Скрипт period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthname.htm)

#### Скрипт загрузки и результаты

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки в новый раздел.

Скрипт загрузки содержит следующее:

* Используется тот же встроенный набор данных и сценарий, что в первом примере.

* Создание поля `transaction_previous_month`, которое возвращает метку времени окончания месяца, предшествующего совершению транзакции.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

Transactions:
    Load
        *,
        monthname(date,-1) as transaction_previous_month
        ;
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24
8207,10/29/2022,67.67
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:

* `date`

* `transaction_previous_month`

Результирующая таблица

| date | предыдущий\_месяц\_транзакции |
| --- | --- |
| 1/7/2022 | Дек 2021 |
| 1/19/2022 | Дек 2021 |
| 2/5/2022 | Янв 2022 |
| 2/28/2022 | Янв 2022 |
| 3/16/2022 | Фев 2022 |
| 4/1/2022 | Мар 2022 |
| 5/7/2022 | Апр 2022 |
| 5/16/2022 | Апр 2022 |
| 6/15/2022 | Май 2022 |
| 6/26/2022 | Май 2022 |
| 7/9/2022 | Июн 2022 |
| 7/22/2022 | Июн 2022 |
| 7/23/2022 | Июн 2022 |
| 7/27/2022 | Июн 2022 |
| 8/2/2022 | Июл 2022 |
| 8/8/2022 | Июл 2022 |
| 8/19/2022 | Июл 2022 |
| 9/26/2022 | Авг 2022 |
| 10/14/2022 | Сен 2022 |
| 10/29/2022 | Сен 2022 |

В этом случае, так как в качестве аргумента смещения в функции `monthname()` использовалось `period_no` = -1, функция сначала определяет месяц, в котором совершаются транзакции. Затем она переходит на один месяц назад и возвращает название месяца и год.

Диаграмма функции monthname, пример с аргументом period\_no

Диаграмма функции monthname, пример с аргументом period\_no

Диаграмма функции monthname, пример с аргументом period\_no ![Диаграмма, которая показывает результаты использования функции monthname для определения месяца, в котором совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-period-no.png)

Транзакция 8192 совершена 16 марта. Функция `monthname()` определяет, что месяцем, предшествующим транзакции, был февраль, и возвращает месяц в формате системной переменной `MonthNames`, а также год 2022.

## Пример 3. Пример объекта диаграммы

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/monthname.htm)

#### Скрипт загрузки и выражение диаграммы

Обзор

Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.

Скрипт загрузки содержит тот же встроенный набор данных и сценарий, что в первом примере. Однако в этом примере в приложение загружается неизмененный набор данных. Расчет, который возвращает метку времени окончания месяца, в котором совершены транзакции, создается как мера в объекте диаграммы в приложении.

Скрипт загрузки

```
SET DateFormat='MM/DD/YYYY';
SET MonthNames='Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec';

Transactions:
Load
*
Inline
[
id,date,amount
8188,1/7/2022,17.17
8189,1/19/2022,37.23
8190,2/28/2022,88.27
8191,2/5/2022,57.42
8192,3/16/2022,53.80
8193,4/1/2022,82.06
8194,5/7/2022,40.39
8195,5/16/2022,87.21
8196,6/15/2022,95.93
8197,6/26/2022,45.89
8198,7/9/2022,36.23
8199,7/22/2022,25.66
8200,7/23/2022,82.77
8201,7/27/2022,69.98
8202,8/2/2022,76.11
8203,8/8/2022,25.12
8204,8/19/2022,46.23
8205,9/26/2022,84.21
8206,10/14/2022,96.24 
8207,10/29/2022,67.67
];
```

Результаты

Загрузите данные и откройте лист. Создайте новую таблицу и добавьте это поле как измерение:`date`.

Создайте следующую меру:

`=monthname(date)`

Результирующая таблица

| date | =названиемесяца(дата) |
| --- | --- |
| 1/7/2022 | Янв 2022 |
| 1/19/2022 | Янв 2022 |
| 2/5/2022 | Фев 2022 |
| 2/28/2022 | Фев 2022 |
| 3/16/2022 | Мар 2022 |
| 4/1/2022 | Апр 2022 |
| 5/7/2022 | Май 2022 |
| 5/16/2022 | Май 2022 |
| 6/15/2022 | Июн 2022 |
| 6/26/2022 | Июн 2022 |
| 7/9/2022 | Июл 2022 |
| 7/22/2022 | Июл 2022 |
| 7/23/2022 | Июл 2022 |
| 7/27/2022 | Июл 2022 |
| 8/2/2022 | Авг 2022 |
| 8/8/2022 | Авг 2022 |
| 8/19/2022 | Авг 2022 |
| 9/26/2022 | Сен 2022 |
| 10/14/2022 | Окт 2022 |
| 10/29/2022 | Окт 2022 |

Мера `month_name` создана в объекте диаграммы с использованием функции `monthname()`, где в качестве аргумента функции передано поле `date`.

Диаграмма функции monthname, пример с объектом диаграммы

Диаграмма функции monthname, пример с объектом диаграммы

Диаграмма функции monthname, пример с объектом диаграммы ![Диаграмма, которая показывает результаты использования функции monthname для определения месяца, в котором совершена транзакция.](https://help.qlik.com/ru-RU/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthname-chart-object.png)

Функция `monthname()` определяет, что транзакция 8192 произошла в марте 2022 года, и возвращает это значение с помощью системной переменной `MonthNames`.