# MoneyFormat

Ta zmienna systemowa definiuje wzorzec formatu używany przez Qlik do automatycznej translacji tekstu na liczbę, gdy liczba ta jest poprzedzona symbolem waluty. Ponadto definiuje sposób prezentacji w obiektach wykresów miar, których właściwości formatowania liczbowego są ustawione na „Money”.

Symbol zdefiniowany jako część wzorca formatu w zmiennej systemowej `MoneyFormat` zastępuje symbol waluty wybrany w ustawieniach regionalnych.

Wskazówka

Qlik Sense domyślnie wyświetla inaczej liczby i tekst na wykresach tabel. Liczby są wyrównane do prawej, a tekst do lewej. Ułatwia to znalezienie problemów z konwersją tekstu na liczbę. Wszystkie tabele na tej stronie, które pokazują wyniki Qlik Sense, będą używać tego formatowania.

Składnia:

MoneyFormat

` Set MoneyFormat='$ #,##0.00; ($ #,##0.00)';  `

To formatowanie będzie stosowane w obiektach wykresów, gdy właściwość pola `Number Formatting`liczbowego będzie ustawiona na `Money`. Ponadto, kiedy numeryczne pola tekstowe są interpretowane przez Qlik Sense, jeśli symbol waluty pola tekstowego zgadza się z symbolem waluty zdefiniowanym w zmiennej `MoneyFormat`, Qlik Sense zinterpretuje to pole jako wartość walutową.

Ta funkcja jest często używana w połączeniu z następującymi funkcjami:

Powiązane funkcje

| Funkcja | Interakcja |
| --- | --- |
| [MoneyDecimalSep](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.htm) | W przypadku formatowania liczb do formatowania pól obiektów używana jest zmienna `MoneyDecimalSep`. |
| [MoneyThousandSep](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyThousandSep.htm) | W przypadku formatowania liczb do formatowania pól obiektów używana jest zmienna `MoneyThousandSep`. |

## Ustawienia regionalne

Jeżeli nie podano inaczej, w przykładach w tym temacie stosowany jest następujący format daty: MM/DD/YYYY. Format daty jest określony w instrukcji `SET DateFormat` w skrypcie ładowania danych. Domyślny format daty w Twoim systemie może być inny ze względu na ustawienia regionalne i inne czynniki. Formaty zastosowane w przykładach można zmienić, aby dostosować je do własnych wymagań. Zamiast tego można też zmienić formaty w skrypcie ładowania, aby pasowały do tych przykładów. Więcej informacji można znaleźć w temacie [Modyfikowanie ustawień regionalnych na potrzeby aplikacji i skryptów](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Apps/regional-settings-in-apps.htm).

Domyślne ustawienia regionalne w aplikacjach są oparte na profilu użytkownika. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Cloud. Interfejs Qlik Cloud będzie wyświetlany w tym samym języku co używana przeglądarka.

