Evaluate() bepaalt of de tekenreeks van de invoertekst kan worden geëvalueerd als een geldige Qlik Sense-uitdrukking en retourneert, als dat inderdaad het geval is, de waarde van de uitdrukking als een tekenreeks. Als de invoertekenreeks geen geldige uitdrukking is, wordt NULL geretourneerd.
Syntaxis:
Evaluate(expression_text)
Retourgegevenstypen: dubbele waarde
Argumenten
Argument
Beschrijving
text
De tekenreeks die moet worden geëvalueerd.
InformatieDeze tekenreeksfunctie kan niet in diagramuitdrukkingen worden gebruikt.
Functievoorbeeld en resultaten
Functievoorbeeld
Resultaat
Evaluate( 5 * 8 )
Retourneert 40
Voorbeeld - Basisprincipes voor Evaluate
Overzicht
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
Eén veld in de gegevenstabel met de naam ExpressionText.
Een voorgaande lading die de functie Evaluate gebruikt om het veld ExpressionText te evalueren en twee nieuwe velden te retourneren: Evaluated en Evaluatedx4.
Load-script
Example:
Load
ExpressionText
, Evaluate(ExpressionText) as Evaluated
, Evaluate(ExpressionText)*4 as Evaluatedx4
;
Load * Inline
[ExpressionText
4
5+3
100/5
123*2
329-9
0123456789012345678
1234567890123456789
0123456.5512
0123456.5512479994578952364859346469
Today()
Bob
];
Resultaten
De volgende velden worden in de gegevenstabel geladen:
ExpressionText
Evaluated
Evaluatedx4
Results table
ExpressionText
Evaluated
Evaluatedx4
4
4
16
5+3
8
32
100/5
20
80
123*2
246
984
329-9
320
1280
0123456789012345678
0123456789012345678
4.9382715604938e+17
1234567890123456789
1234567890123456789
4.9382715604938e+18
0123456.5512
0123456.5512
493826.2048
0123456.5512479994578952364859346469
0123456.5512479994578952364859346469
493826.204992
Today()
11/5/2024
182404
Bob
-
-
De uitvoer van de functie Evaluate retourneert waarden voor alle ExpressionText tekenreeksen, behalve de laatste rij. De tekenreeks Bob kan niet worden geëvalueerd, dus de functie retourneert geen waarde - NULL. Alle rijen zijn geëvalueerd, bijvoorbeeld de tweede rij voegt 5 en 3 toe om 8 te retourneren. Sommige van de ExpressionText tekenreeksen retourneren de tekenreeks in de huidige staat omdat de tekenreeks al evalueert naar een getal. Bijvoorbeeld, de tekenreeks 0123456789012345678 evalueert naar hetzelfde getal.
Hoewel Qlik Sense een precisielimiet van 14 cijfers voor numerieke waarden heeft, evalueerde de functie Evaluate tekenreeksen van 18 cijfers als een getal en paste vermenigvuldiging toe binnen het script. Dit is handig voor het verwerken van zeer grote getallen in het script.
Voorbeeld – Scenario met Evaluate
Overzicht
Een gegevensverzameling met verkoopgegevens bevat producten, prijzen en kortingen. Dit voorbeeld leidt de gereduceerde prijs voor de producten af.
Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuw tabblad.
Het load-script bevat:
Een gegevensverzameling die wordt geladen in een tabel met de naam Example.
De volgende velden in de gegevenstabel:
Product
Price
Discount %
Een voorafgaande lading die de waarden Price en Discount % neemt en een extra veld met de naam DiscountedPrice berekent. Dit nieuwe veld gebruikt de functie Evaluate om de prijs minus de korting te berekenen.
Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:
Product
Price
Discount %
DiscountedPrice
Results table
Product
Price
Discount %
DiscountedPrice
Headphones
200
5
190
Tablet
600
20
480
Smartphone
800
10
720
Laptop
1000
15
850
De uitvoer van de functie Evaluate laat zien hoe u de functie kunt gebruiken om waarden te berekenen.
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!