Evaluate() определяет, можно ли входную текстовую строку рассматривать в качестве допустимого выражения Qlik Sense. Если да, то возвращает значение выражения в качестве строки. Если входная строка не является допустимым выражением, будет возвращено значение NULL.
Синтаксис:
Evaluate(expression_text)
Возвращаемые типы данных: двойное значение
Аргументы
Аргумент
Описание
text
Текстовая строка для оценки.
Примечание к информацииЭта строковая функция не может использоваться в выражениях диаграмм.
Пример использования функции и результаты
Пример функции
Результат
Evaluate( 5 * 8 )
Возвращает 40
Пример. Основы использования функции Evaluate
Обзор
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Одно поле в таблице данных под именем ExpressionText.
Предшествующая загрузка, которая использует функцию Evaluate для оценки поля ExpressionText и возвращает два новых поля: 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. Все строки оценены, например, во второй строке добавлено 5 и 3, чтобы получить 8. Некоторые из строк ExpressionText возвращают строку как есть, потому что строка уже оценивается как число. Например, строка 0123456789012345678 оценивается как то же число.
Хотя Qlik Sense имеет предел точности 14 знаков для числовых значений, функция Evaluate оценила 18-значные строки как число и применила умножение в рамках скрипта. Это полезно для работы с очень большими числами внутри скрипта.
Пример. Сценарий использования функции Evaluate
Обзор
Набор данных о продажах содержит товары, цены и скидки. В этом примере выводится цена со скидкой для продуктов.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку.
Скрипт загрузки содержит следующее:
Набор данных, который загружается в таблицу данных под именем Example.
Следующие поля в таблице данных:
Product
Price
Discount %
Предшествующая загрузка, которая берет значения Price и Discount % и вычисляет дополнительное поле под именем DiscountedPrice. Это новое поле использует функцию Evaluate для расчета цены за вычетом скидки.
Загрузите данные и откройте лист. Создайте новую таблицу и добавьте эти поля как измерения:
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 демонстрирует, как можно использовать функцию для вычисления значений.
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!