repeat

입력 데이터를 지정된 횟수만큼 복사하여 출력합니다.

명령어 속성

항목설명
명령어 유형가공 쿼리
필요 권한없음
라이선스 사용량해당 없음
병렬 실행지원
분산 실행미지원

문법

repeat count=INT [_repidx={t|f}]

옵션

count=INT
각 입력 레코드를 반복 출력할 횟수
_repidx={t|f}
반복 인덱스 필드 출력 여부 (기본값: f)
  • t: 각 복사본에 _repidx 필드를 추가하고 0부터 시작하는 인덱스 값을 설정합니다.
  • f: 반복 인덱스 필드를 추가하지 않습니다.

출력 필드

필드타입설명
_repidx정수반복 인덱스 (0부터 시작). _repidx=t 옵션을 지정한 경우에만 출력됩니다.

오류 코드

파싱 오류
오류 코드메시지설명
missing-count-option-count 옵션을 지정하지 않은 경우
런타임 오류

해당 사항 없음

설명

repeat 명령어는 각 입력 레코드를 count에 지정한 횟수만큼 복사하여 출력합니다. 예를 들어 count=3을 지정하면 입력 레코드 1건당 3건의 동일한 레코드가 출력됩니다.

_repidx=t 옵션을 사용하면 각 복사본에 0부터 시작하는 반복 인덱스 필드(_repidx)가 추가되어, 몇 번째 복사본인지 구분할 수 있습니다.

사용 예

이 사용 예에서 조회하는 WEB_APACHE_SAMPLE 테이블을 준비하려면 쿼리 실습용 데이터를 참고하세요.

  1. 레코드를 3회 반복 출력

    table limit=2 WEB_APACHE_SAMPLE
    | repeat count=3
    

    조회한 각 레코드가 3번씩 복사되어 총 6건의 레코드가 출력됩니다.

  2. 반복 인덱스와 함께 출력

    table limit=2 WEB_APACHE_SAMPLE
    | repeat count=3 _repidx=t
    | fields _repidx, src_ip, uri
    

    각 복사본에 _repidx 값(0, 1, 2)이 추가되어 몇 번째 복사본인지 구분할 수 있습니다.

  3. 반복 인덱스를 활용한 연속 날짜 생성

    json "[{'base_date': '2025-01-01'}]"
    | repeat count=7 _repidx=t
    | eval date = dateadd(date(base_date, "yyyy-MM-dd"), "day", _repidx)
    | fields date
    

    기준 날짜로부터 7일간의 연속 날짜를 생성합니다.

호환성

repeat 명령어는 소나 4.0 이전 버전부터 제공되었습니다.