Evaluate - スクリプト関数
Evaluate() は、指定されたテキスト文字列が有効な Qlik Sense 数式かどうかを評価し、有効な数式の場合は、数式の値を文字列として返します。指定された数式が有効な数式でない場合は、NULL が返されます。
構文:
Evaluate(expression_text)
戻り値データ型: デュアル
情報メモこの文字列関数は、チャートの数式で使用できません。
関数の例と結果
Evaluate( 5 * 8 )
|
40 を返します |
例 - Evaluate の基本
概要
データ ロード エディターを開き、以下のロード スクリプトを新しいタブに追加します。
ロード スクリプトには次が含まれています。
-
「Example」というデータ テーブルにロードされるデータセット。
-
データ テーブル内の 1 つの項目は ExpressionText と呼ばれます。
-
Evaluate 関数を使って項目 ExpressionText を評価し、2 つの新しい項目 Evaluated とEvaluatedx4 を返す先行ロード。
ロード スクリプト
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 を返しません。すべての行が評価され、例えば 2 行目は 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 関数の出力は、関数を使用して値を計算する方法を示しています。