# Money - Skript- und Diagrammfunktion

Money() formatiert eine Formel numerisch als Geldwert und verwendet dafür, wenn kein Formatcode zur Verfügung steht, das vorgegebene Format aus den Systemvariablen des Datenladeskripts oder des Betriebssystems sowie optionale Dezimal- und Tausendertrennzeichen.

Syntax:

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

Rückgabe Datentyp: dual

Argumente

| Argument | Beschreibung |
| --- | --- |
| number | Die zu formatierende Zahl. |
| format | String zur Formatierung des resultierenden Währungsstrings. Ist kein String angegeben, wird der vom Datenladeskript vorgegebene Wert für `MoneyFormat` verwendet.<br><br>Die Funktion `Money` unterstützt viele Formatoptionen für verschiedene Datumsstrukturen, zum Beispiel:<br><br>​`$#,##0.00`: Fügt ein Dollarzeichen und zwei Dezimalstellen hinzu.<br><br>`€ #,##0`: Fügt ein Eurozeichen und keine Dezimalstellen hinzu, sowie ein Leerzeichen nach dem Eurozeichen.<br><br>`​¥#,##0`: Fügt ein japanisches Yen-Zeichen ohne Dezimalstellen hinzu.<br><br>​`$#,##0;($#,##0)`: Formatiert negative Werte in Klammern.<br><br>​`₣ #.##0,00`:​Fügt ein Schweizer-Franken-Zeichen mit Punkten als Tausendertrennzeichen und einem Komma als Dezimaltrennzeichen hinzu (zum Beispiel`  ₣ 1.000,00 `).<br><br>​`R #,##0.00`: Südafrikanisches Rand-Zeichen mit zwei Dezimalstellen und Leerzeichen nach dem Rand-Zeichen.<br><br>​`$ #,##0.000`: Fügt dem Dollarformat drei Dezimalstellen hinzu. |
| dec\_sep | String zur Angabe des Dezimaltrennzeichens. Ist kein String angegeben, wird der vom Datenladeskript vorgegebene Wert `MoneyDecimalSep` verwendet.<br><br>Die Funktion `Money` unterstützt viele Formate für das Dezimaltrennzeichen, zum Beispiel:<br><br>Komma „ `,` “: zum Beispiel `$1,000,00` für eintausend Dollar.<br><br>Zeitraum „ `.` “: zum Beispiel `€ 1,000.00`.<br><br>Bindestrich „ `-` “: Wenn er anstelle des traditionellen Punkts oder Kommas als Dezimaltrennzeichen verwendet wird, werden Werte wie `¥1,000-00` angezeigt. |
| thou\_sep | String zur Angabe des Tausendertrennzeichens. Ist kein String angegeben, wird der vom Datenladeskript vorgegebene Wert `MoneyThousandSep` verwendet.<br><br>Die Funktion `Money` unterstützt viele Optionen für das Tausendertrennzeichen:<br><br>Punkt „ `.` “: Verwendet einen Punkt als Tausendertrennzeichen (in einigen europäischen Formaten üblich) und wird in Kombination mit einem Komma als Dezimaltrennzeichen als `$1.000,00` angezeigt.<br><br>Leerzeichen ​„ “: Verwendet ein Leerzeichen als Tausendertrennzeichen, was in einigen europäischen Ländern üblich ist. Wird als `€ 1 000.00` angezeigt.<br><br>Unterstrich ​„`_`“:​Verwendet einen Unterstrich als Tausendertrennzeichen, was manchmal in technischen oder spezifischen regionalen Formaten verwendet wird. Zeigt Werte wie `$1_000.00` an. |

Wenn die Argumente format, dec\_sep und thou\_sep weggelassen werden, wird bei der Formatierung jedes spezifischen Teils der Ausgabe das im Betriebssystem eingestellte Währungsformat verwendet. Die Einstellungen des Betriebssystems werden bei der Erstellung des Skripts automatisch als Systemvariablen aufgenommen, um sicherzustellen, dass diese in der gesamten Anwendung konsistent sind.

Diese Systemvariablen heißen MoneyFormat, MoneyDecimalSep und MoneyThousandSep und sind jeweils den Funktionsargumenten format, dec\_sep und thou\_sep zugeordnet.

