# inweektodate - funzione dello script e del grafico

Questa funzione restituisce True se timestamp ricade all'interno della parte della settimana contenente base\_date fino a includere l'ultimo millisecondo di base\_date.

Sintassi:

InWeekToDate (timestamp, base\_date, period\_no [, first\_week\_day])

Tipo di dati restituiti: Booleano

Nota informatica

In Qlik Sense, il valore booleano vero è rappresentato da -1 e il valore falso è rappresentato da 0.

Diagramma della funzione inweektodate

Diagramma della funzione inweektodate

Diagramma della funzione inweektodate ![Diagramma di esempio dell'intervallo di date entro il quale la funzione inweektodate restituisce il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-general.png)

La funzione `inweektodate()` utilizza il parametro `base_date` per identificare una data limite massima di un segmento settimanale, nonché la data corrispondente per l'inizio della settimana, che si basa sulla variabile di sistema `FirstWeekDay` (o sul parametro `first_week_day` definito dall'utente ). Una volta che questo segmento di settimana viene definito, la funzione restituisce un risultato booleano quando si confrontano i valori di data prescritti con quel segmento.

## Casi di utilizzo

La funzione `inweektodate()` restituisce un risultato booleano. In genere, questo tipo di funzione viene utilizzato come condizione in un'espressione `if`. Questa restituisce un'aggregazione o un calcolo che dipende dal fatto che una data valutata si sia verificata nella settimana in questione fino a includere una data specifica.

Ad esempio, la funzione `inweektodate()` può essere utilizzata per calcolare tutte le vendite effettuate durante una settimana specificata fino a una data particolare.

Argomenti

| Argomento | Descrizione |
| --- | --- |
| timestamp | La data da confrontare con base\_date. |
| base\_date | La data utilizzata per valutare la settimana. |
| period\_no | La settimana può essere differita mediante period\_no. period\_no è un numero intero, in cui il valore 0 indica la settimana che contiene base\_date. I valori negativi di period\_no indicano le settimane precedenti, mentre i valori positivi indicano le settimane successive. |
| first\_week\_day | Per impostazione predefinita, il primo giorno della settimana è domenica (come determinato dalla variabile di sistema FirstWeekDay), a partire dalla mezzanotte tra sabato e domenica. Il parametro first\_week\_day sostituisce la variabile FirstWeekDay. Per indicare un altro giorno per l'inizio della settimana, specificare un contrassegno con valore da 0 a 6.<br><br>Per una settimana che inizia il lunedì e termina la domenica, usare il contrassegno 0 per lunedì, 1 per martedì, 2 per mercoledì, 3 per giovedì, 4 per venerdì, 5 per sabato e 6 per domenica. |

Esempi di funzioni

| Esempio | Interazione |
| --- | --- |
| `inweektodate('01/12/2006', '01/12/2006', 0)` | Restituisce `TRUE`. |
| `inweektodate('01/12/2006', '01/11/2006', 0)` | Restituisce `FALSE`. |
| ` inweektodate('01/12/2006', '01/18/2006', -1)  ` | Restituisce `FALSE`.<br>Perché `period_no` è specificato come -1, la data effettiva con cui viene misurato `timestamp` è 01/11/2006. |
| ` inweektodate('01/11/2006', '01/12/2006', 0, 3 )  ` | Restituisce `FALSE`, poiché il valore `first_week_day` è specificato come `3` (giovedì), rendendo 01/12/2006 il primo giorno della settimana successiva alla settimana che include 01/12/2006. |

I seguenti argomenti possono aiutarti a lavorare con questa funzione:

Argomenti correlati

| Argomento | Contrassegno predefinito / Valore | Descrizione |
| --- | --- | --- |
| [FirstWeekDay](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/FirstWeekDay.htm) | 6 / Domenica | Definisce il giorno di inizio di ogni settimana. |

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/GG/AAAA. Il formato della data viene specificato nell'istruzione `SET DateFormat` nello script di caricamento dei dati. La formattazione predefinita della data potrebbe essere diversa nel proprio sistema, a causa delle impostazioni regionali e di altri fattori. È possibile modificare i formati degli esempi seguenti in base alle proprie esigenze. In alternativa, è possibile modificare i formati nel proprio script di caricamento per adattarli a questi esempi.

