# match 스크립트 및 차트 함수

match 함수는 첫 번째 파라메타를 이후의 모든 파라메타와 비교하여 일치하는 표현식의 수 위치를 반환합니다. 대/소문자가 구분됩니다.

구문:

match( str, expr1 [ , expr2,...exprN ])

반환 데이터 유형: 정수

팁 메모대/소문자를 구분하지 않는 비교를 사용하려면 mixmatch 함수를 사용하십시오. 대/소문자를 구분하지 않는 비교 및 와일드카드를 사용하려면 wildmatch 함수를 사용하십시오.

인수

| 인수 | 설명 |
| --- | --- |
| str | 평가할 문자열. |
| expr1 | 유효한 숫자 표현인지 확인할 첫 번째 표현식입니다. |
| expr2 | 유효한 숫자 표현인지 확인할 두 번째 표현식입니다. |
| expr3 | 유효한 숫자 표현인지 확인할 세 번째 표현식입니다. |

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| `match( ColorCode,'Blue','Black' )` | 이 표현식은 `ColorCode` 필드에 대한 일치 항목의 인덱스를 반환합니다. `ColorCode`의 값이 `Blue`이면 `1`을 반환합니다. `ColorCode`의 값이 `Black`이면 `2`을 반환합니다. 일치하는 항목이 없으면 `0`이 반환됩니다. |
| `match( Region, 'North', 'East' )` | 이 표현식은 `Region` 필드에 대한 일치 항목의 인덱스를 반환합니다. `Region`의 값이 `North`이면 `1`을 반환합니다. `Region`의 값이 `East`이면 `2`을 반환합니다. 일치하는 항목이 없으면 `0`이 반환됩니다. |

이 항목의 일부 예에서는 인라인 로드를 사용합니다. [인라인 로드를 사용하여 데이터 로드](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/inline-loads-qs.htm)

## 예 - match를 사용하여 제품 분류

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

#### 차트 표현식

개요

데이터 집합에는 제품 데이터가 포함되어 있습니다. 소비 가능한 제품을 식별하고 분류하려고 합니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * `ProductID`

  * `ProductName`

  * `ProductCategory`

로드 스크립트

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

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `ProductID`

* `ProductName`

* `ProductCategory`

다음 측정값을 만듭니다.

* `=match(ProductCategory,'Toiletries', 'Fruits')`: `ProductCategory`에 `Toiletries` 또는 `Fruits` 값이 있는 인덱스를 반환합니다.

* `=If(match(ProductCategory, 'Toiletries', 'Fruits'), 'Consumable', 'Other')`: `ProductCategory`에 `Toiletries` 또는 `Fruits` 값이 있는 인덱스를 반환합니다. 둘 중 하나라도 발견되면 `Consumable`이 반환됩니다. 그렇지 않으면 `Other`가 반환됩니다.

결과 테이블

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

`match` 함수는 첫 번째 측정값에서 검색 문자열의 인덱스를 반환합니다. 두 번째 측정값에서는 이 결과가 `If` 함수에서 사용되어 제품을 `Consumable` 또는 `Other`로 분류합니다.

## 예 - match를 사용하여 클라이언트 데이터 평가 및 분류

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

#### 차트 표현식

개요

데이터 집합에는 클라이언트 데이터가 포함됩니다. 분류 요구 사항을 충족하는 지역 및 산업 범주를 가진 고객을 식별하고 분류하려고 합니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

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

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `ClientID`

* `ClientName`

* `Region`

* `Industry`

다음 측정값을 만듭니다.

`=IF(match(Region, 'North', 'East') AND match(Industry, 'Technology', 'Manufacturing'), 'Target Segment', 'Secondary Segment')`: 검색 문자열의 인덱스를 반환합니다. 발견되면 `Target Segment`가 반환됩니다. 발견되지 않으면 `Secondary Segment`가 반환됩니다.

결과 테이블