Beispiel: Diagrammformeln

| Beispiel | Ergebnisse |
| --- | --- |
| `Money( 35648 )` | Gibt `kr 35 648,00` zurück, wenn die Einstellung für `MoneyFormat` `kr ##0,00` ist und das `MoneyThousandSep` ein Punkt `' '` ist. |
| `Money( 35648, '#,##0 ¥', '.' , ',' )` | Gibt `3,564,800 ¥` zurück, wobei die Einstellung `MoneyFormat` und die Einstellung `MoneyThousandSep` ignoriert werden, da die optionalen Parameter `Format`, `dec_sep` und `thou_sep` in der Funktion angegeben sind. |
| `Money(35648)` | Gibt `$ 35,648.00` zurück, wenn die Einstellung für `MoneyFormat` `$ #,##0.00` und das `MoneyThousandSep` ein Punkt `','` ist. |

## Beispiel – Grundlegendes zu „Money“

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

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Ein Feld in der Datentabelle heißt `InputValue`.

* Die folgenden Variablenformate:

  * Die Variable `MoneyFormat`, die das Format `kr ##0,00` verwendet.

  * Die Variable `MoneyThousandSep` zur Verwendung eines Leerzeichens `' '`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* `InputValue`

Erstellen Sie die folgenden Kennzahlen:

* `=Money(InputValue)`, um den Wert als Währung anzuzeigen, die entsprechend der Systemeinstellung formatiert ist.

* `=Money(InputValue, '#,##0 ¥', '.' , ',')`, um den Wert als Währung anzuzeigen, die mit dem in der Funktion angegebenen Format formatiert ist.

* `=Num(InputValue)`, um den numerischen Wert zurückzugeben.

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 |

In diesem Beispiel können Sie sehen, wie die Funktion `Money` Werte anzeigt und wie die Werte im Formatparameter die Ausgabe verändern können.

## Beispiel – Grundlegendes zu „Money“ mit einer anderen Formateinstellung

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

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Ein Feld in der Datentabelle heißt `InputValue`.

* Die folgenden Variablenformate:

  * Die Variable `MoneyFormat`, die das Format `$ #,##0.00` verwendet.

  * Die Variable `MoneyThousandSep`, die auf die Verwendung eines Kommas `','` festgelegt ist

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* `InputValue`

Erstellen Sie die folgenden Kennzahlen:

* `=Money(InputValue)`, um den Wert als Währung anzuzeigen, die entsprechend der Systemeinstellung formatiert ist.

* `=Money(InputValue, '#,##0 ¥', '.' , ', )`, um den Wert als Währung anzuzeigen, die mit dem in der Funktion angegebenen Format formatiert ist.

* `=Num(InputValue)`, um den numerischen Wert zurückzugeben.

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 |

In diesem Beispiel können Sie sehen, wie die Funktion `Money` Werte anzeigt und wie die Werte im Formatparameter die Ausgabe verändern können.

## Beispiel – Szenario für „Money“

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

#### Diagrammformel

Übersicht

Die Kundenumsatzdaten werden in verschiedenen Währungen empfangen. Sie möchten die Daten in einer Tabelle mit dem entsprechenden Währungsformat anzeigen.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

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

* Die folgenden Variablenformate:

  * Die Variable `MoneyFormat`, die das Format `$ ###0.00;-$ ###0.00` verwendet

  * Die Variable `MoneyThousandSep`, die auf die Verwendung eines Kommas `','` festgelegt ist

  * Die Variable `MoneyDecimalSep`, die auf die Verwendung eines Punktes „.“ festgelegt ist

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* `Customer`

Erstellen Sie die folgende Kennzahl:

* `=Money(Sales, If(CurrencyCode = 'USD', '$#,##0.00', If(CurrencyCode = 'EUR', '€ #,##0.00', '¥#,##0')))`, um die Währung im richtigen Währungsformat anzuzeigen.

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 |

Die Umsatzdaten verwenden jetzt das in der Kennzahlenformel definierte Währungsformat. Die Dezimal- und Tausender-Parameter verwenden die Einstellungen im Ladeskript.