# quarterstart - Función de script y de gráfico

Esta función devuelve un valor correspondiente a una marca de tiempo con el primer milisegundo del trimestre que contiene a date. El formato de salida predeterminado será el DateFormat establecido en el script.

Sintaxis:

QuarterStart(date[, period\_no[, first\_month\_of\_year]])

Tipo de datos que devuelve: dual

Diagrama de la función `quarterstart()`

Diagrama de la función `quarterstart()`

Diagrama de la función `quarterstart()`quarterstart() ![Diagrama a modo de ejemplo que muestra cómo la función quarterstart convierte una fecha de entrada en una marca de tiempo con el primer milisegundo del primer mes del trimestre en el que ocurre esta fecha.](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterstart-general.png)

La función `quarterstart()` determina en qué trimestre cae la fecha `date`. Luego devuelve una marca de tiempo, en formato de fecha, con el primer milisegundo del primer mes de ese trimestre.

Argumentos

| Argumento | Descripción |
| --- | --- |
| date | La fecha o marca de tiempo para evaluar. |
| period\_no | period\_no es un entero, donde el valor 0 indica el trimestre que contiene a date. Los valores negativos en period\_no indican trimestres precedentes y los valores positivos indican trimestres 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 `quarterstart()` se suele utilizar como parte de una expresión cuando el usuario desea que el cálculo utilice la fracción del trimestre que ya ha transcurrido. Por ejemplo, se puede utilizar para calcular el interés que se ha acumulado en un trimestre hasta la fecha.

Ejemplos de funciones

| Ejemplo | Resultado |
| --- | --- |
| `quarterstart('10/29/2005')` | Devuelve 10/01/2005. |
| `quarterstart('10/29/2005', -1 )` | Devuelve 07/01/2005. |
| `quarterstart('10/29/2005', 0, 3)` | Devuelve 09/01/2005. |

## 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 en su navegador.

## Ejemplo 1: sin argumentos adicionales

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quarterstart.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, `start_of_quarter`, que devuelve una marca de tiempo con el inicio del trimestre en el que se realizaron las transacciones.

Script de carga

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

Transactions:
    Load
        *,
        quarterstart(date) as start_of_quarter,
        timestamp(quarterstart(date)) as start_of_quarter_timestamp
        ;
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. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `start_of_quarter`

* `start_of_quarter_timestamp`

Tabla de resultados

| date | start\_of\_quarter | start\_of\_quarter\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 1/19/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 2/5/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 2/28/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 3/16/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 4/1/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 5/7/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 5/16/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 6/15/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 6/26/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 7/9/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 7/22/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 7/23/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 7/27/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 8/2/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 8/8/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 8/19/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 9/26/2022 | 07/01/2022 | 7/1/2021 12:00:00 AM |
| 10/14/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |
| 10/29/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |

El campo `start_of_quarter` se crea en la instrucción load precedente utilizando la función `quarterstart()` e introduciendo el campo de fecha como argumento de la función. La función `uarterstart()` identifica inicialmente en qué trimestre cae el valor de la fecha. Luego devuelve una marca de tiempo con el primer milisegundo de ese trimestre.

Diagrama de la función `quarterstart()`, ejemplo sin argumentos adicionales

Diagrama de la función `quarterstart()`, ejemplo sin argumentos adicionales

Diagrama de la función `quarterstart()`quarterstart(), ejemplo sin argumentos adicionales![Diagrama que muestra cómo la función quarterstart convierte la fecha de entrada de cada transacción en una marca de tiempo del primer milisegundo del primer mes del trimestre en el que ocurre esta fecha.](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterstart-examples-no-add-arg.png)

La transacción 8203 tuvo lugar el 8 de agosto. La función `quarterstart()` identifica que la transacción tuvo lugar en el tercer trimestre y devuelve el primer milisegundo de ese trimestre, que es el 1 de julio a las 12:00:00 a. m.

## Ejemplo 2: period\_no

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quarterstart.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 y escenario que en el primer ejemplo.

* La creación de un campo, `previous_quarter_start`, que devuelve la fecha y hora de inicio del trimestre anterior a la transacción.

Script de carga

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

Transactions:
    Load
        *,
        quarterstart(date,-1) as previous_quarter_start,
        timestamp(quarterstart(date,-1)) as previous_quarter_start_timestamp
        ;
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. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `previous_quarter_start`

* `previous_quarter_start_timestamp`

