# Money#Funzione per script e grafici

Money#() converte una stringa di testo in un valore di valuta nel formato impostato nello script di caricamento o nel sistema operativo, a meno che non venga fornita una stringa di formattazione. I simboli dei separatori decimali e delle migliaia personalizzati sono parametri opzionali.

Sintassi:

Money#(text[, format[, dec\_sep [, thou\_sep ] ] ])

Tipo di dati restituiti: duale

Argomenti

| Argomento | Descrizione |
| --- | --- |
| text | La stringa di testo da valutare. |
| format | Stringa che descrive il formato di input previsto da utilizzare per la conversione della stringa in un intervallo numerico.<br><br>Se viene omessa, verrà utilizzato il valore impostato nello script di caricamento per `MoneyFormat`.<br><br>La funzione `Money#` supporta molte opzioni di formato per diverse strutture per la valuta, ad esempio:<br><br>​`$#,##0.00`: aggiunge il simbolo del dollaro e due cifre decimali.<br><br>`€ #,##0`: aggiunge il simbolo dell'euro e nessun decimale, con uno spazio dopo il simbolo dell'euro.<br><br>`​¥#,##0`: aggiunge il simbolo dello yen giapponese senza cifre decimali.<br><br>​`$#,##0;($#,##0)`: formatta i valori negativi tra parentesi.<br><br>​`₣ #.##0,00`:​ aggiunge il simbolo del franco svizzero con punti come separatori delle migliaia e una virgola per i decimali (ad esempio,`  ₣ 1.000,00 `).<br><br>​`R #,##0.00`: aggiunge il simbolo del rand sudafricano con due cifre decimali e uno spazio dopo il simbolo del rand.<br><br>​`$ #,##0.000`: aggiunge tre cifre decimali al formato del dollaro. |
| dec\_sep | Stringa che specifica il separatore decimale dei numeri. Se viene omessa, verrà utilizzato il valore `MoneyDecimalSep` impostato nello script di caricamento dei dati.<br><br>La funzione `Money#` supporta molti formati per il separatore decimale, ad esempio:<br><br>Virgola ​'`,` ': ad esempio, `$1,000,00` per mille dollari.<br><br>Punto '`.`':​ ad esempio, `€ 1,000.00`.<br><br>Trattino '`-`': se utilizzato al posto del punto o della virgola, utilizzati di norma per il separatore decimale, mostra valori come `¥1,000-00`. |
| thou\_sep | Stringa che specifica il separatore delle migliaia dei numeri. Se viene omessa, verrà utilizzato il valore `MoneyThousandSep` impostato nello script di caricamento dei dati.<br><br>La funzione `Money#` supporta molte opzioni per il separatore delle migliaia:<br><br>Punto ​' `.` ': utilizza un punto per il separatore di migliaia (comune in alcuni formati europei), visualizzandolo come `$1.000,00` se combinato con una virgola come separatore decimale.<br><br>Spazio ​' ': utilizza uno spazio per il separatore delle migliaia, che è comune in alcuni Paesi europei. Viene visualizzato come `€ 1 000.00`.<br><br>Trattino basso ​'`_`':​ utilizza un trattino basso per il separatore delle migliaia, che a volte viene utilizzato in formati tecnici o regionali specifici. Visualizza valori come `$1_000.00`. |

In genere, la funzione `Money#` si comporta in modo analogo alla funzione `Num#`, ma acquisisce i propri valori predefiniti per il separatore decimale e delle migliaia dalle variabili dello script per il formato valuta oppure dalle impostazioni di valuta del sistema.

Esempio: espressioni dei grafici

| Esempio | Risultati |
| --- | --- |
| `Money#('35 648,37 kr' , '# ##0,00 kr',',',' ' )` | Restituisce `35 648,37 kr` quando l'impostazione `MoneyFormat` è `# ##0,00 kr`. Per una valutazione corretta come numero, è necessario impostare i seguenti valori nello script di caricamento:<br><br><ul> <li> <p><code>SET MoneyDecimalSep=',';</code> </p> </li> <li> <p><code>SET MoneyThousandSep=' ';</code> </p> </li> </ul> |
| `Money#( '$35,648.37', ' $#', '.', ',' )` | Restituisce `$35,648.37` quando sono impostati i seguenti valori:<br><br><ul> <li> <p><code>MoneyFormat</code>è <code>$#</code></p> </li> <li> <p><code>SET MoneyDecimalSep=',';</code> </p> </li> <li> <p><code>SET MoneyThousandSep=' ';</code> </p> </li> </ul> |

## Esempio: principi fondamentali della funzione Money\#

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/money_hash.htm)

#### Script di caricamento

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 dati chiamata `Example`.

* Un campo della tabella dati denominata `MoneyValue`.