Jeżeli jesteś twórcą aplikacji, możesz wybrać domyślny region dla tworzonych przez siebie aplikacji. Więcej informacji zawiera temat [Ustawianie preferowanych ustawień regionalnych do tworzenia aplikacji i skryptów w Analityka Qlik Cloud](https://help.qlik.com/pl-PL/cloud-services/Subsystems/Hub/Content/Sense_Hub/UserInterface/Languages.htm#Setting).

## Przykład 1 – MoneyFormat

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

#### Skrypt ładowania i wyniki

Przegląd

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

Skrypt ładowania zawiera zestaw danych, który jest ładowany do tabeli o nazwie `Transactions`. Używana jest domyślna definicja zmiennej `MoneyFormat`.

Skrypt ładowania

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat='$###0.00;-$###0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,$10000000441
01/02/2022,2,$21237492432
01/03/2022,3,$249475336
01/04/2022,4,$24313369837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`

* `amount`

Dodaj tę miarę:

`=Sum(amount)`

W obszarze Formatowanie liczb wybierz pozycję Pieniądze, aby ustawić `Sum(amount)` jako wartość walutową.

Tabela wynikowa

| date | Kwota | =Sum(amount) |
| --- | --- | --- |
| Sumy |  | $165099674156.00 |
| 01/01/2022 | $10000000441 | $10000000441.00 |
| 01/02/2022 | $21237492432 | $21237492432.00 |
| 01/03/2022 | $249475336 | $249475336.00 |
| 01/04/2022 | $24313369837 | $24313369837.00 |
| 01/05/2022 | $7873578754 | $7873578754.00 |
| 01/06/2022 | $24313884663 | $24313884663.00 |
| 01/07/2022 | $545883436 | $545883436.00 |
| 01/08/2022 | $35545828255 | $35 545 828 255,00 |
| 01/09/2022 | $37565817436 | $37 565 817 436,00 |
| 01/10/2022 | $3454343566 | $3 454 343 566,00 |

Używana jest domyślna definicja `MoneyFormat`. Wygląda ona następująco: `$###0.00;-$###0.00`. W tabeli wyników format pola `amount` obejmuje symbol waluty i separator dziesiętny oraz miejsca dziesiętne.

## Przykład 2 – MoneyFormat z separatorem tysięcy i mieszanymi formatami wejściowymi

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

#### Skrypt ładowania i wyniki

Przegląd

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

Skrypt ładowania zawiera:

* Zestaw danych zawierający mieszankę formatów wejściowych, który został załadowany do tabeli o nazwie `Transactions`, z separatorami tysięcy i dziesiętnym.

* Zmodyfikowana wersja definicji `MoneyFormat` zawiera przecinek jako separator tysięcy.

* Jeden z wierszy ma pomyłkowo wstawione separatory tysięcy (przecinki) w niewłaściwych miejscach. Zwróć uwagę, że ta kwota została zinterpretowana jako tekst, nie jako liczba.

Skrypt ładowania

```
SET MoneyThousandSep=',';
SET MoneyDecimalSep='.';
SET MoneyFormat = '$#,##0.00;-$#,##0.00';

Transactions:
Load
date,
id,
amount
Inline
[
date,id,amount
01/01/2022,1,'$10,000,000,441.45'
01/02/2022,2,'$212,3749,24,32.23'
01/03/2022,3,$249475336.45
01/04/2022,4,$24,313,369,837
01/05/2022,5,$7873578754
01/06/2022,6,$24313884663
01/07/2022,7,$545883436
01/08/2022,8,$35545828255
01/09/2022,9,$37565817436
01/10/2022,10,$3454343566
];		
```

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `date`

* `amount`

Dodaj tę miarę:

`=Sum(amount)`

W obszarze Formatowanie liczb wybierz pozycję Pieniądze, aby ustawić `Sum(amount)` jako wartość walutową.

Tabela wynikowa

| date | Kwota | =Sum(amount) |
| --- | --- | --- |
| Sumy |  | $119,548,811,911.90 |
| 01/01/2022 | $10,000,000,441.45 | $10 000 000 441,45 |
| 01/02/2022 | $212,3749,24,32.23 | $0.00 |
| 01/03/2022 | $249475336.45 | 249 475 336,45 $ |
| 01/04/2022 | 24 $ | 24,00 $ |
| 01/05/2022 | 7 873 578 754 $ | 7 873 578 754,00 $ |
| 01/06/2022 | 24313884663 | 24,313,884,663.00 |
| 01/07/2022 | 545883436 | 545,883,436.00 |
| 01/08/2022 | 35545828255 | 35,545,828,255.00 USD |
| 01/09/2022 | 37 565 817 436 USD | 37,565,817,436.00 USD |
| 01/10/2022 | 3 454 343 566 USD | $3,454,343,566.00 |

Na początku skryptu zmienna systemowa `MoneyFormat` została zmodyfikowana, aby definiowała przecinek jako separator tysięcy. W tabeli Qlik Sense widać, że ten separator jest używany do formatowania liczb. Jednak wiersz zawierający błędny separator nie został poprawnie zinterpretowany i ma postać zwykłego tekstu. Dlatego też nie został uwzględniony w kwocie łącznej.