다음을 통해 공유


Select 식(Crystal 구문)

Select 식은 If 식과 비슷합니다. 그러나 경우에 따라 Select 식을 사용하여 보다 명확하고 반복 내용이 적은 수식을 작성할 수 있습니다. 다음 예는 {고객.팩스} 필드를 평가하여 지역 코드가 Washington 주(206, 360, 509) 또는 British Columbia, Canada(604, 250) 중 어느 것인지 확인합니다.

Select {Customer.Fax}[1 To 3]
Case "604", "250" :
"BC"
Case "206", "509", "360" :
"WA"
Default :
"";

Select 키워드 다음에 나오는 식을 Select 조건이라고 합니다. 위의 예에서는 {고객.팩스}[1 To 3]가 됩니다. Select 식은 Select 조건과 일치하는 첫째 Case를 찾은 후 그 Case의 콜론 뒤에 나오는 식을 실행합니다. 앞에 나오는 어떠한 Case도 Select 조건과 일치하지 않으면 Default Case가 적용됩니다. Default 다음에도 콜론이 나와야 합니다.

Local StringVar areaCode := {Customer.Fax}[1 To 3];
If areaCode In ["604", "250"] Then
"BC"
Else If areaCode In ["206", "509", "360"] Then
"WA"
Else
"";

다음 수식은 오스카상에서 영화 한 편이 노미네이트된 부문의 수를 "적음", "보통", "많음" 또는 "아주 많음"의 범주로 그룹화하고, Case 레이블 뒤에 나올 수 있는 몇 가지 식 목록을 보여 줍니다.

Select {movie.NOM}
Case 1,2,3, Is < 1 :
(
10 + 20;
"low"
)
Case 4 To 6, 7, 8, 9 :
"medium"
Case 10 :
"high"
Default :
"extreme"

Select 식의 Default 절은 선택적입니다. Default 절이 없고 일치하는 Case가 없으면 Select 식은 그 식의 형식에 대한 기본값을 반환합니다. 예를 들어, 위의 예에서 Default 절이 생략되고 {movie.NOM} = 11일 경우 빈 문자열 ""를 반환합니다. Select 식은 하나의 식이며 If 식에 대한 자세한 내용 단원에서 설명한 내용이 여기에도 적용됩니다