Tabla de resultados

| date | previous\_quarter\_start | previous\_quarter\_start\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 10/01/2021 | 10/1/2021 12:00:00 AM |
| 1/19/2022 | 10/01/2021 | 10/1/2021 12:00:00 AM |
| 2/5/2022 | 10/01/2021 | 10/1/2021 12:00:00 AM |
| 2/28/2022 | 10/01/2021 | 10/1/2021 12:00:00 AM |
| 3/16/2022 | 10/01/2021 | 10/1/2021 12:00:00 AM |
| 4/1/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 5/7/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 5/16/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 6/15/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 6/26/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 7/9/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 7/22/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 7/23/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 7/27/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 8/2/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 8/8/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 8/19/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 9/26/2022 | 04/01/2022 | 4/1/2021 12:00:00 AM |
| 10/14/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 10/29/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |

En este caso, debido a que se usó un `period_no` de -1 como argumento de desplazamiento en la función `quarterstart()`, la función primero identifica el trimestre en el que se realizan las transacciones. Luego cambia a un trimestre antes e identifica el primer milisegundo de ese trimestre.

Diagrama de la función `quarterstart()`, ejemplo de period\_no

Diagrama de la función `quarterstart()`, ejemplo de period\_no

Diagrama de la función `quarterstart()`quarterstart(), ejemplo de period\_no![Diagrama que muestra cómo la función quarterstart convierte la fecha de entrada de cada transacción en una marca de tiempo del primer milisegundo del primer mes del trimestre en el que ocurre esta fecha.](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterstart-examples-period-no.png)

La transacción 8203 tuvo lugar el 8 de agosto. La función `quarterstart()` identifica que el trimestre anterior a la transacción fue entre el 1 de abril y el 30 de junio. Luego devuelve el primer milisegundo de ese trimestre, el 1 de abril a las 12:00:00 a. m.

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

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

#### Script de carga y resultados

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 y escenario que el primer ejemplo. Sin embargo, en este ejemplo, necesitamos establecer el 1 de marzo como el comienzo del año fiscal.

Script de carga

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

Transactions:
    Load
        *,
        quarterstart(date,0,3) as start_of_quarter,
        timestamp(quarterstart(date,0,3)) as start_of_quarter_timestamp
        ;
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. Cree una nueva tabla y agregue estos campos como dimensiones:

* `date`

* `start_of_quarter`

* `start_of_quarter_timestamp`

Tabla de resultados

| date | start\_of\_quarter | start\_of\_quarter\_timestamp |
| --- | --- | --- |
| 1/7/2022 | 12/01/2021 | 1/12/2021 12:00:00 AM |
| 1/19/2022 | 12/01/2021 | 1/12/2021 12:00:00 AM |
| 2/5/2022 | 12/01/2021 | 1/12/2021 12:00:00 AM |
| 2/28/2022 | 12/01/2021 | 1/12/2021 12:00:00 AM |
| 3/16/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 4/1/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/7/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 5/16/2022 | 03/01/2022 | 3/1/2022 12:00:00 AM |
| 6/15/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 6/26/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/9/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/22/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/23/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 7/27/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 8/2/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 8/8/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 8/19/2022 | 06/01/2022 | 6/1/2022 12:00:00 AM |
| 9/26/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/14/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |
| 10/29/2022 | 09/01/2022 | 9/1/2022 12:00:00 AM |

En este caso, como el argumento `  first_month_of_year ` de 3 se utiliza en la función `quarterstart()`, el inicio del año se desplaza del 1 de enero al 1 de marzo.

Diagrama de la función `quarterstart()`, ejemplo de first\_month\_of\_year

Diagrama de la función `quarterstart()`, ejemplo de first\_month\_of\_year

Diagrama de la función `quarterstart()`quarterstart(), ejemplo de first\_month\_of\_year![Diagrama que muestra cómo la función quarterstart convierte la fecha de entrada de cada transacción en una marca de tiempo del primer milisegundo del primer mes del trimestre en el que ocurre esta fecha.](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterstart-examples-first-mth-yr.png)

La transacción 8203 tuvo lugar el 8 de agosto. Debido a que el comienzo del año es el 1 de marzo, los trimestres del año ocurren entre marzo y mayo, junio y agosto, septiembre y noviembre, y diciembre y febrero. La función `quarterstart()` identifica que la transacción tuvo lugar en el trimestre entre el comienzo de junio y de agosto y devuelve el primer milisegundo de ese trimestre, que es el 1 de junio a las 12:00:00 a. m.

