# if Función de script y de gráfico

La función if devuelve un valor dependiendo de si la condición proporcionada con la función se evalúa como True o False.

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

Sintaxis:

if(condition , then [, else])

Tipo de datos que devuelve: dual

Argumentos

| Argumento | Descripción |
| --- | --- |
| condition | La expresión que se interpreta de una manera lógica. |
| then | La expresión que puede ser de cualquier tipo. Si la condition es True, entonces la función if devuelve el valor de la expresión then. |
| else | La expresión que puede ser de cualquier tipo. Si la condition es False, entonces la función if devuelve el valor de la expresión else.<br><br>Este parámetro es opcional. Si la condition es False, devuelve NULL si no ha especificado else. |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `if( Amount>=<br>						0, 'OK', 'Alarm' )` | Esta expresión comprueba si la cantidad es un número positivo (0 o mayor) y devuelve `OK` si lo es. Si la cantidad es inferior a 0, devuelve `Alarm`. |

Algunos de los ejemplos de este tema utilizan cargas inline. Para más información, vea [Usar cargas inline para cargar datos](https://help.qlik.com/es-ES/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

## Ejemplo: cargar script usando if

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

#### Script de carga

Vista general

If puede utilizarse en un script de carga con otros métodos y objetos, incluidas variables. Este ejemplo utiliza la variable `threshold` e incluye un nuevo campo en el modelo de datos que se basa en el umbral.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en dos tablas de datos denominadas:

  * `Transactions`: incluye campos de transacciones

  * `Transaction_Buckets`: incluye un campo `transaction_id` y crea un nuevo campo, `[Compared to Threshold]`, utilizando la función `if` para comparar el campo `transaction_amount` con el ajuste de la variable `threshold`.

* Una sentencia de variable `threshold` fijada en `100`.

Script de carga

```
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;
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `transaction_id`

* `[Compared to Threshold]`

Tabla de resultados que muestra el resultado de utilizar la función ifif en el script de carga.

| id\_transacción | Comparado con umbral |
| --- | --- |
| 3750 | Menor que 100 |
| 3751 | Mayor que 100 |
| 3752 | Menor que 100 |
| 3753 | Mayor que 100 |
| 3754 | Mayor que 100 |
| 3756 | Menor que 100 |
| 3757 | Mayor que 100 |

## Ejemplo: evaluar los datos del producto utilizando if

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

#### Expresión de gráfico

Vista general

Un conjunto de datos contiene datos de productos.Deseamos identificar y clasificar los productos en función de si son consumibles o no.

Script de carga

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

```
Example:
LOAD * INLINE [
ProductID, ProductName, ProductCategory
1, "Laptop", "Electronics"
2, "Banana", "Fruits"
3, "Shampoo", "Toiletries"
4, "TV", "Electronics"
5, "Apple", "Fruits"
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `ProductID`

* `ProductName`

* `ProductCategory`

Cree la siguiente medida:

* `=If(ProductCategory =  'Toiletries' or ProductCategory =  'Fruits', 'Consumable', 'Other')`, para devolver los valores requeridos.

Tabla de resultados

| ProductID | ProductName | ProductCategory | If(ProductCategory = 'Toiletries' or ProductCategory = 'Fruits', 'Consumable', 'Other') |
| --- | --- | --- | --- |
| 1 | Laptop | Electronics | Other |
| 2 | Banana | Fruits | Consumable |
| 3 | Shampoo | Toiletries | Consumable |
| 4 | TV | Electronics | Other |
| 5 | Apple | Fruits | Consumable |

Puede ver en los resultados que la función `if` evalúa la expresión y devuelve los valores requeridos. Por ejemplo, los productos de la categoría `Fruits` o `Toiletries` se clasifican como `Consumable`.

## Ejemplo: evaluar y clasificar datos de clientes usando if

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

#### Expresión de gráfico

Vista general

Un conjunto de datos contiene datos de clientes.Desea identificar y clasificar a los clientes cuya región y sector industrial cumplen con sus requisitos de clasificación.

Script de carga

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `ClientID`

  * `ClientName`

  * `Region`

  * `Industry`

```
Example:
LOAD * INLINE [
ClientID, ClientName, Region, Industry
1, "Acme Corp", "North", "Manufacturing"
2, "Beta Ltd", "East", "Technology"
3, "Gamma Inc", "West", "Retail"
4, "Delta LLC", "North", "Technology"
5, "Epsilon GmbH", "South", "Healthcare"
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Cree la siguiente medida:

* `=If((Region = 'North' or Region = 'East') AND (Industry= 'Technology' or Industry = 'Manufacturing'), 'Target Segment', 'Secondary Segment')`, para devolver el valor requerido.

Tabla de resultados

| ClientID | ClientName | Region | Industry | If((Region = 'North' or Region = 'East') AND (Industry= 'Technology' or Industry = 'Manufacturing'), 'Target Segment', 'Secondary Segment') |
| --- | --- | --- | --- | --- |
| 1 | Acme Corp | North | Manufacturing | Target Segment |
| 2 | Beta Ltd | East | Technology | Target Segment |
| 3 | Gamma Inc | West | Retail | Secondary Segment |
| 4 | Delta LLC | North | Technology | Target Segment |
| 5 | Epsilon GmbH | Sound | Healthcare | Secondary Segment |

Puede ver en los resultados que la función `if` evalúa la expresión y devuelve los valores requeridos. Por ejemplo, `Acme Corp` se clasifica como `Target Segment` porque cumple los requisitos para formar parte de la región `North` o `East` y del sector industrial `Manufacturing` o `Technology`.

## Ejemplo: evaluar los datos del incidente utilizando if

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

#### Expresión de gráfico

Vista general

Utilice la función if para clasificar un conjunto de datos de informes de incidentes.

Script de carga

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada Example.

* Los siguientes campos de la tabla de datos:

  * Date

  * Location

  * Incidents

```
Example:
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];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* Fecha

* Ubicación

* Incidentes

Cree las siguientes dimensiones calculadas:

* =if(Incidents&gt;=10, 'Critical', 'Ok' )

* =if(Incidents&gt;=10, 'Critical', If( Incidents&gt;=1 and Incidents&lt;10, 'Warning', 'Ok'))

Tabla de resultados

| Date | Location | Incidents | if(Incidents&gt;=10, 'Critical', 'Ok' ) | if(Incidents&gt;=10, 'Critical', If( Incidents&gt;=1 and Incidents&lt;10, 'Warning', 'Ok')) |
| --- | --- | --- | --- | --- |
| 1/3/2016 | Beijing | 0 | Ok | Ok |
| 1/3/2016 | Boston | 12 | Critical | Critical |
| 1/3/2016 | Stockholm | 3 | Ok | Warning |
| 1/3/2016 | Toronto | 0 | Ok | Ok |
| 1/4/2016 | Beijing | 0 | Ok | Ok |
| 1/4/2016 | Boston | 8 | Ok | Warning |

## Ejemplo: clasificar fechas utilizando if

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

#### Expresión de gráfico

Vista general

Utilice la función if para clasificar las fechas.

Script de carga

Abra la página Editor de carga de datos y añada el script de carga que aparece a continuación en una nueva sección.

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

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* Date

Cree las siguientes dimensiones calculadas:

* WeekDay(Date)

* =If(WeekDay(Date)&gt;=5,'WeekEnd','Normal Day')

Tabla de resultados

| Date | 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 | Tue | Normal Day |
| 1/5/2022 | Wed | 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 | Tue | Normal Day |
| 1/12/2022 | Wed | Normal Day |
| 1/13/2022 | Thu | Normal Day |
| 1/14/2022 | Fri | Normal Day |