# if — функция скриптa и диаграммы

Функция if возвращает значение в зависимости от условия функции: True или False.

[If Function](https://play.vidyard.com/qnkaRddq32LnAGUTTDGdLA)

Синтаксис:

if(condition , then [, else])

В нескольких примерах этого раздела используется встроенная загрузка. [Использование встроенных загрузок для загрузки данных](https://help.qlik.com/ru-RU/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

Аргументы

| Аргумент | Описание |
| --- | --- |
| condition | Выражение, которое интерпретируется логическим образом. |
| then | Выражение, которое может быть любого типа. Если элемент condition равен True, функция if возвращает значение выражения then. |
| else | Выражение, которое может быть любого типа. Если элемент condition равен False, функция if возвращает значение выражения else.<br><br>Этот параметр дополнительный. Если condition равно False, возвращается NULL, если не указан else. |

Пример

| Пример | Результат |
| --- | --- |
| `if( Amount>=<br>						0, 'OK', 'Alarm' )` | Это выражение проверяет, является ли количество положительным числом (0 или больше) и возвращает значение 'OK', если это так. Если количество меньше 0, будет возвращено значение 'Alarm'. |

## Пример: скрипт загрузки с использованием if

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm)

#### Пример: скрипт загрузки

Скрипт загрузки

If можно использовать в скрипте загрузки наряду с другими способами и объектами, в том числе переменными. К примеру, если указана переменная threshold и требуется включить в модель данных поле, основанное на этом пороговом значении, выполните следующие действия.

Создайте новую вкладку в редакторе загрузки данных и загрузите следующие данные через встроенную загрузку. Создайте приведенную ниже таблицу ниже в Qlik Sense, чтобы увидеть результаты.

```
Transactions:
Load * Inline [
transaction_id, transaction_date, transaction_amount, transaction_quantity, customer_id, size, color_code
3750, 20180830, 23.56, 2, 2038593, L, Red
3751, 20180907, 556.31, 6, 203521, m, orange
3752, 20180916, 5.75, 1, 5646471, S, blue
3753, 20180922, 125.00, 7, 3036491, l, Black
3754, 20180922, 484.21, 13, 049681, xs, Red
3756, 20180922, 59.18, 2, 2038593, M, Blue
3757, 20180923, 177.42, 21, 203521, XL, Black
];
 
set threshold = 100;
					
/* Create new table called Transaction_Buckets 
Compare transaction_amount field from Transaction table to threshold of 100.
Output results into a new field called Compared to Threshold							
 */					
 
Transaction_Buckets:
Load
   transaction_id,
   If(transaction_amount > $(threshold),'Greater than $(threshold)','Less than $(threshold)') as [Compared to Threshold]
Resident Transactions;
```

Результаты

В таблице Qlik SenseQlik Sense представлены результаты использования функции ifif в скрипте загрузки.

| transaction\_id | По сравнению с пороговым значением |
| --- | --- |
| 3750 | Меньше 100 |
| 3751 | Больше 100 |
| 3752 | Меньше 100 |
| 3753 | Больше 100 |
| 3754 | Больше 100 |
| 3756 | Меньше 100 |
| 3757 | Больше 100 |

## Примеры: выражения диаграммы с использованием if

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/if.htm)

#### Примеры: выражения диаграммы

Выражение диаграммы 1

Скрипт загрузки

Создайте новую вкладку в редакторе загрузки данных и загрузите следующие данные через встроенную загрузку. После загрузки данных создайте приведенные ниже примеры выражения диаграммы ниже в таблице Qlik Sense.

```
MyTable:
LOAD * inline [Date, Location, Incidents
1/3/2016, Beijing, 0
1/3/2016, Boston, 12
1/3/2016, Stockholm, 3
1/3/2016, Toronto, 0
1/4/2016, Beijing, 0
1/4/2016, Boston, 8];
```

В таблице Qlik SenseQlik Sense представлены примеры использования функции ifif в выражении диаграммы.

| Дата | Местоположение | Инциденты | if(Incidents&gt;=10, 'Critical', 'Ok' ) | if(Incidents&gt;=10, 'Critical', If( Incidents&gt;=1 and Incidents&lt;10, 'Warning', 'Ok')) |
| --- | --- | --- | --- | --- |
| 1/3/2016 | Пекин | 0 | ОК | ОК |
| 1/3/2016 | Бостон | 12 | Критический | Критический |
| 1/3/2016 | Стокгольм | 3 | ОК | Предупреждение |
| 1/3/2016 | Торонто | 0 | ОК | ОК |
| 1/4/2016 | Пекин | 0 | ОК | ОК |
| 1/4/2016 | Бостон | 8 | ОК | Предупреждение |

Выражение диаграммы 2

В новом приложении добавьте скрипт на новую вкладку редактора загрузки данных, а затем загрузите данные. Затем можно создать таблицу с приведенными ниже выражениями диаграммы.

```
SET FirstWeekDay=0;
Load 
Date(MakeDate(2022)+RecNo()-1) as Date
Autogenerate 14;
```

В таблице Qlik SenseQlik Sense представлен пример использования функции ifif в выражении диаграммы.

| Дата | WeekDay(Date) | If(WeekDay(Date)&gt;=5,'WeekEnd','Normal Day') |
| --- | --- | --- |
| 1/1/2022 | Sat | WeekEnd |
| 1/2/2022 | Sun | WeekEnd |
| 1/3/2022 | Mon | Normal Day |
| 1/4/2022 | Втр | Normal Day |
| 1/5/2022 | Ср | Normal Day |
| 1/6/2022 | Thu | Normal Day |
| 1/7/2022 | Fri | Normal Day |
| 1/8/2022 | Sat | WeekEnd |
| 1/9/2022 | Sun | WeekEnd |
| 1/10/2022 | Mon | Normal Day |
| 1/11/2022 | Втр | Normal Day |
| 1/12/2022 | Ср | Normal Day |
| 1/13/2022 | Thu | Normal Day |
| 1/14/2022 | Fri | Normal Day |