# Money – Skript- och diagramfunktion

Money() formaterar ett uttryck numeriskt som ett valutavärde i det format som har ställts in i systemvariablerna i dataladdningsskriptet, eller i operativsystemet, om inte en formatsträng finns. Den formaterar även valbara decimal- och tusentalsavgränsare.

Syntax:

Money(number[, format[, dec\_sep[, thou\_sep]]])

Returnerad datatyp: dual

Argument

| Argument | Beskrivning |
| --- | --- |
| number | Talet som ska formateras. |
| format | Sträng som beskriver hur den resulterande valutasträngen ska formateras. Om det utelämnas används det värde som angetts i dataladdningsskriptet för `MoneyFormat`.<br><br>Funktionen `Money` har stöd för många formatalternativ för olika datumstrukturer, t.ex:<br><br>​`$#,##0.00`: Lägger till ett dollartecken och två decimaler.<br><br>`€ #,##0`: Lägger till ett eurotecken, inga decimaler och ett blanksteg efter eurotecknet.<br><br>`​¥#,##0`: Lägger till ett tecken för japanska yen utan decimaler.<br><br>​`$#,##0;($#,##0)`: Formaterar negativa värden inom parentes.<br><br>​`₣ #.##0,00`:​ Lägger till ett tecken för schweizerfranc med punkter som tusentalsavgränsare och ett kommatecken för decimalavgränsare (till exempel `  ₣ 1.000,00 `).<br><br>​`R #,##0.00`: Sydafrikanskt randtecken med två decimaler och blanksteg efter randtecknet.<br><br>​`$ #,##0.000`: Lägger till tre decimaler i dollarformatet. |
| dec\_sep | Sträng som specificerar decimalavgränsare. Om det utelämnas används det `MoneyDecimalSep`-värde som angetts i dataladdningsskriptet.<br><br>Funktionen `Money` stöder många format för decimalavgränsare, t.ex:<br><br>Komma ​' `,` ': Till exempel, `$1,000,00` för ettusen dollar.<br><br>Punkt ' `.` ': ​ Till exempel `€ 1,000.00`.<br><br>Bindestreck ' `-` ': När det används i stället för den traditionella punkten eller kommatecknet som decimalavgränsare visar det värden som `¥1,000-00`. |
| thou\_sep | Sträng som specificerar tusendelsavgränsare. Om det utelämnas används det `MoneyThousandSep`-värde som angetts i dataladdningsskriptet.<br><br>Funktionen `Money` stöder många alternativ för tusentalsavgränsaren:<br><br>Punkt ​' `.` ': Använder en punkt som tusentalsavgränsare (vanligt i vissa europeiska format), visas som `$1.000,00` om den kombineras med en decimalavgränsare med kommatecken.<br><br>Mellanslag ​' ': Använder ett mellanslag som tusentalsavgränsare, vilket är vanligt i vissa europeiska länder. Visas som `€ 1 000.00`.<br><br>Understreck ​'`_`':​Använder ett understreck för tusentalsavgränsaren, som ibland används i tekniska eller specifikt regionala format. Visar värden som `$1_000.00`. |

Om argumenten format, dec\_sep och thou\_sep utelämnas används det valutaformat som är inställt i operativsystemet vid formateringen av varje specifik del av utskriften. Operativsysteminställningarna inkluderas automatiskt som systemvariabler när skriptet skapas, vilket säkerställer att dessa är konsekventa i hela programmet.

Dessa systemvariabler är MoneyFormat, MoneyDecimalSep, och MoneyThousandSep, och mappar till funktionsargumenten format, dec\_sep och thou\_sep.

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `Money( 35648 )` | Returnerar `kr 35 648,00` när `MoneyFormat`-inställningen är `kr ##0,00` och `MoneyThousandSep` är en punkt `' '`. |
| `Money( 35648, '#,##0 ¥', '.' , ',' )` | Returnerar `3,564,800 ¥` genom att ignorera inställningen för `MoneyFormat` och `MoneyThousandSep` eftersom de valfria parametrarna `Format`, `dec_sep` och `thou_sep` anges i funktionen. |
| `Money(35648)` | Returnerar `$ 35,648.00` när `MoneyFormat`-inställningen är `$ #,##0.00` och `MoneyThousandSep` är ett komma `','`. |

