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 systemvariabelnMoneyFormat. 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. Mer information finns i Ändra regioninställningar för appar och skript.
Regionala standardinställningar i appar baseras på användarprofilen. Dessa regionala formatinställningar är inte relaterade till språket som visas i Qlik Cloud användargränssnittet. Qlik Cloud 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!