기본 콘텐츠로 건너뛰기

SubField - 스크립트 및 차트 함수

Subfield()는 부모 문자열 필드에서 부분 문자열 성분을 추출하는 데 사용됩니다. 여기서 원래 레코드 필드는 구분 기호로 분리된 둘 이상의 부분으로 구성됩니다.

Subfield() 함수는 전체 이름으로 구성된 레코드 목록에서 이름과 성을 추출하거나 경로 이름의 구성 요소 부분 또는 쉼표로 구분된 테이블에서 데이터를 추출하는 등의 작업에 사용할 수 있습니다.

LOAD 문에서 옵션 field_no 파라메타를 생략하고 Subfield() 함수를 사용하면 각 부분 문자열에 대해 전체 레코드 하나가 생성됩니다. Subfield()를 사용하여 여러 필드를 로드하는 경우는 모든 조합의 카티션 곱이 생성됩니다.

구문:  

SubField(text, delimiter[, field_no ])

반환 데이터 유형: 문자열

인수:  

SubField 인수
인수 설명
text 원래 문자열입니다. 이 값은 하드 코딩된 텍스트, 변수, 달러 기호 확장 또는 다른 표현식이 될 수 있습니다.
delimiter 문자열을 구성 성분으로 나누는 입력 text 내의 문자열입니다.
field_no

세 번째 옵션 인수는 부모 문자열인 text의 부분 문자열이 반환되도록 지정하는 정수입니다.

  • field_no가 양수 값이면 부분 문자열이 왼쪽에서 오른쪽으로 추출됩니다.
  • field_no가 음수 값이면 부분 문자열이 오른쪽에서 왼쪽으로 추출됩니다.
팁 메모 SubField()Len(), Right(), Left(), Mid() 및 기타 문자열 함수를 복잡하게 조합한 함수를 대신하여 사용할 수 있습니다.

예 및 결과:  

예 1-3
결과
SubField('abc;cde;efg', ';', 2) 'cde'를 반환합니다.
SubField('', ';', 1) NULL를 반환합니다.
SubField(';', ';', 1) 빈 문자열을 반환합니다.

예제 스크립트를 문서에 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 문서의 시트에 추가합니다.

FullName:

LOAD * inline [

Name

'Dave Owen'

'Joe Tem'

];

 

SepNames:

Load Name,

SubField(Name, ' ',1) as FirstName,

SubField(Name, ' ',-1) as Surname

Resident FullName;

Drop Table FullName;

예 4
Name FirstName Surname
Dave Owen Dave Owen
Joe Tem Joe Tem

경로 이름 vMyPath를 보유하는 변수가 있다고 가정하십시오.

Set vMyPath=\Users\ext_jrb\Documents\Qlik\Sense\Apps;.

텍스트 및 이미지 차트에서 다음과 같은 측정값을 추가할 수 있습니다.
SubField(vMyPath, '\',-3). 결과 값은 'Qlik'으로, 이 값이 변수 vMyPath 오른쪽 끝에서 세 번째의 하위 문자열이기 때문입니다.

This example shows how multiple rows are created from a single instance of Subfield().

예제 스크립트를 문서에 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 문서의 시트에 추가합니다.

LOAD DISTINCT

Player,

SubField(Project,',') as Project;

 

Load * inline [

Player|Project

Neil|Music,OST

Jo|Music

Mike|Music,OST,Video

] (delimiter is '|');

예 5:
Player Project
Neil Music
Neil OST
Jo Music
Mike Music
Mike OST
Mike Video

이 예에서는 Subfield() 함수의 여러 인스턴스를 사용하여 동일한 LOAD 문 내에서 field_no 매개 변수가 생략된 각 인스턴스가 모든 조합의 데카르트 곱을 만드는 방법을 보여줍니다. DISTINCT 옵션은 중복 레코드 생성을 방지하는 데 사용됩니다.

예제 스크립트를 문서에 추가하고 실행합니다. 그런 다음, 결과를 보기 위해 결과 열에 나열된 필드를 문서의 시트에 추가합니다.

LOAD DISTINCT

Instrument,

SubField(Player,',') as Player,

SubField(Project,',') as Project;

 

Load * inline [

Instrument|Player|Project

Guitar|Neil,Mike|Music,Video

Guitar|Neil|Music,OST

Synth|Neil,Jen|Music,Video,OST

Synth|Jo|Music

Guitar|Neil,Mike|Music,OST

] (delimiter is '|');

예 6
Instrument Player Project
Guitar Mike Music
Guitar Mike Video
Guitar Mike OST
Guitar Neil Music
Guitar Neil Video
Guitar Neil OST
Synth Jen Music
Synth Jen Video
Synth Jen OST
Synth Jo Music
Synth Neil Music
Synth Neil Video
Synth Neil OST

이 페이지가 도움이 되었습니까?

이 페이지 또는 해당 콘텐츠에서 오타, 누락된 단계 또는 기술적 오류와 같은 문제를 발견하면 개선 방법을 알려 주십시오!

분석 현대화 프로그램에 참여

Remove banner from view

분석 현대화 프로그램으로 귀중한 QlikView 앱을 손상시키지 않고 현대화하십시오. 여기를 클릭 하여 자세한 내용을 참조하거나 다음에 연결하십시오. ampquestions@qlik.com