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łasność Number Formatting pola 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ęśto używana w połączeniu z następującymi funkcjami:
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/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 – MoneyFormat
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
Amount
=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
$35545828255.00
01/09/2022
$37565817436
$37565817436.00
01/10/2022
$3454343566
$3454343566.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
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
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
Amount
=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
$7873578754
$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
01/09/2022
$37565817436
$37,565,817,436.00
01/10/2022
$3454343566
$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.
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ć!