Le impostazioni regionali predefinite delle app si basano sulle impostazioni regionali del sistema del computer o del server in cui risulta installato Qlik Sense. Se il server Qlik Sense a cui si accede è impostato in Svezia, l'editor caricamento dati utilizzerà le impostazioni regionali svedesi per date, ora e valuta. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Sense. Qlik Sense verrà visualizzato nella stessa lingua del browser utilizzato.

## Esempio 1 - Nessun argomento aggiuntivo

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

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati contenente un insieme di transazioni per il mese di gennaio 2022, caricato in una tabella denominata `Transactions`.

* Il campo dati fornito nel formato `TimestampFormat='M/D/YYYY h:mm:ss[.fff]'`.

* La creazione di un campo, `in_week_to_date`, che determina quali transazioni sono avvenute nella settimana fino al 14 gennaio 2022.

* La creazione di un campo aggiuntivo, denominato `weekday`, utilizzando la funzione `weekday()`. Questo nuovo campo viene creato per mostrare quale giorno della settimana corrisponde a ciascuna data.

Script di caricamento

```
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
SET FirstWeekDay=6;
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`

* `week_day`

* `in_week_to_date`

Tabella dei risultati

| data | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | 0 |
| 2022-01-05 01:02:30 | Wed | 0 |
| 2022-01-06 15:36:20 | Thu | 0 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | -1 |
| 2022-01-10 21:13:01 | Mon | -1 |
| 2022-01-11 00:57:13 | Tue | -1 |
| 2022-01-12 09:26:02 | Wed | -1 |
| 2022-01-13 15:05:09 | Thu | -1 |
| 2022-01-14 18:44:57 | Ven | -1 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Ven | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Il campo `in_week_to_date` viene creato nell'istruzione caricamento precedente utilizzando la funzione `inweektodate()`. Il primo argomento fornito identifica il campo da valutare. Il secondo argomento è una data codificata per il 14 gennaio, che è il valore `base_date` che identifica la settimana da segmentare e definisce il limite finale di quel segmento. Un valore `period_no` uguale a 0 è l'argomento finale, il che significa che la funzione non confronta le settimane precedenti o successive alla settimana segmentata.

