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.
Domyślne ustawienia regionalne w aplikacjach są oparte na regionalnych ustawieniach systemu komputera lub serwera, na którym zainstalowano Qlik Sense. Jeśli serwer Qlik Sense, do którego uzyskujesz dostęp, jest ustawiony na Szwecję, Edytor ładowania danych użyje szwedzkich ustawień regionalnych dla dat, godziny i waluty. Te ustawienia regionalne nie są związane z językiem wyświetlanym w interfejsie użytkownika Qlik Sense. Interfejs Qlik Sense będzie wyświetlany w tym samym języku co używana przeglądarka.
Przykład 1 – Notacja z kropką (.) MoneyDecimalSep
Przegląd
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ć!