Funkcja Evaluate() wyszukuje, czy wejściowy ciąg tekstowy może zostać oceniony jako poprawne wyrażenie Qlik Sense, i jeśli tak, zwraca wartość wyrażenia jako ciąg. Jeśli ciąg wejściowy nie jest poprawnym wyrażeniem, zostanie zwrócona wartość NULL.
Składnia:
Evaluate(expression_text)
Typ zwracanych danych: wartość podwójna
Argumenty
Argument
Opis
text
Ciąg znaków do oceny.
InformacjaTej funkcji ciągu znaków nie można używać w wyrażeniach wykresu.
Przykład funkcji i wyniki
Przykład funkcji
Wynik
Evaluate( 5 * 8 )
Zwraca wartość 40
Przykład — podstawy Evaluate
Przegląd
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Jedno pole w tabeli danych o nazwie ExpressionText.
Poprzedzający ładunek, który wykorzystuje funkcję Evaluate do oceny pola ExpressionText i zwrócenia dwóch nowych pól: Evaluated i Evaluatedx4.
Skrypt ładowania
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
];
Wyniki
W tabeli są ładowane następujące pola:
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
-
-
Wynik funkcji Evaluate zwraca wartości dla wszystkich ciągów ExpressionText z wyjątkiem ostatniego wiersza. Ciągu Bob nie można obliczyć, więc funkcja nie zwraca żadnej wartości — NULL. Wszystkie wiersze zostały obliczone, na przykład drugi wiersz dodaje 5 i 3, aby zwrócić 8. Niektóre z ciągów ExpressionText zwracają ciąg bez zmian, ponieważ ciąg jest już obliczany jako liczba. Na przykład, ciąg 0123456789012345678 ma wartość równą tej samej liczbie.
Mimo że Qlik Sense ma 14-cyfrowy limit precyzji dla wartości numerycznych, funkcja Evaluate oceniła 18-cyfrowe ciągi jako liczbę i zastosowała mnożenie w skrypcie. Jest to przydatne do obsługi bardzo dużych liczb w ramach skryptu.
Przykład — zastosowanie Evaluate
Przegląd
Zestaw danych sprzedaży zawiera produkty, ceny i rabaty. Ten przykład wyprowadza cenę ze zniżką dla produktów.
Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej karty.
Skrypt ładowania zawiera:
Zestaw danych załadowany do tabeli o nazwie Example.
Tabela zawiera następujące pola:
Product
Price
Discount %
Poprzedzające obciążenie, które pobiera wartości Price i Discount % i oblicza dodatkowe pole o nazwie DiscountedPrice. To nowe pole wykorzystuje funkcję Evaluate do obliczenia ceny pomniejszonej o rabat.