## Ejemplo 4: ejemplo de objeto gráfico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quarterstart.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 a una nueva pestaña.

El script de carga contiene el mismo conjunto de datos 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 devuelve una marca de tiempo del final del trimestre en que se realizaron las transacciones se crea como una medida en un objeto gráfico de la aplicación.

Script de carga

```
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. Cree una nueva tabla y agregue este campo como dimensión:date.

Agregue las siguientes medidas:

* =quarterstart(date)

* =timestamp(quarterstart(date))

Tabla de resultados

| date | =quarterstart(date) | =timestamp(quarterstart(date)) |
| --- | --- | --- |
| 10/14/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |
| 10/29/2022 | 10/01/2022 | 10/1/2022 12:00:00 AM |
| 7/9/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/22/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/23/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 7/27/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/2/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/8/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 8/19/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 9/26/2022 | 07/01/2022 | 7/1/2022 12:00:00 AM |
| 4/1/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/7/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 5/16/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 6/15/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 6/26/2022 | 04/01/2022 | 4/1/2022 12:00:00 AM |
| 1/7/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 1/19/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 2/5/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 2/28/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |
| 3/16/2022 | 01/01/2022 | 1/1/2022 12:00:00 AM |

La medida start\_of\_quarter se crea en el objeto gráfico utilizando la función quarterstart() e introduciendo el campo date como argumento de la función.

La función quarterstart() identifica en qué trimestre cae el valor de la fecha y devuelve una marca de tiempo con el primer milisegundo de ese trimestre.

Diagrama de la función quarterstart(), ejemplo de objeto gráfico

Diagrama de la función quarterstart(), ejemplo de objeto gráfico

Diagrama de la función quarterstart()quarterstart(), ejemplo de objeto gráfico![Diagrama que muestra cómo la función quarterstart convierte la fecha de entrada de cada transacción en una marca de tiempo del primer milisegundo del primer mes del trimestre en el que ocurre esta fecha.](https://help.qlik.com/es-ES/sense/November2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-quarterstart-examples-chart-object.png)

La transacción 8203 tuvo lugar el 8 de agosto. La función quarterstart() identifica que la transacción tuvo lugar en el tercer trimestre y devuelve el primer milisegundo de ese trimestre. El valor que devuelve es el 1 de julio a las 12:00:00

## Ejemplo 5: Escenario

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/DateAndTimeFunctions/quarterstart.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 saldos de préstamos y que se carga en una tabla llamada Loans.

* Datos que consisten en ID de préstamos, el saldo al comienzo del trimestre y la tasa de interés simple cobrada en cada préstamo por año.

Al usuario final le gustaría tener un objeto gráfico que muestre, por ID de préstamo, el interés actual que se ha acumulado en cada préstamo en el trimestre hasta la fecha.

Script de carga

```
Loans:
Load
*
Inline
[
loan_id,start_balance,rate
8188,$10000.00,0.024
8189,$15000.00,0.057
8190,$17500.00,0.024
8191,$21000.00,0.034
8192,$90000.00,0.084
];
```

Resultados

Haga lo siguiente:

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

   * loan\_id

   * start\_balance

2. A continuación, cree una medida para calcular el interés acumulado:

   =start\_balance\*(rate\*(today(1)-quarterstart(today(1)))/365)

3. Establezca el Formato numérico de la medida en Moneda.

Tabla de resultados

| loan\_id | start\_balance | =start\_balance\*(rate\*(today(1)-quarterstart(today(1)))/365) |
| --- | --- | --- |
| 8188 | $10000.00 | $15.07 |
| 8189 | $15000.00 | $128.84 |
| 8190 | $17500.00 | $63.29 |
| 8191 | $21000.00 | $107.59 |
| 8192 | $90000.00 | $1139.18 |

La función quarterstart(), utilizando la fecha de hoy como único argumento, devuelve la fecha de inicio del año actual. Al restar ese resultado de la fecha actual, la expresión devuelve el número de días que han transcurrido en lo que va de trimestre.

Luego, este valor se multiplica por la tasa de interés y se divide por 365 para obtener la tasa de interés efectiva en que se ha incurrido durante este período. Luego, el resultado se multiplica por el saldo inicial del préstamo para devolver el interés que se ha acumulado en lo que va del trimestre.