# monthsname - función de script y de gráfico

Esta función devuelve un valor de visualización que representa el rango de meses del período (con el mismo formato que la variable de script MonthNames), así como el año. El valor numérico corresponde a una fecha y hora del primer milisegundo del mes, bimestre, trimestre, cuatrimestre o semestre que contiene una fecha base.

Sintaxis:

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

**Tipo de datos que devuelve:** dual

Argumentos:

Argumentos de MonthsName

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

Ejemplos y resultados:

Estos ejemplos utilizan el formato de fecha DD/MM/YYYY. El formato de fecha se especifica en la sentencia SET DateFormat en la parte superior de su script de carga. Cambie el formato en los ejemplos según se ajuste a sus necesidades.

Ejemplo 1:

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

Devuelve Sep-Dec 2013.   
Porque en éste y los demás ejemplos, la sentencia SET Monthnames se fija en Jan;Feb;Mar, etc.

Ejemplo 2:

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

Devuelve May-Aug 2013.

Ejemplo 3:

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

Devuelve Oct-Jan 2014.   
Porque el año se ha especificado para que comience en el mes 2, por lo tanto el periodo de cuatro meses termina el primer mes del año siguiente.

Ejemplo 4:

Añada el script de ejemplo a su documento y ejecútelo. A continuación, añada como mínimo los campos de la columna de resultados a una hoja de su documento para ver el resultado.

En este ejemplo, por cada fecha de facturación de la tabla, el nombre de los meses se crea a partir del rango de meses en el periodo bimensual y a partir del año. El rango se desplaza en 4x2 meses especificando period\_no como 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;`

La tabla resultante contiene las fechas originales y una columna con el valor de retorno de la función monthsname().

Resultados del ejemplo 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 |