# if — funkcja skryptu i funkcja wykresu

Funkcja if zwraca wartość w zależności od tego, czy warunek określony w ramach tej funkcji uwzględnia wartości True czy False.

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

Składnia:

if(condition , then [, else])

Typ zwracanych danych: dual

Argumenty

| Argument | Opis |
| --- | --- |
| condition | Wyrażenie, które jest interpretowane logicznie. |
| then | Wyrażenie, które może być dowolnego typu. Jeśli wyrażeniecondition ma wartość True, wówczas funkcja if zwraca wartość wyrażenia then. |
| else | Wyrażenie, które może być dowolnego typu. Jeśli wyrażeniecondition ma wartość False, wówczas funkcja if zwraca wartość wyrażenia else.<br><br>Ten parametr jest opcjonalny. Jeśli warunek condition jest False, zwracana jest wartość NULL, jeśli nie określono else. |

Przykład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `if( Amount>=<br>						0, 'OK', 'Alarm' )` | To wyrażenie sprawdza, czy ilość jest liczbą dodatnią (0 lub większą), i zwraca wówczas `OK`. Jeśli ilość jest liczbą mniejszą od 0, zwracane jest `Alarm`. |

Niektóre przykłady w tym temacie wykorzystują ładowania wbudowane. Więcej informacji zawiera temat [Używanie wbudowanych ładowań do ładowania danych](https://help.qlik.com/pl-PL/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm).

## Przykład — skrypt ładowania używający if

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

#### Skrypt ładowania

Przegląd

Funkcja If może być używana w skrypcie ładowania z innymi metodami i obiektami, w tym również ze zmiennymi. Ten przykład wykorzystuje zmienną `threshold` i zawiera nowe pole w modelu danych, które jest oparte na progu.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do dwóch tabeli o nazwie:

  * `Transactions`: zawiera pola transakcji

  * `Transaction_Buckets`: zawiera pole `transaction_id` i tworzy nowe pole, `[Compared to Threshold]`, używając funkcji `if` do porównania pola `transaction_amount` z ustawieniem zmiennej `threshold`.

* Instrukcja zmiennej `threshold` ustawiona na `100`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `transaction_id`

* `[Compared to Threshold]`

Tabela wynikowa przedstawiająca wynik użycia funkcji ifif w skrypcie ładowania.

| transaction\_id | W porównaniu do progu |
| --- | --- |
| 3750 | Mniej niż 100 |
| 3751 | Więcej niż 100 |
| 3752 | Mniej niż 100 |
| 3753 | Więcej niż 100 |
| 3754 | Więcej niż 100 |
| 3756 | Mniej niż 100 |
| 3757 | Więcej niż 100 |

## Przykład — ocena danych produktu przy użyciu if

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane produktów. Chcesz identyfikować i kategoryzować produkty według tego, czy podlegają zużyciu, czy nie.

Skrypt ładowania

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `ProductID`

* `ProductName`

* `ProductCategory`

Utwórz następującą miarę:

* `=If(ProductCategory =  'Toiletries' or ProductCategory =  'Fruits', 'Consumable', 'Other')` w celu zwrócenia wymaganych wartości.

Tabela wynikowa

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

Wyniki pokazują, że funkcja `if` ocenia wyrażenie i zwraca wymagane wartości. Na przykład produkty z kategorii `Fruits` lub `Toiletries` są klasyfikowane jako `Consumable`.

## Przykład — ocena i klasyfikacja danych klientów przy użyciu if

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera dane klientów. Chcesz zidentyfikować i skategoryzować klientów, których region i kategoria branżowa spełniają Twoje wymagania dotyczące klasyfikacji.

Skrypt ładowania

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

Utwórz następującą miarę:

* `=If((Region = 'North' or Region = 'East') AND (Industry= 'Technology' or Industry = 'Manufacturing'), 'Target Segment', 'Secondary Segment')` w celu zwrócenia wymaganej wartości.

Tabela wynikowa

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

Wyniki pokazują, że funkcja `if` ocenia wyrażenie i zwraca wymagane wartości. Na przykład `Acme Corp` jest klasyfikowana jako `Target Segment`, ponieważ spełnia wymagania przynależności do regionu `North` lub `East` oraz branży `Manufacturing` lub `Technology`.

## Przykład — ocena danych incydentu przy użyciu if

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

#### Wyrażenie wykresu

Przegląd

Użyj funkcji if, aby skategoryzować zestaw danych raportów o incydentach.

Skrypt ładowania

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie Example.

* Tabela zawiera następujące pola:

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* Date

* Lokalizacja

* Incidents

Utwórz następujące wymiary wyliczane:

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

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

Tabela wynikowa

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

## Przykład — kategoryzowanie dat przy użyciu if

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

#### Wyrażenie wykresu

Przegląd

Użyj funkcji if, aby skategoryzować daty.

Skrypt ładowania

Otwórz Edytor ładowania danych i dodaj poniższy skrypt ładowania do nowej sekcji.

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* Date

Utwórz następujące wymiary wyliczane:

* WeekDay(Date)

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

Tabela wynikowa

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