QlikWorld 2020 Global Conference. Join us to discover how to get the most from your data. Act fast. Register now and save.

Sub..end sub

sub..end sub 제어 문은 call 문에서 호출할 수 있는 서브루틴을 정의합니다.

Syntax:  

Sub name [ ( paramlist )] statements end sub

 

인수는 서브루틴에 복사되며, call 문에 있는 해당 실제 파라메타가 변수 이름일 경우 서브루틴을 종료할 때 다시 복제됩니다.

서브루틴에 call 문에 의해 전달된 실제 파라메타의 수보다 더 많은 공식 파라메타가 있는 경우 추가 파라메타는 NULL로 초기화되며 서브루틴 내에서 로컬 변수로 사용될 수 있습니다.

sub 문은 제어 문이므로 세미콜론이나 줄 끝(EOL)으로 끝나며 여기에 포함될 수 있는 두 절(subend sub)은 줄 경계를 넘지 않아야 합니다.

Arguments:  

인수 설명
name 서브루틴의 이름입니다.
paramlist 서브루틴의 공식 파라메타에 대한 쉼표로 구분된 변수 이름 목록입니다. 이들은 서브루틴 내의 어떠한 변수로도 사용할 수 있습니다.
statements 하나 이상의 Qlik Sense 스크립트 문의 그룹입니다.

Example 1:  

Sub INCR (I,J)

I = I + 1

Exit Sub when I < 10

J = J + 1

End Sub

Call INCR (X,Y)

Example 2: - 파라메타 전달

Sub ParTrans (A,B,C)

A=A+1

B=B+1

C=C+1

End Sub

A=1

X=1

C=1

Call ParTrans (A, (X+1)*2)

상기 예의 결과는 서브루틴 내에서 로컬로 이루어지며, A는 1로, B는 4로, C는 NULL로 초기화됩니다.

서브루틴을 종료할 때 전역 변수 A의 값은 2가 됩니다(서브루틴에서 다시 복사됨). 두 번째 실제 파라메타 “(X+1)*2”는 변수가 아니기 때문에 다시 복사되지 않습니다. 마지막으로 전역 변수 C는 서브루틴 호출에 의해 영향을 받지 않습니다.

See also: