全部展開/全部摺疊
Evaluate - 指令碼函數在此頁面
Evaluate() 會尋找輸入文字字串是否能夠評估為有效的 Qlik Sense 運算式,如果可以,則以字串形式傳回運算式的值。如果輸入字串不是有效的運算式,則會傳回 NULL 。
語法:
Evaluate( expression_text)
傳回的資料類型: 雙值
資訊備註 此字串函數不可用於圖表運算式。
函數範例和結果
Evaluate( 5 * 8 )
傳回 40
範例 - Evaluate 基礎事項
載入指令碼
概述
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入指令碼
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
];
將代碼複製到剪貼簿
結果
會在資料表格中載入下列欄位:
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
-
-
Evaluate 函數的輸出傳回所有 ExpressionText 字串的值,最後一列除外。無法評估字串 Bob ,因此該函數不會傳回任何值 - NULL。已評估所有列,例如第二列新增 5 和 3 以傳回 8 。某些 ExpressionText 字串按原樣傳回字串,因為該字串已評估為數字。例如,字串 0123456789012345678 評估為相同的數字。
雖然 Qlik Sense 對數值有 14 位數精確度限制,但 Evaluate 函數可將 18 位數字串評估為數字並在指令碼中套用乘法。這對於處理指令碼中的大量數字非常實用。
範例 - Evaluate 使用情境
載入指令碼
概述
銷售資料的資料集包含產品、價格和折扣。此範例衍生出產品的折扣價格。
開啟資料載入編輯器並將下面的載入指令碼新增至新的區段。
載入指令碼包含:
載入指令碼
Example:
LOAD
Product,
Price,
[Discount (%)],
Price * (1 - Evaluate([Discount (%)] / 100)) AS DiscountedPrice
INLINE [
Product, Price, Discount (%)
Laptop, 1000, 15
Smartphone, 800, 10
Tablet, 600, 20
Headphones, 200, 5
];
將代碼複製到剪貼簿
結果
載入資料並開啟工作表。建立新的表格並將這些欄位新增為維度:
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
Evaluate 函數的輸出示範如何使用該函數運算值。