## Exempel – grunderna i Money

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Ett fält i datatabellen heter `InputValue`.

* Följande variabelformat:

  * Variabeln `MoneyFormat`, som använder formatet: `kr ##0,00`

  * Variabeln `MoneyThousandSep` är inställd på att använda ett blanksteg `' '`

Laddningsskript

```
SET MoneyFormat='kr ##0,00';
SET MoneyThousandSep=' ';
Example:
Load * inline [
InputValue
35648
3564800
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `InputValue`

Skapa följande mått:

* `=Money(InputValue)` för att visa värdet som en valuta formaterad med hjälp av systeminställningen.

* `=Money(InputValue, '#,##0 ¥', '.' , ',')` för att visa värdet som en valuta som är formaterat med det format som anges i funktionen.

* `=Num(InputValue)`, för att returnera det numeriska värdet.

Results table

| InputValue | Money(InputValue) | Money(InputValue, '#,##0 ¥', '.' , ',') | Num(InputValue) |
| --- | --- | --- | --- |
| 35648 | kr35 648,00 | 35,648 ¥ | 35648 |
| 3564800 | kr3 564 800,00 | 3,564,800 ¥ | 3564800 |

I det här exemplet kan du se hur funktionen `Money` visar värden och hur värdena i parametern format kan ändra utdata.

## Exempel – grunderna i valuta med en annan formatinställning

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Ett fält i datatabellen heter `InputValue`.

* Följande variabelformat:

  * Variabeln `MoneyFormat`, som använder formatet: `$ #,##0.00`

  * Variabeln `MoneyThousandSep` är inställd på att använda ett komma `','`

Laddningsskript

```
SET MoneyFormat='$ #,##0.00';
SET MoneyThousandSep=',';
Example:
Load * inline [
InputValue
35648
3564800
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `InputValue`

Skapa följande mått:

* `=Money(InputValue)` för att visa värdet som en valuta formaterad med hjälp av systeminställningen.

* `=Money(InputValue, '#,##0 ¥', '.' , ', )` för att visa värdet som en valuta som är formaterat med det format som anges i funktionen.

* `=Num(InputValue)`, för att returnera det numeriska värdet.

Results table

| InputValue | Money(InputValue) | Money(InputValue, '#,##0 ¥', '.' , ',') | Num(InputValue) |
| --- | --- | --- | --- |
| 35648 | $ 35,648.00 | 35,648 ¥ | 35648 |
| 3564800 | $ 3,564,800.00 | 3,564,800 ¥ | 3564800 |

I det här exemplet kan du se hur funktionen `Money` visar värden och hur värdena i parametern format kan ändra utdata.

## Exempel – Money-scenario

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

#### Diagramuttryck

Översikt

Försäljningsdata från kunder tas emot i olika valutor. Du vill visa data i en tabell med hjälp av relevant valutaformat.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `Customer`
  * `CurrencyCode`
  * `Sales`

* Följande variabelformat:

  * Variabeln `MoneyFormat`, som använder formatet: `$ ###0.00;-$ ###0.00`

  * Variabeln `MoneyThousandSep` är inställd på att använda ett komma `','`

  * Variabeln `MoneyDecimalSep` är inställd på att använda en punkt '.'

Laddningsskript

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$ ###0.00;-$ ###0.00';
Example:
Load * inline [
Customer, CurrencyCode, Sales
Customer A, USD, 100008
Customer B, EUR, 12500
Customer C, YEN, 15000
];
```

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* `Customer`

Skapa följande mått:

* `=Money(Sales, If(CurrencyCode = 'USD', '$#,##0.00', If(CurrencyCode = 'EUR', '€ #,##0.00', '¥#,##0')))`, för att visa valutan i rätt valutaformat.

Results table

| Customer | Money(Sales, If(CurrencyCode = 'USD', '$#,##0.00', If(CurrencyCode = 'EUR', '€ #,##0.00', '¥#,##0'))) |
| --- | --- |
| Customer A | $100,008.00 |
| Customer B | € 12,500.00 |
| Customer C | ¥15,000 |

Försäljningsdata använder nu det valutaformat som definierats i mätuttrycket. Parametrarna decimal och tusen använder inställningarna i laddningsskriptet.