QlikWorld 2020 글로벌 컨퍼런스 데이터를 최대한 활용하는 방법을 알아 보려면 가입하십시오. 서두르세요. 지금 등록하면 할인된 가격으로 제공됩니다.

Concat 함수의 예

CONCAT() 함수를 스크립트 키워드 CONCATENATE와 혼동하지 않아야 합니다.

Concat()은 가장 간단한 형식으로, 값/단어/선택 내용을 하나의 문자열로 묶거나 합치는 데 사용됩니다. 또한 다양한 문제를 해결하는 데에도 다양한 방식으로 활용할 수 있습니다. 모든 예는 다음 테이블을 기준으로 합니다.

단순 문자열 연결

앞서 설명한 대로, concat 함수를 사용하여 값 목록을 함께 묶을 수 있습니다. 이 값은 하드코드되거나 선택 내용/데이터에 따라 결정될 수 있습니다.

=CONCAT(MyColumn,',')

=CONCAT(DISTINCT MyColumn,',')

이 단순 concat 문은 MyColumn 열에서 사용 가능한 모든 값을 서로 묶습니다. 여기에 DISTINCT 키워드를 추가하는 것을 고려할 수 있습니다. 그러면 각각의 값이 문자열에서 한 번만 표시됩니다.

ABC,DEF,GHI,JKL,MNO,PQR,STU,VWX

단순 concat를 사용할 때 문자열 값이 사용자가 선택한 열로 정렬되도록 함수에 정렬 가중치를 추가할 수 있습니다. 아래 예에서는 값 정렬을 위해 날짜 열이 추가되었습니다.

 

=CONCAT(MyColumn, ',', Date)

결과: JKL,VWX,GHI,ABC,STU,PQR,MNO,DEF

표현식/Set 문 내에서 Concat() 사용

집합 분석 표현식에 다수의 동적 값 전달

값의 동적 선택 내용을 set 문에 전달하고자 할 경우가 있습니다. 그러려면 CONCAT() 함수가 예를 들어 'JKL', 'VWX'를 반환하도록 문자열에 작은따옴표를 추가해야 합니다. 하지만 작은따옴표는 set 표현식이 평가될 때가 아니라 Concat가 평가될 때 해석되므로 작은따옴표를 그대로 사용할 수 없습니다. 대신 Chr() 함수를 사용해야 합니다.

 

=CONCAT(Chr(39)&MyColumn&Chr(39),',')

그 다음 이 concat 문을 표현식 내부로 전달할 수 있습니다.

 

=Sum({<MyColumn={$(=CONCAT(Chr(39)&MyColumn&Chr(39),','))}>} Value)

대부분의 경우 데이터 섬이 존재할 때 이 기법이 사용됩니다. 이 기법을 사용하면 데이터 섬 테이블이 조인되지 않으므로 데이터 모델의 어떤 부분에도 영향을 주지 않는 표현식에 값을 전달할 수 있습니다.

스크립트 내의 Concat()

Concat는 또한 스크립트 내에서 다른 집계처럼 다수의 행을 단일 열 값으로 변환하는 데 사용할 수도 있습니다.

앞서 사용한 소스 데이터를 기억해보면 스크립트측 CONCAT의 결과는 다음과 같습니다.

다음은 이 스크립트 함수의 결과입니다.

Rank()를 사용하여 Concat()에 영향 주기

concat()와 함께 다른 함수를 사용하면 빈틈없는 결과를 얻을 수 있습니다. 이 예에서는 Rank()를 사용하여 상위 3개 성과(Value 기준)를 포착하고 서로 묶습니다.

 

=CONCAT(IF(aggr(Rank(sum(Value)),MyColumn)<=3,MyColumn),',')

결과: ABC,MNO,STU