# monthsname Función de script y de gráfico

Esta función devuelve un valor de visualización que representa el rango de los meses del período (con formato de acuerdo con la variable de script MonthNames), así como el año. El valor numérico subyacente corresponde a una marca de tiempo del primer milisegundo del periodo mensual, bimensual, trimestral, cuatrimestral o semestral que contiene una fecha base.

MonthsName(n\_months, date[, period\_no[, first\_month\_of\_year]])

Tipo de datos que devuelve: Doble

Diagrama de la función monthsname

Diagrama de la función monthsname

Diagrama de la función monthsname ![Example diagram showing the range of months  returned by the monthsname function, given a specific input date.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-general.png)

La función `monthsname()` divide el año en segmentos basándose en el argumento `n_months` proporcionado. A continuación, evalúa el segmento al que pertenece cada uno de los `date` proporcionados y devuelve los nombres de los meses de inicio y finalización de ese segmento, así como el año. La función también brinda la capacidad de devolver estos límites de segmentos anteriores o posteriores, así como redefinir cuál será el primer mes del año.

Los siguientes segmentos del año están disponibles en la función `n_month` como argumentos:

Posibles argumentos de `n_month`n\_month

| Períodos | Número de meses |
| --- | --- |
| mes | 1 |
| bimestre | 2 |
| trimestre | 3 |
| cuatrimestre | 4 |
| semestre | 6 |

Argumentos

| Argumento | Descripción |
| --- | --- |
| n\_months | El número de meses que define el periodo. Un entero o expresión que devuelve un entero que debe ser uno de los siguientes: 1 (equivalente a la función inmonth() ), 2 (bimestral), 3 (equivalente a la función inquarter()), 4 (cuatrimestral) o 6 (medio año). |
| date | La fecha o marca de tiempo para evaluar. |
| period\_no | El período se puede desplazar mediante period\_no, un entero o una expresión que devuelve un entero, donde el valor 0 indica el período que contiene a base\_date. Los valores negativos en period\_no indican períodos precedentes y los valores positivos indican períodos subsiguientes. |
| first\_month\_of\_year | Si desea trabajar con años (fiscales) que no comiencen en enero, indique un valor entre 2 y 12 en first\_month\_of\_year. |

## Cuándo se utiliza

La función `monthsname()` es útil cuando desea proporcionar al usuario la funcionalidad de comparar agregaciones por un período de su elección. Por ejemplo, podría proporcionar una variable de entrada para que el usuario pueda ver las ventas totales de productos por mes, trimestre o semestre.

Estas dimensiones se pueden crear en el script de carga agregando la función como un campo en una tabla de Calendario maestro o, alternativamente, creando la dimensión directamente en un gráfico como una dimensión calculada.

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `monthsname(4, '10/19/2013')` | Devuelve 'Sep-Dec 2013.' En este y los demás ejemplos, la SETMonthnames sentencia está configurada en Jan;Feb;Mar, etc. |
| `monthsname(4, '10/19/2013', -1)` | Devuelve 'May-Aug 2013'. |
| ` monthsname(4, '10/19/2013', 0, 2)  ` | Devuelve "Oct-Jan 2014", ya que el año se especifica para comenzar en el mes 2. Por lo tanto, el período de cuatro meses termina el primer mes del año siguiente. |

## Configuraciones regionales

A menos que se especifique algo distinto, los ejemplos de este tema utilizan el siguiente formato de fecha: MM/DD/YYYY. El formato de fecha se especifica en la sentencia `SET DateFormat` de su script de carga de datos. El formato de fecha predeterminado puede ser diferente en su sistema, debido a su configuración regional y otros factores. Puede cambiar el formato en los ejemplos a continuación para ajustarlo a sus necesidades. O puede cambiar los formatos en su script de carga para que coincidan con estos ejemplos.

La configuración regional predeterminada en las aplicaciones se basa en la configuración del sistema regional de la computadora o servidor donde esté instalado Qlik Sense. Si el servidor de Qlik Sense al que está accediendo está configurado en Suecia, el editor de carga de datos utilizará la configuración regional sueca para las fechas, la hora y la moneda. Estos ajustes de formato regional no están relacionados con el idioma mostrado en la Qlik Sense interfaz de usuario. Qlik Sense se mostrará en el mismo idioma que el navegador que esté utilizando.

## Ejemplo 1: ejemplo básico

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada "`Transactions`".

* El campo de fecha proporcionado en el formato de la variable del sistema `DateFormat` (MM/DD/AAAA).

* La creación de un campo, `bi_monthly_range`, que agrupa las transacciones en segmentos bimensuales y devuelve los nombres de límite de ese segmento para cada transacción.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        monthsname(2,date) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `bi_monthly_range`

Tabla de resultados

| date | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Ene-Feb 2022 |
| 3/7/2022 | Mar-Abr 2022 |
| 3/30/2022 | Mar-Abr 2022 |
| 4/5/2022 | Mar-Abr 2022 |
| 4/16/2022 | Mar-Abr 2022 |
| 5/1/2022 | May-Jun 2022 |
| 5/7/2022 | May-Jun 2022 |
| 5/22/2022 | May-Jun 2022 |
| 6/15/2022 | May-Jun 2022 |
| 6/26/2022 | May-Jun 2022 |
| 7/9/2022 | Jul-Ago 2022 |
| 7/22/2022 | Jul-Ago 2022 |
| 7/23/2022 | Jul-Ago 2022 |
| 7/27/2022 | Jul-Ago 2022 |
| 8/2/2022 | Jul-Ago 2022 |
| 8/8/2022 | Jul-Ago 2022 |
| 8/19/2022 | Jul-Ago 2022 |
| 9/26/2022 | Sep-Oct 2022 |
| 10/14/2022 | Sep-Oct 2022 |
| 10/29/2022 | Sep-Oct 2022 |

El campo `bi_monthly_range` se crea en la instrucción de carga anterior mediante el uso de la función `monthsname()`. El primer argumento proporcionado es 2, dividiendo el año en segmentos bimensuales. El segundo argumento identifica qué campo se está evaluando.

Diagrama de la función monthsname, ejemplo básico

Diagrama de la función monthsname, ejemplo básico

Diagrama de la función monthsname, ejemplo básico ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. In this case, it determines that transaction number 8195, which took place on May 22, will return the value indicating a range of May to June 2022.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-basic-example.png)

La transacción 8195 tuvo lugar el 22 de mayo. La función `monthsname()` inicialmente divide el año en segmentos bimensuales. La transacción 8195 cae en el segmento entre el 1 de mayo y el 30 de junio. Por lo tanto, la función devuelve estos meses en el formato de la variable de sistema `MonthNames`, así como el año, mayo-junio de 2022.

## Ejemplo 2: period\_no

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Se utilizan el mismo conjunto de datos inline y el mismo escenario que en el primer ejemplo.

* La creación de un campo, `prev_bi_monthly_range`, que agrupa las transacciones en segmentos bimensuales y devuelve los nombres de los límites del segmento anterior para cada transacción.

Agregue su otro texto aquí, según sea necesario, con listas, etc.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
    Load
        *,
        MonthsName(2,date,-1) as prev_bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `prev_bi_monthly_range`

Tabla de resultados

| date | prev\_bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Nov-Dic 2021 |
| 3/7/2022 | Ene-Feb 2022 |
| 3/30/2022 | Ene-Feb 2022 |
| 4/5/2022 | Ene-Feb 2022 |
| 4/16/2022 | Ene-Feb 2022 |
| 5/1/2022 | Mar-Abr 2022 |
| 5/7/2022 | Mar-Abr 2022 |
| 5/22/2022 | Mar-Abr 2022 |
| 6/15/2022 | Mar-Abr 2022 |
| 6/26/2022 | Mar-Abr 2022 |
| 7/9/2022 | May-Jun 2022 |
| 7/22/2022 | May-Jun 2022 |
| 7/23/2022 | May-Jun 2022 |
| 7/27/2022 | May-Jun 2022 |
| 8/2/2022 | May-Jun 2022 |
| 8/8/2022 | May-Jun 2022 |
| 8/19/2022 | May-Jun 2022 |
| 9/26/2022 | Jul-Ago 2022 |
| 10/14/2022 | Jul-Ago 2022 |
| 10/29/2022 | Jul-Ago 2022 |

En este ejemplo, -1 se usa como el argumento `period_no` de la función `monthsname()`. Tras dividir inicialmente un año en segmentos bimensuales, la función devuelve a continuación los límites del segmento anterior a cuando se realiza una transacción.

Diagrama de la función monthsname, ejemplo de period\_no

Diagrama de la función monthsname, ejemplo de period\_no

