# Money — funkcja skryptu i funkcja wykresu

Funkcja Money() formatuje wyrażenie liczbowo jako wartość pieniężną w formacie ustawionym w zmiennych systemowych w skrypcie ładowania danych lub systemie operacyjnym, chyba że podano format ciągu znaków oraz opcjonalny separator dziesiętny i separator tysięcy.

Składnia:

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

Typ zwracanych danych: dual

Argumenty

| Argument | Opis |
| --- | --- |
| number | Liczba do sformatowania. |
| format | Ciąg znaków opisujący sposób formatowania otrzymywanego ciągu waluty. W przypadku pominięcia dla `MoneyFormat` zostanie użyta wartość ustawiona w skrypcie ładowania danych.<br><br>Funkcja `Money` obsługuje wiele opcji formatu dla różnych struktur daty, na przykład:<br><br>​`$#,##0.00`: dodaje znak dolara i dwa miejsca po przecinku.<br><br>`€ #,##0`: dodaje znak euro bez miejsc po przecinku, ze spacją po znaku euro.<br><br>`​¥#,##0`: dodaje japoński znak jena bez miejsc dziesiętnych.<br><br>`$#,##0;($#,##0)`: formatuje wartości ujemne w nawiasach.<br><br>​`₣ #.##0,00`:​dodaje znak franka szwajcarskiego z kropkami jako separatorami tysięcy i przecinkiem dla separatorów dziesiętnych (na przykład `  ₣ 1.000,00 `).<br><br>​`R #,##0.00`: znak randa południowoafrykańskiego z dwoma miejscami po przecinku i Przestrzenie po znaku randa.<br><br>`$ #,##0.000`: dodaje trzy miejsca po przecinku do formatu dolara. |
| dec\_sep | Ciąg znaków określający separator dziesiętny. W przypadku pominięcia zostanie użyta wartość `MoneyDecimalSep` ustawiona w skrypcie ładowania danych.<br><br>Funkcja `Money` obsługuje wiele formatów separatorów dziesiętnych, np:<br><br>Przecinek ​„`,`”: na przykład `$1,000,00` w przypadku tysiąca dolarów.<br><br>Kropka „`.`”:​ na przykład `€ 1,000.00`.<br><br>Łącznik „`-`”: używany zamiast tradycyjnej kropki lub przecinka jako separatora dziesiętnego, wyświetla wartości w taki sposób: `¥1,000-00`. |
| thou\_sep | Ciąg znaków określający separator tysięcy. W przypadku pominięcia zostanie użyta wartość `MoneyThousandSep` ustawiona w skrypcie ładowania danych.<br><br>Funkcja `Money` obsługuje wiele opcji separatora tysięcy:<br><br>Kropka „`.`”: używa kropki jako separatora tysięcy (typowe w niektórych formatach europejskich), wyświetlając w formie `$1.000,00` w połączeniu z przecinkiem jako separatorem dziesiętnym.<br><br>Spacja Space ​„ ”: używa spacji jako separatora tysięcy, co jest typowe w niektórych krajach europejskich. Wygląda tak: `€ 1 000.00`.<br><br>Znak podkreślenia „`_`”: używa znaku podkreślenia jako separatora tysięcy, który jest czasami używany w formatach technicznych lub specyficznych formatach regionalnych. Wyświetla wartości w takiej formie: `$1_000.00`. |

Jeśli argumenty format, dec\_sep i thou\_sep zostaną pominięte, używany jest format waluty ustawiony w systemie operacyjnym podczas formatowania każdej konkretnej części danych wyjściowych. Ustawienia systemu operacyjnego są automatycznie uwzględniane jako zmienne systemowe po utworzeniu skryptu, zapewniając w ten sposób ich spójność w całej aplikacji.

Te zmienne systemowe to MoneyFormat, MoneyDecimalSep i MoneyThousandSep, i mapują się odpowiednio do argumentów funkcji format, dec\_sep i thou\_sep.

