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/RRRR. 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.
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.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
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
amount
=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
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
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
amount
=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
Czy ta strona była pomocna?
Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!