La variabile di sistema `` determina che le settimane iniziano di domenica e terminano di sabato.FirstWeekDay Pertanto, gennaio viene suddiviso in settimane secondo il diagramma seguente, con le date comprese tra il 9 e il 14 gennaio che forniscono il periodo valido per il calcolo `inweekdodate()`:

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE![Diagramma con l'intervallo di date entro il quale la funzione inweektodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-no-add-arg-calendar.png)

Qualsiasi transazione avvenuta tra il 9 e il 14 gennaio restituisce il risultato booleano `TRUE`. Le transazioni prima e dopo quelle date restituiscono il risultato booleano `FALSE`.

## Esempio 2 – period\_no

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

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

* La creazione di un campo, `prev_week_to_date`, che determina quali transazioni sono avvenute nella settimana precedente al segmento della settimana che termina il 14 gennaio 2022.

* La creazione di un campo aggiuntivo, denominato `weekday`, utilizzando la funzione `weekday()`. Questo mostra quale giorno della settimana corrisponde a ciascuna data.

Script di caricamento

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';
Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', -1) as prev_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`

* `week_day`

* `prev_week_to_date`

Tabella dei risultati

| data | week\_day | prev\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | -1 |
| 2022-01-05 01:02:30 | Wed | -1 |
| 2022-01-06 15:36:20 | Thu | -1 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | 0 |
| 2022-01-10 21:13:01 | Mon | 0 |
| 2022-01-11 00:57:13 | Tue | 0 |
| 2022-01-12 09:26:02 | Wed | 0 |
| 2022-01-13 15:05:09 | Thu | 0 |
| 2022-01-14 18:44:57 | Ven | 0 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Ven | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Il valore `period_no` di -1 indica che la funzione `inweektodate ()` confronta il segmento del trimestre di input con la settimana precedente. Il segmento della settimana inizialmente corrisponde a una data compresa tra il 9 e il 14 gennaio. Il valore `period_no` quindi sposta sia il limite di inizio che di fine di questo segmento a una settimana prima, facendo sì che i limiti della data siano definiti tra il 2 e il 7 gennaio.

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE![Diagramma con l'intervallo di date entro il quale la funzione inweektodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-period-no-calendar.png)

Pertanto, qualsiasi transazione che si verifichi tra il 2 e l'8 gennaio (non includendo lo stesso 8 gennaio) restituirà il risultato booleano `TRUE`.

## Esempio 3 – first\_week\_day

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

#### Script di caricamento e risultati

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Vengono utilizzati lo stesso set di dati e lo stesso scenario del primo esempio.

* La creazione di un campo, `in_week_to_date`, che determina quali transazioni sono avvenute nella settimana fino al 14 gennaio 2022.

* La creazione di un campo aggiuntivo, denominato `weekday`, utilizzando la funzione `weekday()`. Questo mostra quale giorno della settimana corrisponde a ciascuna data.

In questo esempio viene utilizzato il domenica come primo giorno della settimana.

Script di caricamento

```
SET FirstWeekDay=6;
SET TimestampFormat='M/D/YYYY h:mm:ss[.fff]';

Transactions:
    Load
        *,
        weekday(date) as week_day,
        inweektodate(date,'01/14/2022', 0, 0) as in_week_to_date
        ;
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* `date`

* `week_day`

* `in_week_to_date`

Tabella dei risultati

| data | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | 0 |
| 2022-01-05 01:02:30 | Wed | 0 |
| 2022-01-06 15:36:20 | Thu | 0 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | 0 |
| 2022-01-10 21:13:01 | Mon | -1 |
| 2022-01-11 00:57:13 | Tue | -1 |
| 2022-01-12 09:26:02 | Wed | -1 |
| 2022-01-13 15:05:09 | Thu | -1 |
| 2022-01-14 18:44:57 | Ven | -1 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Ven | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Utilizzando 0 come argomento `first_week_day` nella funzione `inweektodate()`, l'argomento della funzione sostituisce la variabile di sistema `FirstWeekDay` e imposta il lunedì come primo giorno della settimana.

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE![Diagramma con l'intervallo di date della transazione entro il quale la funzione inweektodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-first-week-day-calendar.png)

Pertanto, qualsiasi transazione che si verifichi tra il 10 e 15 gennaio restituirà un risultato booleano `TRUE`, mentre le transazioni con una data che non rientra in questi limiti restituiranno il valore `FALSE`.

## Esempio 4 - Esempio di oggetto grafico

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

#### Script di caricamento ed espressione del grafico

Panoramica

Aprire l'Editor di caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.

Lo script di caricamento contiene lo stesso set di dati e lo stesso scenario del primo esempio. Tuttavia, in questo esempio, il set di dati invariato viene caricato nell'applicazione. Il calcolo che determina quali transazioni sono avvenute nella settimana fino al 14 gennaio viene creato come misura in un oggetto grafico.

Script di caricamento

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

Transactions:
Load
*
Inline
[
id,date,amount
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Risultati

Procedere come indicato di seguito:

1. Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione: date.

2. Per calcolare se le transazioni sono avvenute nella stessa settimana fino al 14 gennaio, creare la misura seguente:

   =inweektodate(date,'01/14/2022',0)

3. Per mostrare quale giorno della settimana corrisponde a ciascuna data, creare una misura aggiuntiva:

   =weekday(date)

Tabella dei risultati

| data | week\_day | in\_week\_to\_date |
| --- | --- | --- |
| 2022-01-02 12:22:06 | Sun | 0 |
| 2022-01-05 01:02:30 | Wed | 0 |
| 2022-01-06 15:36:20 | Thu | 0 |
| 2022-01-08 10:58:35 | Sat | 0 |
| 2022-01-09 08:53:32 | Sun | -1 |
| 2022-01-10 21:13:01 | Mon | -1 |
| 2022-01-11 00:57:13 | Tue | -1 |
| 2022-01-12 09:26:02 | Wed | -1 |
| 2022-01-13 15:05:09 | Thu | -1 |
| 2022-01-14 18:44:57 | Ven | -1 |
| 2022-01-15 06:10:46 | Sat | 0 |
| 2022-01-16 06:39:27 | Sun | 0 |
| 2022-01-17 10:44:16 | Mon | 0 |
| 2022-01-18 18:48:17 | Tue | 0 |
| 2022-01-26 04:36:03 | Wed | 0 |
| 2022-01-27 08:07:49 | Thu | 0 |
| 2022-01-28 12:24:29 | Ven | 0 |
| 2022-01-30 11:56:56 | Sun | 0 |
| 2022-01-30 14:40:19 | Sun | 0 |
| 2022-01-31 05:28:21 | Mon | 0 |

Il campo in\_week\_to\_date viene creato come misura nell'oggetto grafico utilizzando la funzione inweektodate(). Il primo argomento fornito identifica il campo da valutare. Il secondo argomento è una data codificata per il 14 gennaio, che è il valore base\_date che identifica la settimana da segmentare e definisce il limite finale di quel segmento. Un valore period\_no uguale a 0 è l'argomento finale, il che significa che la funzione non confronta le settimane precedenti o successive alla settimana segmentata.

La variabile di sistema determina che le settimane iniziano di domenica e terminano di sabato.FirstWeekDay Pertanto, gennaio viene suddiviso in settimane secondo il diagramma seguente, con le date comprese tra il 9 e il 14 gennaio che forniscono il periodo valido per il calcolo inweekdodate():

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE

Diagramma del calendario che mostra le date della transazione che restituiscono un risultato booleano TRUE![Diagramma con l'intervallo di date entro il quale la funzione inweektodate restituirà il valore TRUE.](https://help.qlik.com/it-IT/sense/May2025/Subsystems/Hub/Content/Resources/Images/scripting-functions-inweektodate-chart-object-calendar.png)

Qualsiasi transazione avvenuta tra il 9 e il 14 gennaio restituisce il risultato booleano TRUE. Le transazioni prima e dopo quelle date restituiscono il risultato booleano FALSE.

## Esempio 5 – Scenario

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

#### Script di caricamento ed espressione del grafico

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella chiamata Products.

* Informazioni relative all'ID prodotto, alla data di produzione e al prezzo di costo.

Si è determinato che, a causa di un errore delle apparecchiature, i prodotti fabbricati nella settimana del 12 gennaio erano difettosi. Il problema è stato risolto il 13 gennaio. L'utente finale desidera un oggetto grafico che visualizzi, per settimana, se i prodotti fabbricati sono "difettosi" o "senza difetti" e il costo dei prodotti fabbricati quella settimana.

Script di caricamento

```
Products:
Load
*
Inline
[
product_id,manufacture_date,cost_price
8188,'2022-01-02 12:22:06',37.23
8189,'2022-01-05 01:02:30',17.17
8190,'2022-01-06 15:36:20',88.27
8191,'2022-01-08 10:58:35',57.42
8192,'2022-01-09 08:53:32',53.80
8193,'2022-01-10 21:13:01',82.06
8194,'2022-01-11 00:57:13',40.39
8195,'2022-01-12 09:26:02',87.21
8196,'2022-01-13 15:05:09',95.93
8197,'2022-01-14 18:44:57',45.89
8198,'2022-01-15 06:10:46',36.23
8199,'2022-01-16 06:39:27',25.66
8200,'2022-01-17 10:44:16',82.77
8201,'2022-01-18 18:48:17',69.98
8202,'2022-01-26 04:36:03',76.11
8203,'2022-01-27 08:07:49',25.12
8204,'2022-01-28 12:24:29',46.23
8205,'2022-01-30 11:56:56',84.21
8206,'2022-01-30 14:40:19',96.24
8207,'2022-01-31 05:28:21',67.67
];
```

Risultati

Procedere come indicato di seguito:

1. Caricare i dati e aprire un foglio. Creare una nuova tabella. Creare una dimensione per visualizzare i nomi delle settimane:

   =weekname(manufacture\_date)

2. Quindi, creare una dimensione per identificare quali prodotti sono difettosi e quali senza difetti:

   =if(inWeektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless')

3. Creare una misura per sommare il valore cost\_price dei prodotti:

   =sum(cost\_price)

4. Impostare la Formattazione numero della misura su Denaro.

Tabella dei risultati

| weekname(manufacture\_date) | if(inweektodate(manufacture\_date,makedate(2022,01,12),0),'Defective','Faultless') | =sum(cost\_price) |
| --- | --- | --- |
| 2022/02 | Non difettoso | $200.09 |
| 2022/03 | Difettoso | $263.46 |
| 2022/03 | Non difettoso | $178.05 |
| 2022/04 | Non difettoso | $178.41 |
| 2022/05 | Non difettoso | $147.46 |
| 2022/06 | Non difettoso | $248.12 |

La funzione inweektodate() restituisce un valore booleano quando valuta le date di produzione di ciascun prodotto. Per coloro che restituiscono il valore booleano TRUE, contrassegna i prodotti come 'Defective'. Per qualsiasi prodotto che restituisce il valore FALSE, e quindi non realizzato nella settimana fino al 12 gennaio, contrassegna i prodotti come ‘Faultless’.