# MoneyDecimalSep

Zdefiniowany separator dziesiętny zastępuje symbol dziesiętny waluty na podstawie ustawień 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:

MoneyDecimalSep

Aplikacje Qlik Sensebędą interpretować pola tekstowe w tym formacie jako wartości pieniężne. Pole tekstowe musi zawierać symbol waluty, który jest zdefiniowany w zmiennej systemowej `MoneyFormat`. Funkcja `MoneyDecimalSep` jest szczególnie przydatna w przypadku pracy ze źródłami danych reprezentującymi różne ustawienia regionalne.

Poniżej znajduje się przykład użycia zmiennej systemowej `MoneyDecimalSep`:

`Set MoneyDecimalSep='.';`

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

Powiązane funkcje

| Funkcja | Interakcja |
| --- | --- |
| `MoneyFormat` | W przypadku interpretacji pola tekstowego symbol `MoneyFormat` jest używany w ramach interpretacji. W przypadku formatowania liczb formatowanie `MoneyFormat` zostanie użyte przez Qlik Sense w obiektach wykresów. |
| `MoneyThousandSep` | W przypadku interpretacji pól tekstowych należy przestrzegać także zasad funkcji `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 – Notacja z kropką (.) MoneyDecimalSep

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.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 daty, który jest załadowany do tabeli o nazwie `Transactions`.

* Dostarczone dane zawierające pole walutowe w formacie tekstowym z kropką w roli separatora dziesiętnego. Ponadto prawie każdy rekord jest poprzedzony symbolem „$”. Wyjątkiem jest ostatni rekord, który ma z przodu symbol „£”.

Pamiętaj, że zmienna systemowa `MoneyFormat` definiuje dolara („$”) jako walutę domyślną.

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,'$14.41'
01/02/2022,2,'$2,814.32'
01/03/2022,3,'$249.36'
01/04/2022,4,'$24.37'
01/05/2022,5,'$7.54'
01/06/2022,6,'$243.63'
01/07/2022,7,'$545.36'
01/08/2022,8,'$3.55'
01/09/2022,9,'$3.436'
01/10/2022,10,'£345.66'
];					
```

Wyniki

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

Dodaj następujące miary:

* `isNum(amount)`

* `sum(amount)`

Przyjrzyj się poniższym wynikom pokazujący, że poprawnie zostały zinterpretowane tylko wartości z symbolem dolara.

Tabela wynikowa

| kwota | =isNum(amount) | =Sum(amount) |
| --- | --- | --- |
| Sumy | 0 | $3905.98 |
| £345.66 | 0 | $0.00 |
| $3.436 | -1 | $3.44 |
| $3.55 | -1 | $3.55 |
| $7.54 | -1 | $7.54 |
| $14.41 | -1 | $14.41 |
| $24.37 | -1 | $24.37 |
| 243.63 | -1 | $243,63 |
| $249.36 | -1 | $249,36 |
| $545.36 | -1 | $545,36 |
| $2,814.32 | -1 | $2814,32 |

Powyższa tabela wyników pokazuje, że pole `amount` zostało prawidłowo zinterpretowane dla wszystkich wartości z symbolem dolara z przodu. Natomiast wartość z symbolem funta (£) z przodu `amount` nie zostało przekonwertowane na wartość walutową.

## Przykład 2 – Notacja z przecinkiem (,) MoneyDecimalSep

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/MoneyDecimalSep.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 załadowany do tabeli o nazwie `Transactions`.

* Dostarczone dane zawierające pole walutowe w formacie tekstowym z przecinkiem w roli separatora dziesiętnego. Ponadto każdy rekord jest poprzedzony symbolem „$”. Ostatni rekord jest wyjątkowy, ponieważ błędnie zastosowano w nim kropkę w roli separatora dziesiętnego.

Pamiętaj, że zmienna systemowa `MoneyFormat` definiuje dolara („$”) jako walutę domyślną.

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,'$14,41'
01/02/2022,2,'$2.814,32'
01/03/2022,3,'$249,36'
01/04/2022,4,'$24,37'
01/05/2022,5,'$7,54'
01/06/2022,6,'$243,63'
01/07/2022,7,'$545,36'
01/08/2022,8,'$3,55'
01/09/2022,9,'$3,436'
01/10/2022,10,'$345.66'
];
```

Wyniki

Tekst akapitu dotyczący wyników.

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

Dodaj następujące miary:

* `isNum(amount)`

* `sum(amount)`

W poniższych wynikach widać, że prawie wszystkie wartości zostały poprawnie zinterpretowane. Wyjątkiem jest kwota, w której jako separatora dziesiętnego użyto kropki. W tym przypadku powinien zostać użyty przecinek.

Tabela wynikowa

| kwota | =isNum(amount) | =Sum(amount) |
| --- | --- | --- |
| Sumy | 0 | 3905,98 zł |
| 345,66 zł | 0 | 0,00 zł |
| 3436 zł | -1 | 3,44 zł |
| $3,55 | -1 | $3.55 |
| $7,54 | -1 | $7.54 |
| $14,41 | -1 | $14,41 |
| $24,37 | -1 | $24,37 |
| $243,63 | -1 | $243,63 |
| 249,36 $ | -1 | 249,36 $ |
| 545,36 $ | -1 | 545,36 $ |
| 2 814,32 $ | -1 | $2814,32 |