Diagrama de la función monthsname, ejemplo de period\_no ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. The period_no is set at -1. Transaction number 8195, which took place between May and June, will return the value indicating a range of March to April 2022.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-period-no.png)

La transacción 8195 ocurre en el segmento entre el mayo y junio. Por lo tanto, el segmento bimensual anterior fue entre el 1 de marzo y el 30 de abril, por lo que la función devuelve Mar-Abr 2022.

## Ejemplo 3: first\_month\_of\_year

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

#### Script de carga y resultados

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Se utilizan el mismo conjunto de datos inline y el mismo escenario que en el primer ejemplo.

* La creación de un campo diferente, `bi_monthly_range`, que agrupa las transacciones en segmentos bimensuales y devuelve los límites de segmento de cada transacción.

Sin embargo, en este ejemplo, también debemos establecer abril como el primer mes del año fiscal.

Script de carga

```
SET DateFormat='MM/DD/YYYY';
						
Transactions:
    Load
        *,
        MonthsName(2,date,0,4) as bi_monthly_range
        ;
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `bi_monthly_range`

Tabla de resultados

| date | bi\_monthly\_range |
| --- | --- |
| 2/19/2022 | Feb-Mar 2021 |
| 3/7/2022 | Feb-Mar 2021 |
| 3/30/2022 | Feb-Mar 2021 |
| 4/5/2022 | Abr-May 2022 |
| 4/16/2022 | Abr-May 2022 |
| 5/1/2022 | Abr-May 2022 |
| 5/7/2022 | Abr-May 2022 |
| 5/22/2022 | Abr-May 2022 |
| 6/15/2022 | Jun-Jul 2022 |
| 6/26/2022 | Jun-Jul 2022 |
| 7/9/2022 | Jun-Jul 2022 |
| 7/22/2022 | Jun-Jul 2022 |
| 7/23/2022 | Jun-Jul 2022 |
| 7/27/2022 | Jun-Jul 2022 |
| 8/2/2022 | Ago-Sep 2022 |
| 8/8/2022 | Ago-Sep 2022 |
| 8/19/2022 | Ago-Sep 2022 |
| 9/26/2022 | Ago-Sep 2022 |
| 10/14/2022 | Oct-Nov 2022 |
| 10/29/2022 | Oct-Nov 2022 |

Utilizando 4 como el argumento `first_month_of_year` en la función `monthsname()`, la función comienza el año el 1 de abril. Luego divide el año en segmentos bimensuales: Abr-May,Jun-Jul,Ago-Sep,Oct-Nov,Dic-Ene,Feb-Mar.

Texto de párrafo para Resultados.

La transacción 8195 tuvo lugar el 22 de mayo y cae en el segmento entre el 1 de abril y el 31 de mayo. Por lo tanto, la función devuelve abril-mayo de 2022.

Diagrama de la función monthsname, ejemplo de first\_month\_of\_year

Diagrama de la función monthsname, ejemplo de first\_month\_of\_year

Diagrama de la función monthsname, ejemplo de first\_month\_of\_year ![Diagram showing the results of using the monthsname function to determine the range of months within which a transaction took place. Since the year is set to begin on April 1, transaction number 8195 will return a value indicating a range of April to May 2022.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-first-month-of-year.png)

## Ejemplo 4: ejemplo de objeto gráfico

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

#### Script de carga y expresión de gráfico

Vista general

Abra el Editor de carga de datos y agregue el script de carga a continuación, en una nueva pestaña.

El script de carga contiene el mismo conjunto de datos inline y escenario que el primer ejemplo. Sin embargo, en este ejemplo, el conjunto de datos sin modificar se carga en la aplicación. El cálculo que agrupa las transacciones en segmentos bimensuales y devuelve los límites del segmento para cada transacción se crea como una medida en un objeto gráfico de la aplicación.

Script de carga

```
SET DateFormat='MM/DD/YYYY';

