# MoneyFormat

Questa variabile di sistema definisce il modello di formattazione utilizzato da Qlik per la traduzione automatica di testo in numero quando il numero è preceduto da un simbolo monetario. Definisce anche il modo in cui le misure le cui proprietà di formattazione dei numeri sono impostate su "denaro" saranno visualizzate negli oggetti del grafico.

Il simbolo definito come parte del modello di formattazione nella variabile di sistema `MoneyFormat` sostituisce il simbolo di valuta impostato dalle impostazioni regionali.

Nota di suggerimento

Per impostazione predefinita, in Qlik Sense i numeri e il testo vengono visualizzati in modo diverso nei grafici a tabella. I numeri sono allineati a destra e il testo è allineato a sinistra. In questo modo è facile individuare i problemi di conversione da testo a numero. Tutte le tabelle di questa pagina che mostrano i risultati Qlik Sense utilizzeranno questa formattazione.

Sintassi:

MoneyFormat

` Set MoneyFormat='$ #,##0.00; ($ #,##0.00)';  `

Questa formattazione viene visualizzata negli oggetti del grafico quando la proprietà di un campo numerico `Number Formatting` è impostata su `Money`. Inoltre, quando i campi di testo numerici sono interpretati da Qlik Sense, se il simbolo di valuta del campo di testo corrisponde a quello del simbolo definito nella variabile `MoneyFormat`, Qlik Sense interpreterà il campo come un valore monetario.

Questa funzione viene spesso utilizzata insieme alle funzioni seguenti:

Funzioni correlate

| Funzione | Interazione |
| --- | --- |
| [MoneyDecimalSep](https://help.qlik.com/it-IT/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.htm) | Per la formattazione dei numeri, verrà utilizzato `MoneyDecimalSep` nella formattazione dei campi degli oggetti. |
| [MoneyThousandSep](https://help.qlik.com/it-IT/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyThousandSep.htm) | Per la formattazione dei numeri, verrà utilizzato `MoneyThousandSep` nella formattazione dei campi degli oggetti. |

## 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 - MoneyFormat

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

#### Script di caricamento e risultati

Panoramica

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

Lo script di caricamento contiene un set di dati che viene caricato in una tabella denominata `Transactions`. Viene utilizzata la definizione di variabile `MoneyFormat` predefinita.

Script di caricamento

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$###0.00;-$###0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,$10000000441
01/02/2022,2,$21237492432
01/03/2022,3,$249475336
01/04/2022,4,$24313369837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];
```

Risultati

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

* `date`

* `amount`

Aggiungere questa misura:

`=Sum(amount)`

Sotto Formattazione numeri, selezionare Denaro per configurare `Sum(amount)` come valore monetario.

Tabella dei risultati

| date | Importo | =Sum(amount) |
| --- | --- | --- |
| Totali |  | $165099674156.00 |
| 01/01/2022 | $10000000441 | $10000000441.00 |
| 01/02/2022 | $21237492432 | $21237492432.00 |
| 01/03/2022 | $249475336 | $249475336.00 |
| 01/04/2022 | $24313369837 | $24313369837.00 |
| 01/05/2022 | $7873578754 | $7873578754.00 |
| 01/06/2022 | $24313884663 | $24313884663.00 |
| 01/07/2022 | $545883436 | $545883436.00 |
| 01/08/2022 | $35545828255 | $35545828255.00 |
| 01/09/2022 | $37565817436 | $37565817436.00 |
| 01/10/2022 | $3454343566 | $3454343566.00 |

Viene utilizzata la definizione predefinita `MoneyFormat`. L'aspetto sarà il seguente: `$###0.00;-$###0.00`. Nella tabella dei risultati, il formato del campo `amount` mostra il simbolo della valuta e la virgola e i decimali sono stati inclusi.

## Esempio 2 - MoneyFormat con separatore delle migliaia e formati di input misti

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

#### Script di caricamento e risultati

Panoramica

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

Lo script di caricamento contiene:

* Un set di dati in formato misto, che viene caricato in una tabella denominata `Transactions` con separatori di migliaia e separatori decimali intercalati.

* Una modifica della definizione `MoneyFormat` è stata apportata per includere una virgola come separatore delle migliaia.

* Una delle righe di dati è stata erroneamente delimitata con migliaia di virgole di separazione nei punti sbagliati. Si noti che questo importo viene lasciato come testo e non è interpretabile come numero.

Script di caricamento

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat = '$#,##0.00;-$#,##0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,'$10,000,000,441.45'
01/02/2022,2,'$212,3749,24,32.23'
01/03/2022,3,$249475336.45
01/04/2022,4,$24,313,369,837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];		
```

Risultati

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

* `date`

* `amount`

Aggiungere questa misura:

`=Sum(amount)`

Sotto Formattazione numeri, selezionare Denaro per configurare `Sum(amount)` come valore monetario.

Tabella dei risultati

| date | Importo | =Sum(amount) |
| --- | --- | --- |
| Totali |  | $119,548,811,911.90 |
| 01/01/2022 | $10,000,000,441.45 | $10,000,000,441.45 |
| 01/02/2022 | $212,3749,24,32.23 | $0.00 |
| 01/03/2022 | $249475336.45 | $249,475,336.45 |
| 01/04/2022 | $24 | $24.00 |
| 01/05/2022 | $7873578754 | $7,873,578,754.00 |
| 01/06/2022 | $24313884663 | $24,313,884,663.00 |
| 01/07/2022 | $545883436 | $545,883,436.00 |
| 01/08/2022 | $35545828255 | $35,545,828,255.00 |
| 01/09/2022 | $37565817436 | $37,565,817,436.00 |
| 01/10/2022 | $3454343566 | $3,454,343,566.00 |

All'inizio dello script, la variabile di sistema `MoneyFormat` viene modificata per includere una virgola come separatore delle migliaia. Nella tabella Qlik Sense, si può notare che la formattazione include questo separatore. Inoltre, la riga con il separatore errato non è stata interpretata correttamente e rimane come testo. Per questo motivo non contribuisce alla somma dell'importo.