# if Script- en diagramfunctie

De functie if retourneert een waarde afhankelijk van het feit of de opgegeven voorwaarde wordt geëvalueerd als True of False.

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

Syntaxis:

if(condition , then [, else])

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| condition | Uitdrukking die logisch wordt geïnterpreteerd. |
| then | Uitdrukking die van elk willekeurig type kan zijn. Als de condition True is, retourneert de functie if de waarde van de uitdrukking then. |
| else | Uitdrukking die van elk willekeurig type kan zijn. Als de condition False is, retourneert de functie if de waarde van de uitdrukking else.<br><br>Deze parameter is optioneel. Als de condition False is, wordt NULL geretourneerd als u else niet hebt opgegeven. |

Voorbeeld: diagramuitdrukkingen

| Voorbeeld | Resultaat |
| --- | --- |
| `if( Amount>=<br>						0, 'OK', 'Alarm' )` | Deze uitdrukking test of het aantal een positief getal (0 of groter) is en retourneert `OK` als dit het geval is. Als het aantal kleiner is dan 0, wordt `Alarm` geretourneerd. |

In sommige voorbeelden in dit onderwerp worden inline loads gebruikt. Ga voor meer informatie naar [Inline-ladingen gebruiken om gegevens te laden](https://help.qlik.com/nl-NL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

## Voorbeeld - Load-script dat gebruikmaakt van if

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

#### Load-script

Overzicht

If kan worden gebruikt in een load-script met andere methoden en objecten, waaronder variabelen. Dit voorbeeld gebruikt de variabele `threshold` en neemt een nieuw veld op in het gegevensmodel dat gebaseerd is op de drempel.

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in twee tabellen met de naam:

  * `Transactions`: bevat transactievelden

  * `Transaction_Buckets`: bevat een veld `transaction_id` en maakt een nieuw veld, `[Compared to Threshold]`, met behulp van de functie `if` om het veld `transaction_amount` te vergelijken met de variabele instelling `threshold`.

* Een variabele opdracht `threshold` is ingesteld op `100`.

Load-script

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `transaction_id`

* `[Compared to Threshold]`

Resultatentabel met de uitvoer van het gebruik van de functie ifif in het load-script.

| transaction\_id | Vergeleken met drempelwaarde |
| --- | --- |
| 3750 | Kleiner dan 100 |
| 3751 | Groter dan 100 |
| 3752 | Kleiner dan 100 |
| 3753 | Groter dan 100 |
| 3754 | Groter dan 100 |
| 3756 | Kleiner dan 100 |
| 3757 | Groter dan 100 |

## Voorbeeld - Productgegevens evalueren met if

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat productgegevens. U wilt producten identificeren en categoriseren op basis van of ze consumeerbaar zijn of niet.

Load-script

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `ProductID`

* `ProductName`

* `ProductCategory`

Maak de volgende meting:

* `=If(ProductCategory =  'Toiletries' or ProductCategory =  'Fruits', 'Consumable', 'Other')`, om de vereiste waarden te retourneren.

Resultatentabel

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

U kunt aan de resultaten zien dat de functie `if` de uitdrukking evalueert en de vereiste waarden retourneert. Producten in de categorie `Fruits` of `Toiletries` worden bijvoorbeeld geclassificeerd als `Consumable`.

## Voorbeeld - Klantgegevens evalueren en classificeren met behulp van if

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

#### Diagramuitdrukking

Overzicht

Een gegevensverzameling bevat klantgegevens. U wilt de klanten identificeren en categoriseren waarvan de regio en industriecategorie aan uw classificatievereisten voldoen.

Load-script

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam `Example`.

* De volgende velden in de gegevenstabel:

  * `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"
];
```

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Maak de volgende meting:

* `=If((Region = 'North' or Region = 'East') AND (Industry= 'Technology' or Industry = 'Manufacturing'), 'Target Segment', 'Secondary Segment')`, om de vereiste waarde te retourneren.

Resultatentabel

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

U kunt aan de resultaten zien dat de functie `if` de uitdrukking evalueert en de vereiste waarden retourneert. Bijvoorbeeld, `Acme Corp` is geclassificeerd als `Target Segment` omdat het voldoet aan de vereisten om deel uit te maken van de `North` of `East` regio en de `Manufacturing` of `Technology` industrie.

## Voorbeeld - Incidentgegevens evalueren met if

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

#### Diagramuitdrukking

Overzicht

Gebruik de functie if om een gegevensverzameling van incidentrapporten te categoriseren.

Load-script

Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

Het load-script bevat:

* Een gegevensverzameling die wordt geladen in een tabel met de naam Example.

* De volgende velden in de gegevenstabel:

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

* Datum

* Locatie

* Incidenten

Maak de volgende berekende dimensies:

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

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

Resultatentabel

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

## Voorbeeld - Datums categoriseren met if

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

#### Diagramuitdrukking

Overzicht

Gebruik de functie if om datums te categoriseren.

Load-script

Open de Editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie.

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

Resultaten

Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg dit veld toe als dimensie:

* Date

Maak de volgende berekende dimensies:

* WeekDay(Date)

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

Resultatentabel

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