I den här systemvariabeln definieras det formatmönster som används av Qlik vid automatisk översättning av text till tal, där talet har en monetär symbol som prefix. Den definierar också hur mått vars talformategenskaper är inställda till "Pengar" visas i diagramobjekt.
Symbolen som definieras som del av formatmönstret i systemvariabeln MoneyFormat ersätter valutasymbolen som ställts in i dina regionala inställningar.
Anteckning om tips
Som standard visar Qlik Sense siffror och text annorlunda i tabelldiagram. Siffror är högerjusterade och text är vänsterjusterad. Detta underlättar att hitta konverteringsproblem som gäller text-till-nummer. Alla tabeller på denna sida som visar Qlik Sense resultat använder denna formatering.
Syntax:
MoneyFormat
Set MoneyFormat='$ #,##0.00; ($ #,##0.00)';
Den här formateringen kommer att visas i diagramobjekt när Number Formatting-egenskapen för ett numeriskt fält har ställts in till Money. När numeriska textfält tolkas av Qlik Sense kommer dessutom Qlik Sense att tolka detta fält som ett monetärt värde om valutasymbolen i textfältet matchar den symbol som har definierats i MoneyFormat-variabeln.
Den här funktionen används ofta tillsammans med följande funktioner:
För talformat kommer MoneyThousandSep att användas i fältformatering av objekt.
Lokala inställningar
Om inget annat anges använder exemplen i detta ämne följande datumformat: MM/DD/ÅÅÅÅ. Datumformatet anges i SET DateFormat-satsen i datainläsningsskriptet. Förvald datumformatering kan vara annorlunda i ditt system, på grund av dina regionala inställningar och andra faktorer. Du kan ändra formaten i exemplen nedan så att det passar dina krav. Eller så kan du ändra formaten i ditt laddningsskript så att de matchar dessa exempel.
Standardregionalinställningar i appar baseras på de regionala systeminställningarna för datorn eller servern där Qlik Sense är installerad. Om Qlik Sense-servern du ansluter till är inställd på Sverige så kommer skriptredigeraren använda regionala inställningar för Sverige för datum, tid och valuta. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Sense användargränssnittet. Qlik Sense kommer att visas på samma språk som webbläsaren du använder.
Exempel 1 – MoneyFormat
Översikt
Öppna skriptredigeraren och lägg till laddningsskriptet nedan i en ny flik.
Laddningsskriptet innehåller en datauppsättning som laddas in i en tabell med namnet Transactions. Standarddefinitionen för MoneyFormat-variabeln används.
Laddningsskript
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
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
amount
Lägg till måttet:
=Sum(amount)
Välj Pengar under Talformat för att konfigurera Sum(amount) som monetärt värde.
Resultattabell
date
Amount
=Sum(amount)
Totalvärden
$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
Standarddefinitionen för MoneyFormat används. Detta ser ut som följer: $###0.00;-$###0.00. I resultattabellen visar formatet för amount-fältet valutasymbolen och decimalpunkt och det definierade antalet decimaler.
Exempel 2 – MoneyFormat med tusentalsavgränsare och blandade inmatningsformat
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning med blandade inmatningsformat som laddas till en tabell som heter Transactions, med tusentalsavgränsare och decimalavgränsare inlagda.
MoneyFormat-definitionen har modifierats genom att komma används som tusentalsavgränsare.
På en av dataraderna som använder kommma som tusentalsavgränsaren har kommana placerats på fel ställen. Observera hur detta belopp ges som text och inte kan tolkas som ett tal.
Laddningsskript
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
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:
date
amount
Lägg till måttet:
=Sum(amount)
Välj Pengar under Talformat för att konfigurera Sum(amount) som monetärt värde.
Resultattabell
date
Amount
=Sum(amount)
Totalvärden
$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
I början av skriptet ändras systemvariabeln MoneyFormat så att komma används som tusentalsseparator. I Qlik Sense-tabellen framgår hur denna avgränsare ingår i formateringen. Dessutom har raden med felaktig avgränsare inte tolkats korrekt och är fortfarande text. Detta är varför den inte tas med i summeringen av beloppet.
Var den här sidan till hjälp för dig?
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!