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.
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
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 en los demás ejemplos, la sentencia SET Monthnames está configurada en Jan;Feb;Mar, y así sucesivamente.
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 aps 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 interfaz de usuario de Qlik Sense. Qlik Sense se mostrará en el mismo idioma que esté utilizando su navegador.
Ejemplo 1: ejemplo básico
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
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.
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 load 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.
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
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
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.
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.
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
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
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.
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 de first_month_of_year en la función monthsname(), la función comienza el año el 1 de abril y 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.
Ejemplo 4: ejemplo de objeto 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.
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.
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
Vista general
Abra el editor de carga de datos y agregue el script de carga a continuación a una nueva pestaña.
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 función monthsname() como una dimensión calculada que se modifica dinámicamente mediante un control de entrada variable.
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:
En el panel de activos, haga clic en Objetos personalizados.
Seleccione Qlik Dashboard bundle y cree un objeto Entrada de variables.
Escriba un título para el objeto gráfico.
En Variable, seleccione vPeriod como Nombre y configure el objeto para que se muestre como un Menú desplegable.
En Valores, configure el objeto para que utilice valores dinámicos. Escriba lo siguiente:
Cree una nueva tabla y agregue la siguiente dimensión calculada:
=monthsname($(vPeriod),date)
Agregue esta medida para calcular el total de ventas:
=sum(amount)
Establezca el Formato numérico de la medida en Moneda. Haga clic en Edición finalizada. Ahora puede modificar los datos que se muestran 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
¿Esta página le ha sido útil?
No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.