# Money#Script- en diagramfunctie

Money#() converteert een teksttekenreeks naar een geldwaarde, in de indeling die is ingesteld in het load-script of in het besturingssysteem, tenzij een opmaakreeks is opgegeven. Aangepaste scheidingstekens voor decimalen en scheidingstekens voor duizendtallen zijn optionele parameters.

Syntaxis:

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

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| text | De teksttekenreeks die moet worden geëvalueerd. |
| format | Tekenreeks die de verwachte invoerindeling beschrijft bij het converteren van de tekenreeks naar een numeriek interval.<br><br>Bij weglating wordt gebruikgemaakt van de waarde voor `MoneyFormat` die is ingesteld in het load-script voor gegevens.<br><br>De functie `Money#` ondersteunt vele opmaakopties voor verschillende geldbedragstructuren, bijvoorbeeld:<br><br>​`$#,##0.00`: voegt een dollarteken en twee decimalen toe.<br><br>​`€ #,##0`: voegt een euroteken en geen decimalen toe, met een spatie na het euroteken.<br><br>`​¥#,##0`: voegt een Japans yen-teken zonder decimalen toe.<br><br>​`$#,##0;($#,##0)`: plaatst negatieve waarden tussen haakjes.<br><br>​`₣ #.##0,00`: voegt een Zwitserse frank-teken toe met punten als scheidingsteken voor duizendtallen en een komma voor decimalen (bijvoorbeeld `  ₣ 1.000,00 `).<br><br>​`R #,##0.00`: Zuid-Afrikaanse rand-teken met twee decimalen en spaties na het rand-symbool.<br><br>`$ #,##0.000`: voegt drie decimalen toe aan de dollarnotatie. |
| dec\_sep | Tekenreeks die het scheidingsteken voor decimalen opgeeft. Bij weglating wordt gebruikgemaakt van de waarde voor `MoneyDecimalSep` die is ingesteld in het load-script voor gegevens.<br><br>De functie `Money#` ondersteunt vele notaties voor scheidingstekens voor decimalen, bijvoorbeeld:<br><br>Komma ​' `,` ': Bijvoorbeeld `$1,000,00` voor duizend dollar.<br><br>Punt ' `.` ':​ bijvoorbeeld `€ 1,000.00`.<br><br>Koppelteken ' `-` ': als dit wordt gebruikt in plaats van de traditionele punt of komma als scheidingsteken voor decimalen, geeft het waarden weer als `¥1,000-00`. |
| thou\_sep | Tekenreeks die het scheidingsteken voor duizendtallen opgeeft. Bij weglating wordt gebruikgemaakt van de waarde voor `MoneyThousandSep` die is ingesteld in het load-script voor gegevens.<br><br>De functie `Money#` ondersteunt vele opties voor het scheidingsteken voor duizendtallen:<br><br>Punt ​' `.` ': gebruikt een punt als scheidingsteken voor duizendtallen (gebruikelijk in sommige Europese notaties), wordt weergegeven als `$1.000,00` indien gecombineerd met een komma als scheidingsteken voor decimalen.<br><br>Spatie ​' ': gebruikt een spatie voor het scheidingsteken voor duizendtallen, wat gebruikelijk is in sommige Europese landen. Wordt weergegeven als `€ 1 000.00`.<br><br>Onderstrepingsteken ​'`_`':​ gebruikt een onderstrepingsteken voor het scheidingsteken voor duizendtallen, dat soms wordt gebruikt in technische of specifieke regionale notaties. Geeft waarden weer zoals `$1_000.00`. |