Transactions:
Load
*
Inline
[
id,date,amount
8188,2/19/2022,37.23
8189,3/7/2022,17.17
8190,3/30/2022,88.27
8191,4/5/2022,57.42
8192,4/16/2022,53.80
8193,5/1/2022,82.06
8194,5/7/2022,40.39
8195,5/22/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
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:date.

Cree la siguiente medida:

=monthsname(2,date)

Tabla de resultados

| date | =monthsname(2,date) |
| --- | --- |
| 2/19/2022 | Ene-Feb 2022 |
| 3/7/2022 | Mar-Abr 2022 |
| 3/30/2022 | Mar-Abr 2022 |
| 4/5/2022 | Mar-Abr 2022 |
| 4/16/2022 | Mar-Abr 2022 |
| 5/1/2022 | May-Jun 2022 |
| 5/7/2022 | May-Jun 2022 |
| 5/22/2022 | May-Jun 2022 |
| 6/15/2022 | May-Jun 2022 |
| 6/26/2022 | May-Jun 2022 |
| 7/9/2022 | Jul-Ago 2022 |
| 7/22/2022 | Jul-Ago 2022 |
| 7/23/2022 | Jul-Ago 2022 |
| 7/27/2022 | Jul-Ago 2022 |
| 8/2/2022 | Jul-Ago 2022 |
| 8/8/2022 | Jul-Ago 2022 |
| 8/19/2022 | Jul-Ago 2022 |
| 9/26/2022 | Sep-Oct 2022 |
| 10/14/2022 | Sep-Oct 2022 |
| 10/29/2022 | Sep-Oct 2022 |

El campo bi\_monthly\_range se crea como una medida en el objeto gráfico usando la función monthsname(). El primer argumento proporcionado es 2, dividiendo el año en segmentos bimensuales. El segundo argumento identifica qué campo se está evaluando.

Diagrama de la función monthsname, ejemplo de objeto gráfico

Diagrama de la función monthsname, ejemplo de objeto gráfico

Diagrama de la función monthsname, ejemplo de objeto gráfico ![Diagram showing the results of using the monthsname function with a chart object. Like the other examples, the function is used to determine the range of months within which a transaction took place. Transaction number 8195 returns a value of May-Jun 2022.](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Resources/Images/scripting-functions-monthsname-example-chart-object.png)

La transacción 8195 tuvo lugar el 22 de mayo. La función monthsname() inicialmente divide el año en segmentos bimensuales. La transacción 8195 cae en el segmento entre el 1 de mayo y el 30 de junio. Por lo tanto, la función devuelve estos meses en el formato de la variable de sistema MonthNames, así como el año, mayo-junio de 2022.

## Ejemplo 5: Escenario

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

#### Script de carga y expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que contiene un conjunto de transacciones de 2022, que se carga en una tabla llamada Transactions.

* El campo de fecha proporcionado en el formato de la variable del sistema DateFormat: (MM/DD/AAAA).

Al usuario final le gustaría tener un objeto gráfico que muestre las ventas totales por un período de su elección. Esto podría lograrse incluso cuando esta dimensión no esté disponible en el modelo de datos, utilizando la monthsname() función como una dimensión calculada que se modifica dinámicamente mediante un control de entrada variable.

Script de carga

```
SET vPeriod = 1;
SET DateFormat='MM/DD/YYYY';

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
];
```

Resultados

Cargue los datos y abra una hoja.

Al comienzo del script de carga, se ha creado una variable (vPeriod) que se vinculará al control de entrada de la variable. A continuación, configure la variable como un objeto personalizado en la hoja.

Haga lo siguiente:

1. En el panel de activos, haga clic en Gráficos.

2. En Objetos de panel, arrastre un Entrada de variable a la hoja.

3. Escriba un título para el objeto gráfico.

4. En Variable, seleccione vPeriod como Nombre y configure el objeto para que se muestre como un Menú desplegable.

5. En Valores, configure el objeto para que utilice valores dinámicos. Inserte lo siguiente:

   ='1~month|2~bi-month|3~quarter|4~tertial|6~half-year'

A continuación, cree la tabla de resultados.

Haga lo siguiente:

1. Cree una nueva tabla y agregue la siguiente dimensión calculada:

   =monthsname($(vPeriod),date)

2. Agregue esta medida para calcular el total de ventas:

   =sum(amount)

3. Establezca el Formato numérico de la medida en Moneda. Haga clic en the Edición finalizada icon. Ahora puede modificar los datos mostrados en la tabla ajustando el segmento de tiempo en el objeto variable.

Así es como se verá la tabla de resultados con la opción tertial seleccionada:

Tabla de resultados

| monthsname($(vPeriod),date) | =sum(amount) |
| --- | --- |
| Ene-Abr 2022 | 253.89 |
| May-ago 2022 | 713.58 |
| Sep-Dic 2022 | 248.12 |