Den definierade decimalavgränsaren ersätter decimalsymbolen för valuta som ställts in av 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:
MoneyDecimalSep
Qlik Sense-program kommer att tolka textfält som följer denna formatering som monetära värden. Textfältet måste innehålla den valutasymbol som har definierats i systemvariabeln MoneyFormat. MoneyDecimalSep är särskilt användbar vid hantering av datakällor som tagits emot från flera olika regionala inställningar.
I följande exempel visas en möjlig användning av systemvariabeln MoneyDecimalSep:
Set MoneyDecimalSep='.';
Den här funktionen används ofta tillsammans med följande funktioner:
Relaterade funktioner
Funktion
Interaktion
MoneyFormat
Om tolkning av textfält förekommer kommer MoneyFormat-symbolen att användas som en del av tolkningen. För talformat kommer MoneyFormat-formateringen att användas av Qlik Sense i diagramobjekt.
MoneyThousandSep
Om tolkning av textfält förekommer måste även MoneyThousandSep-funktionen vara uppfylld.
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 – notation med punkt som MoneyDecimalSep (.)
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning läses in i en tabell med namnet Transactions.
Tillhandahållna data som har sitt monetära fält i textformat med punkt "." som decimalavgränsare. Alla poster har också "$"-symbolen som prefix, bortsett från den sista posten som har "£"-symbolen som prefix.
Tänk på att systemvariabeln MoneyFormat definierar dollar "$" som standardvaluta.
Laddningsskript
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'
];
Resultat
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:amount.
Lägg till följande mått:
isNum(amount)
sum(amount)
Granska resultaten nedan som endast visar att alla dollartecken "$" har tolkats korrekt.
Resultattabell
amount
=isNum(amount)
=Sum(amount)
Totalvärden
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
I resultattabellen ovan framgår hur amount-fältet har tolkats korrekt för alla värden med dollartecken ($) som prefix, medan amount med pundtecken (£) som prefix inte har konverterats till ett monetärt värde.
Exempel 2 – notation med komma som MoneyDecimalSep (.)
Översikt
Öppn skriptredigeraren och lägg till laddningsskriptet nedan till en ny flik.
Laddningsskriptet innehåller:
En datauppsättning laddas till en tabell som heter Transactions.
Tillhandahållna data som har sitt monetära fält i textformat med komma "," som decimalavgränsare. Alla poster har också "$"-symbolen som prefix, bortsett från den sista posten som felaktigt använder punkt "." som decimalavgränsare.
Tänk på att systemvariabeln MoneyFormat definierar dollar "$" som standardvaluta.
Laddningsskript
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'
];
Resultat
Stycketext för resultat.
Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:amount.
Lägg till följande mått:
isNum(amount)
sum(amount)
Granska nedanstående resultat som visar att alla värden tolkas korrekt, bortsett från det belopp där punkt "." används som decimalavgränsare. I det här fallet skulle ett komma ha använts i stället.
Resultattabell
amount
=isNum(amount)
=Sum(amount)
Totalvärden
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
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!