* Un caricamento precedente che utilizza la funzione `Money#` per convertire i valori di testo nei dati in un valore che Qlik Sense riconoscerà come valore valido.

Script di caricamento

```
SET MoneyFormat='$ #,##0.00';
SET MoneyThousandSep=',';
Example:
Load *, Money#(MoneyValue, '# ##0,00 kr',',',' ') as FormattedMoneyValue;
Load * inline [
MoneyValue
35 648,37 kr
56 735,56 kr
] (delimiter is ';');
```

Risultati

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

* `MoneyValue`

* `FormattedMoneyValue`

Creare le seguenti misure:

* `=Money( FormattedMoneyValue, 'kr #,##0', '.' , ',' )`, per visualizzare il valore in valuta, formattato utilizzando gli argomenti impostati nella funzione `Money`.

* `=Num(FormattedMoneyValue)`, per restituire il valore numerico dopo che è stato elaborato dalla funzione `Money#`.

Results table

| MoneyValue | FormattedMoneyValue | Money( FormattedMoneyValue, 'kr #,##0', '.' , ',' ) | Num(FormattedMoneyValue) |
| --- | --- | --- | --- |
| 56 735,56 kr | 56 735,56 kr | kr 56,736 | 56735.56 |
| 35 648,37 kr | 35 648,37 kr | kr 35,648 | 35648.37 |

La tabella dei risultati mostra come i valori possono essere visualizzati utilizzando le funzioni e il formato seguenti: `Money#``Money` e `Num`. La seconda colonna mostra la dimensione `FormattedMoneyValue`, che è stata calcolata utilizzando la funzione `Money#` per cambiare il valore in valuta con il formato `'# ##0,00 kr',',',' '`. La terza colonna utilizza la funzione `Money` per cambiare il formato della valuta da `FormattedMoneyValue` a `'kr #,##0', '.' , ','`. La quarta colonna utilizza la funzione `Num` per mostrare il valore numerico della dimensione `FormattedMoneyValue` utilizzando il formato nella variabile di sistema.

## Esempio: scenario per la funzione Money\#

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/money_hash.htm)

#### Script di caricamento

Panoramica

Un set di dati di ordini di vendita contiene campi che utilizzano valute diverse. Questo esempio mostra come separare e sommare i valori delle vendite in base alla valuta.

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 dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `TransactionID`

  * `Currency`
  * `Amount`

* Le variabili di sistema `MoneyDecimalSep`, `MoneyFormat` e `MoneyThousandSep` sono impostate per utilizzare un formato diverso da quello utilizzato nei dati a scopo dimostrativo.

* Un caricamento precedente che carica i campi `TransactionID`, `Currency` e `Amount`, e crea il seguente campo:

  * `AmountValue`, questo campo utilizza la funzione `Money#` per convertire il testo ricevuto in un valore comprensibile dal sistema.

Script di caricamento

```
SET MoneyDecimalSep='-';
SET MoneyFormat='###0-00';
SET MoneyThousandSep=';';
Example:
LOAD
TransactionID,
Currency,
Amount,
IF(Currency = 'USD', Money#(Amount, '$#,##0.00','.',','),
IF(Currency = 'EUR', Money#(Amount, '€ #.##0,00',',','.'))) AS AmountValue
INLINE [
TransactionID, Currency, Amount
"TXN001", "USD", "$ 1,500.00"
"TXN002", "EUR", "€ 1.200,75"
"TXN003", "USD", "$ 1,750.50"
"TXN004", "EUR", "€ 950,00"
"TXN005", "USD", "$ 2,600.25"
];
```

Risultati

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

* `TransactionID`

* `Currency`

* `Amount`

* `AmountValue`

Creare la seguente misura:

* `Num(AmountValue)`

Tabella dei risultati

| TransactionID | Currency | Amount | AmountValue | Num(AmountValue) |
| --- | --- | --- | --- | --- |
| TXN001 | USD | $1,500.00 | $ 1,500.00 | 1500 |
| TXN002 | EUR | € 1.200,75 | € 1.200,75 | 1200.75 |
| TXN003 | USD | $ 1,750.50 | $ 1,750.50 | 1750.5 |
| TXN004 | EUR | € 950,00 | € 950,00 | 950 |
| TXN005 | USD | $ 2,600.25 | $ 2,600.25 | 2600.25 |

I risultati mostrano come la funzione `Money#` converte i valori testuali in valori numerici per la valuta che possono poi essere analizzati. Ad esempio, i valori del campo `Amount` sono testuali e appaiono allineati a sinistra. Tuttavia, una volta elaborati dalla funzione `Money#` per creare il nuovo campo, `AmountValue`, il sistema li riconosce come valori numerici monetari. La funzione `Num`, utilizzata nella colonna più a destra, può ora valutare i valori monetari in `AmountValue` e cambiare il formato da denaro a numero.