Przykład: wyrażenia wykresu

| Przykład | Wyniki |
| --- | --- |
| `Money( 35648 )` | Zwraca `kr 35 648,00`, gdy ustawienie `MoneyFormat` to `kr ##0,00` a `MoneyThousandSep` jest kropką `' '` . |
| `Money( 35648, '#,##0 ¥', '.' , ',' )` | Zwraca `3,564,800 ¥`, ignorując ustawienia `MoneyFormat` i `MoneyThousandSep`, ponieważ w funkcji podano opcjonalne parametry `Format`, `dec_sep` i `thou_sep`. |
| `Money(35648)` | Zwraca `$ 35,648.00`, gdy ustawienie `MoneyFormat` to `$ #,##0.00` a `MoneyThousandSep` jest kropką `','` . |

## Przykład — podstawy dotyczące pieniędzy

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

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Jedno pole w tabeli danych o nazwie `InputValue`.

* Obserwowane są następujące formaty zmiennych:

  * Zmienna `MoneyFormat`, która używa formatu `kr ##0,00`.

  * Zmienna `MoneyThousandSep` ustawiona na użycie spacji `' '`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* `InputValue`

Utwórz następujące miary:

* `=Money(InputValue)`, aby wyświetlić wartość w formacie interwału przy użyciu ustawienia systemowego.

* `=Money(InputValue, '#,##0 ¥', '.' , ',')`, aby wyświetlić wartość jako pieniężną sformatowaną przy użyciu formatu podanego w funkcji.

* `=Num(InputValue)`, aby zwrócić wartość liczbową.

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 |

W tym przykładzie można zobaczyć, w jaki sposób funkcja `Money` wyświetla wartości i jak wartości parametru formatu mogą zmienić dane wyjściowe.

## Przykład — podstawowe informacje o pieniądzach przy użyciu innego ustawienia formatu

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

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Jedno pole w tabeli danych o nazwie `InputValue`.

* Obserwowane są następujące formaty zmiennych:

  * Zmienna `MoneyFormat`, która używa formatu `$ #,##0.00`.

  * Zmienna `MoneyThousandSep` ustawiona na użycie przecinka `','`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* `InputValue`

Utwórz następujące miary:

* `=Money(InputValue)`, aby wyświetlić wartość w formacie interwału przy użyciu ustawienia systemowego.

* `=Money(InputValue, '#,##0 ¥', '.' , ', )`, aby wyświetlić wartość jako pieniężną sformatowaną przy użyciu formatu podanego w funkcji.

* `=Num(InputValue)`, aby zwrócić wartość liczbową.

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 |

W tym przykładzie można zobaczyć, w jaki sposób funkcja `Money` wyświetla wartości i jak wartości parametru format mogą zmienić dane wyjściowe.

## Przykład — scenariusz dotyczący pieniędzy

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

#### Wyrażenie wykresu

Przegląd

Dane dotyczące sprzedaży klientów są otrzymywane w różnych walutach. Dane mają być wyświetlane w tabeli przy użyciu odpowiedniego formatu waluty.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

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

* Obserwowane są następujące formaty zmiennych:

  * Zmienna `MoneyFormat`, która używa formatu `$ ###0.00;-$ ###0.00`.

  * Zmienna `MoneyThousandSep` ustawiona na użycie przecinka `','`

  * Zmienna `MoneyDecimalSep` ustawiona na używanie kropki „.”.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* `Customer`

Utwórz następującą miarę:

* `=Money(Sales, If(CurrencyCode = 'USD', '$#,##0.00', If(CurrencyCode = 'EUR', '€ #,##0.00', '¥#,##0')))`, aby wyświetlić walutę w prawidłowym formacie.

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 |

Dane sprzedaży używają teraz formatu waluty zdefiniowanego w wyrażeniu miary. Parametry decimal i thousand używają ustawień skryptu ładowania.