全部展开/折叠
Evaluate - 脚本函数在该页面上
Evaluate() 用于确定是否可将输入文本字符串作为有效的 Qlik Sense 表达式来计算值,如果可以,则以字符串形式返回该表达式的值。如果输入字符串不是有效的表达式,则返回 NULL 。
语法:
Evaluate( expression_text)
返回数据类型: 双
信息注释 此字符串函数不可用于图表表达式。
函数示例和结果
Evaluate( 5 * 8 )
返回 40
示例 - 评估基础知识
加载脚本
概述
打开数据加载编辑器,并将下面的加载脚本添加到新部分。
加载脚本包含:
加载脚本
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 函数的输出演示了如何使用函数计算值。