Concat - 차트 함수
Concat()은 문자열 값을 결합하는 데 사용됩니다. 이 함수는 각 차원에서 평가된 표현식의 모든 값에 대해 집계된 문자열 연결을 반환합니다.
구문:
Concat({[SetExpression] [DISTINCT] [TOTAL [<fld{, fld}>]]} string[, delimiter[, sort_weight]])
반환 데이터 유형: 문자열
인수:
인수 | 설명 |
---|---|
string |
처리할 문자열이 포함된 표현식 또는 필드입니다. |
delimiter | 각 값은 delimiter에 있는 문자열로 구분할 수 있습니다. |
sort-weight |
연결 순서는 연결에서 처음 나타나는 가장 낮은 값에 해당하는 문자열(있는 경우)이 포함된 sort-weight 차원의 값에 따라 결정할 수 있습니다.. |
SetExpression | 기본적으로 집계 함수는 선택에 의해 정의된 사용 가능한 레코드의 집합을 집계합니다. 집합 분석 표현식으로 대체 레코드 집합을 정의할 수 있습니다. |
DISTINCT | 함수 인수 앞에 DISTINCT라는 단어가 있을 경우 해당 함수 인수의 평가 결과로 생성된 중복이 무시됩니다. |
TOTAL |
TOTAL이 함수 인수 앞에 오는 경우, 현재 선택을 고려하되 현재 차원 값에 관련되지 않은 가능한 모든 값에 대한 계산이 실행됩니다. 즉, 차트 차원은 무시됩니다. TOTAL [<fld {.fld}>](여기서 TOTAL 한정자 뒤에는 하나 이상의 필드 이름 목록이 차트 차원 변수의 하위 집합으로 옴)을 사용하여 가능한 전체 값의 하위 집합을 만듭니다. |
예 및 결과:
SalesGroup | Amount | Concat(Team) | Concat(TOTAL <SalesGroup> Team) |
---|---|---|---|
East | 25000 | Alpha | AlphaBetaDeltaGammaGamma |
East | 20000 | BetaGammaGamma | AlphaBetaDeltaGammaGamma |
East | 14000 | Delta | AlphaBetaDeltaGammaGamma |
West | 17000 | Epsilon | EpsilonEtaThetaZeta |
West | 14000 | Eta | EpsilonEtaThetaZeta |
West | 23000 | Theta | EpsilonEtaThetaZeta |
West | 19000 | Zeta | EpsilonEtaThetaZeta |
예 | 결과 |
---|---|
Concat(Team) |
이 테이블은 차원 SalesGroup 및 Amount, 계수 Concat(Team)의 변형으로 구성됩니다. 합계 결과를 무시하면, SalesGroup의 두 값에 걸쳐 Team 값 여덟 개가 분포되어 있고, 테이블 내에 있는 둘 이상의 Team 문자열 값에 컨케트네이트되는 계수 Concat(Team)의 유일한 결과는 차원 Amount 20000이 포함된 행이며, 이는 결과 BetaGammaGamma를 제공합니다. 이는 입력 데이터에 Amount 20000에 해당하는 값이 세 개이기 때문입니다. SalesGroup 및 Amount의 각 조합에 단 하나의 Team 값만이 존재하므로 차원 전체에 계수를 확장할 때 다른 결과는 컨케트네이트되지 않는 채로 남습니다. |
Concat(DISTINCT Team,', ') | Beta, Gamma이며, DISTINCT 한정자는 중복 Gamma 결과가 무시됨을 의미하기 때문입니다. 또한 구분 기호 인수는 쉼표에 이은 공백으로 정의됩니다. |
Concat (TOTAL <SalesGroup> Team) | TOTAL 한정자를 사용하면 Team의 모든 값에 대한 문자열 값이 컨케트네이트됩니다. 필드 선택 <SalesGroup>이 지정된 경우, 이는 결과를 차원 SalesGroup의 두 값으로 나누게 됩니다. SalesGroupEast의 경우 결과가 AlphaBetaDeltaGammaGamma입니다. SalesGroupWest의 경우 결과가 EpsilonEtaThetaZeta입니다. |
Concat (TOTAL <SalesGroup> Team,';', Amount) | sort-weight: Amount에 대한 인수를 추가하면 결과는 차원 Amount의 값에 따라 정렬됩니다. 결과는 DeltaBetaGammaGammaAlpha 및 EtaEpsilonZEtaTheta가 됩니다. |
데이터 사용 예:
TeamData:
LOAD * inline [
SalesGroup|Team|Date|Amount
East|Gamma|01/05/2013|20000
East|Gamma|02/05/2013|20000
West|Zeta|01/06/2013|19000
East|Alpha|01/07/2013|25000
East|Delta|01/08/2013|14000
West|Epsilon|01/09/2013|17000
West|Eta|01/10/2013|14000
East|Beta|01/11/2013|20000
West|Theta|01/12/2013|23000
] (delimiter is '|');