De functie `Money#` gedraagt zich zoals de functie `Num#`, maar haalt de standaardwaarden voor de scheidingstekens voor decimalen en duizendtallen uit de scriptvariabelen voor geldnotatie of de systeeminstellingen voor valuta.

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaten |
| --- | --- |
| `Money#('35 648,37 kr' , '# ##0,00 kr',',',' ' )` | Retourneert `35 648,37 kr` als de `MoneyFormat` instelling `# ##0,00 kr` is. Het volgende moet in uw load-script worden ingesteld om dit correct te evalueren als getal:<br><br><ul> <li> <p><code>SET MoneyDecimalSep=',';</code> </p> </li> <li> <p><code>SET MoneyThousandSep=' ';</code> </p> </li> </ul> |
| `Money#( '$35,648.37', ' $#', '.', ',' )` | Retourneert `$35,648.37` als het volgende is ingesteld:<br><br><ul> <li> <p><code>MoneyFormat</code>is <code>$#</code></p> </li> <li> <p><code>SET MoneyDecimalSep=',';</code> </p> </li> <li> <p><code>SET MoneyThousandSep=' ';</code> </p> </li> </ul> |

## Voorbeeld - Basisprincipes voor Money\#

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

#### Load-script

Overzicht

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* Eén veld in de gegevenstabel met de naam `MoneyValue`.

* Een voorafgaande lading die de functie `Money#` gebruikt om de tekstwaarden in de gegevens om te zetten in een waarde die Qlik Sense herkent als een geldige waarde.

Load-script

```
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 ';');
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `MoneyValue`

* `FormattedMoneyValue`

Maak de volgende metingen:

* `=Money( FormattedMoneyValue, 'kr #,##0', '.' , ',' )`, om de waarde als geld weer te geven, geformatteerd met de argumenten die in de functie `Money` zijn ingesteld.

* `=Num(FormattedMoneyValue)` om de numerieke waarde te retourneren nadat deze verwerkt is door de functie `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 |

De tabel met resultaten laat zien hoe waarden kunnen worden weergegeven met behulp van de volgende functies en notatie: `Money#`, `Money` en `Num`. De tweede kolom toont de dimensie `FormattedMoneyValue`, die werd berekend met de functie `Money#` om de waarde te wijzigen in geld met de indeling `'# ##0,00 kr',',',' '`. De derde kolom gebruikt de functie `Money` om de valutanotatie van `FormattedMoneyValue` te wijzigen in `'kr #,##0', '.' , ','`. De vierde kolom gebruikt de functie `Num` om de valutanotatie om de numerieke waarde van de dimensie `FormattedMoneyValue` weer te geven met behulp van de notatie in de systeemvariabele.

## Voorbeeld – Scenario met Money\#

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

#### Load-script

Overzicht

Een gegevensverzameling met verkooporders bevat velden die verschillende valuta's gebruiken. Dit voorbeeld laat zien hoe u de verkoopwaarden kunt scheiden en optellen op basis van valuta.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `TransactionID`

  * `Currency`
  * `Amount`

* De systeemvariabelen `MoneyDecimalSep`, `MoneyFormat` en `MoneyThousandSep` zijn voor demonstratiedoeleinden in een andere notatie ingesteld dan in de gegevens.

* Een voorafgaande lading die de velden `TransactionID`, `Currency` en `Amount` laadt en het volgende veld aanmaakt:

  * `AmountValue`, dit veld gebruikt de functie `Money#` om de ontvangen tekst om te zetten naar een waarde die het systeem begrijpt.

Load-script

```
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"
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `TransactionID`

* `Currency`

* `Amount`

* `AmountValue`

Maak de volgende meting:

* `Num(AmountValue)`

Resultatentabel

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

De resultaten laten zien hoe de functie `Money#` tekstwaarden converteert naar monetaire numerieke waarden die vervolgens kunnen worden geëvalueerd. De waarden in het veld `Amount` zijn bijvoorbeeld tekst en worden links uitgelijnd weergegeven. Zodra deze echter door de functie `Money#` zijn verwerkt om het nieuwe veld, `AmountValue`, te maken, herkent het systeem deze als monetaire numerieke waarden. De functie `Num`, die in de meest rechtse kolom wordt gebruikt, kan nu de monetaire waarden in `AmountValue` evalueren en de notatie veranderen van geld naar een getal.