| ClientID | ClientName | Region | Industry | IF(match(Region, 'North', 'East') AND match(Industry, 'Technology', '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 | South | Healthcare | Secondary Segment |

`match` 함수는 텍스트를 검색하여 추가 분석 및 데이터 분류를 수행하는 데 사용할 수 있는 인덱스를 반환합니다. 예를 들어, `Acme Corp`는 `Region` 및 `Industry` 필드 모두에 대한 `match` 함수의 검색 요구 사항을 충족하므로 `Target Segment`로 분류됩니다.

## 예: match를 사용하는 로드 스크립트

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

#### 로드 스크립트

개요

match를 사용하여 데이터 하위 집합을 로드할 수 있습니다. 예를 들어 함수의 표현식에 대해 숫자 값을 반환할 수 있습니다. 그런 다음 숫자 값을 기준으로 로드되는 데이터를 제한할 수 있습니다. Match 함수는 일치하는 항목이 없으면 0을 반환합니다. 따라서 이 예에서 일치하지 않는 모든 표현식은 0을 반환하고 `WHERE` 문에 의해 데이터 로드에서 제외됩니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* 두 개의 데이터 테이블에 로드되는 데이터 집합:

  * `Transactions`: 트랜잭션 필드 포함

  * `Transaction_Buckets`: 두 개의 새 필드 `Customer` 및 `Color Code Blue and Black`을 만듭니다. `where` 문은 `match` 함수의 결과를 로드합니다.

로드 스크립트

```
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
];
 
/*
Create new table called Transaction_Buckets
Create new fields called Customer, and Color code Blue and Black
Load Transactions table.
Match returns 1 for 'Blue', 2 for 'Black'. 
Does not return a value for 'blue' because match is case sensitive.
Only values that returned numeric value greater than 0 
are loaded by WHERE statement into Transactions_Buckets table.
*/
 
Transaction_Buckets:
Load
 customer_id,
 customer_id as [Customer], 
 color_code as [Color Code Blue and Black]
Resident Transactions
Where match(color_code,'Blue','Black') > 0; 
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `[Color Code Blue and Black]`

* `Customer`

로드 스크립트에서 matchmatch 함수를 사용하여 얻은 출력을 보여 주는 결과 테이블.

| Color Code Blue and Black | Customer |
| --- | --- |
| Black | 203521 |
| Black | 3036491 |
| Blue | 2038593 |

## 예 - match를 사용한 차트 표현식

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

#### 차트 표현식

개요

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* Example이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 데이터 테이블의 필드는 다음과 같습니다.

  * Cities

  * Count

로드 스크립트

```
Example:
Load * inline [
Cities, Count
Toronto, 123
Toronto, 234
Toronto, 231
Boston, 32
Boston, 23
Boston, 1341
Beijing, 234
Beijing, 45
Beijing, 235
Stockholm, 938
Stockholm, 39
Stockholm, 189
zurich, 2342
zurich, 9033
zurich, 0039];
```

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 이 필드를 차원으로 추가합니다.

* Cities

다음 측정값을 만듭니다.

* =match( Cities,'Toronto','Boston','Beijing','Zurich'): 검색 문자열의 인덱스를 반환합니다.

* =match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich'): 검색 문자열의 인덱스를 반환합니다.

* =Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich'): Cities 필드와 검색 문자열의 인덱스를 반환합니다.

아래 테이블의 첫 번째 측정값은 Stockholm이 match 함수의 표현식 목록에 포함되지 않았으므로 Stockholm에 대해 0을 반환합니다. match 비교는 대/소문자를 구분하므로 Zurich에 대해서도 0 이 반환됩니다.

결과 테이블

| Cities | match( Cities,'Toronto','Boston','Beijing','Zurich') | match( Cities,'Toronto','Boston','Beijing','Stockholm','zurich') | Cities & ' - ' & match ( Cities, 'Toronto','Boston', 'Beijing','Stockholm','zurich') |
| --- | --- | --- | --- |
| Beijing | 3 | 3 | Beijing - 3 |
| Boston | 2 | 2 | Boston - 2 |
| Stockholm | 0 | 4 | Stockholm - 4 |
| Toronto | 1 | 1 | Toronto - 1 |
| zurich | 0 | 5 | zurich - 5 |

## 예 - match를 사용한 사용자 지정 정렬 표현식

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

#### 차트 표현식

개요

사용자 지정 정렬 표현식을 수행하는 데 match를 사용할 수 있습니다. 이 예에서는 이전 예와 동일한 데이터 집합을 사용합니다.

기본적으로 열은 데이터에 따라 숫자순 또는 사전순으로 정렬됩니다.

기본 정렬 순서를 보여 주는 결과 테이블

| Cities |
| --- |
| Beijing |
| Boston |
| Stockholm |
| Toronto |
| zurich |

정렬 순서를 변경하려면 다음을 수행합니다.

1. 속성 패널에서 차트에 대해 정렬 섹션을 엽니다.

2. 사용자 지정 정렬을 수행하려는 열에 대해 자동 정렬을 끕니다.

3. 숫자순 정렬 및 사전순 정렬 확인란을 선택 해제합니다.

4. 정렬 표현식을 선택하고 다음과 유사한 표현식을 입력합니다.

   =match( Cities, 'Toronto','Boston','Beijing','Stockholm','zurich')

   Cities 열의 정렬 순서가 변경됩니다.

matchmatch 함수를 사용하여 정렬 순서를 보여 주는 결과 테이블

| Cities |
| --- |
| Toronto |
| Boston |
| Beijing |
| Stockholm |
| zurich |

## 자세한 정보

* [mixmatch 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/mixmatch.htm)
* [wildmatch 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/ConditionalFunctions/wildmatch.htm)