[]
        
(Showing Draft Content)

Window 정의

window 속성은 테이블 스키마에서 WINDOW() 수식에 사용할 재사용 가능한 window 사양을 정의합니다.

Window 정의는:

  • 테이블 스키마에 속합니다.

  • 저장된 데이터를 수정하지 않습니다.

  • 원격 작업에 영향을 주지 않습니다.

  • 열 구조를 변경하지 않습니다.

  • 수식 계산을 위한 이름 있는 window 구성으로 사용됩니다.

이는 window 사양을 한 번만 정의하고 여러 계산에서 재사용할 수 있도록 하는 축약 메커니즘을 제공합니다.

스키마에 Window를 정의하는 이유

WINDOW() 수식을 사용할 때 다음과 같은 표현식이 자주 반복됩니다.

  • PARTITIONBY

  • ORDERBY

  • 프레임 정의(FRAMEROWS, FRAMERANGE, FRAMEGROUPS)

이 표현식을 모든 수식에 반복해서 작성하는 대신, 스키마에 이름 있는 window를 정의하고 이름으로 참조할 수 있습니다.

이를 통해 다음과 같은 이점을 얻을 수 있습니다.

  • 가독성 향상

  • 유지 관리 용이성 향상

  • 계산 간 일관성 향상

기본 구조

window 속성은 키-값 컬렉션으로 정의됩니다.

interface ISchemaOption {
    window?: {
        [name: string]: string;
    };
}

각 키는 window 이름입니다.

각 값은 WINDOWDEF 수식 표현식입니다.

기본 Window 정의

예제:

dataManager.addTable("orders", {
    schema: {
        window: {
            YearPartition:
                '=WINDOWDEF(PARTITIONBY([Product], YEAR([@OrderDate])))',
            RunningFrame:
                '=WINDOWDEF(PARTITIONBY([Product]), ORDERBY([@OrderDate]), FRAMEROWS(-1, [@]))'
        }
    }
});

각 정의는 다음을 지정합니다.

  • 분할 로직

  • 선택적 정렬 로직

  • 선택적 프레임 로직

정의 자체는 집계를 수행하지 않습니다.

window 컨텍스트만 정의합니다.

이름 있는 Window 사용

이름 있는 window는 WINDOW() 수식 내에서 참조할 수 있습니다.

=WINDOW(SUM([Sales]), "YearPartition")

이름 있는 window는 다음을 제공합니다.

  • PARTITIONBY

  • ORDERBY

  • 프레임 구성

집계 함수(예: SUM)는 여전히 WINDOW() 호출에서 지정해야 합니다.

Window 체이닝

Window 체이닝을 사용하면 이전에 정의된 window를 재사용하면서 일부만 재정의할 수 있습니다.

이름 있는 window를 추가 window 절과 함께 참조하는 경우:

  • WINDOW() 호출에서 제공된 표현식은 기본 window의 해당 부분을 재정의합니다.

  • 지정되지 않은 부분은 상속됩니다.

예제:

// 기본 window 전체 재사용
WINDOW(SUM([Sales]), "YearPartition")

// ORDERBY 재정의
WINDOW(SUM([Sales]), "YearPartition",
       ORDERBY([@OrderDate]))

// 프레임만 재정의
WINDOW(SUM([Sales]), "YearPartition",
       FRAMEROWS([@-2], [@]))

재정의 규칙:

  • 호출에서 정의된 PARTITIONBY, ORDERBY, 프레임 표현식은 기본 window의 정의를 대체합니다.

  • 명시적으로 제공되지 않은 부분은 그대로 유지됩니다.

이를 통해 window 정의를 중앙에서 관리하면서도 유연하게 재사용할 수 있습니다.

프레임 형식 및 제외 모드

Window 정의에는 다음과 같은 프레임 표현식이 포함될 수 있습니다.

  • FRAMEROWS

  • FRAMERANGE

  • FRAMEGROUPS

프레임 표현식에는 선택적으로 제외 모드를 포함할 수 있습니다.

이 구문은 window 함수 언어의 일부이며 수식 계산 중 평가됩니다.

데이터 매니저는 window 함수에 대한 기본 지원을 제공합니다. 테이블 시트에서의 자세한 사용 방법 및 구성은 테이블 시트 Window 함수 문서를 참고하세요. 이 페이지는 스키마 수준의 window 구성만 다룹니다.

책임 범위

Window 정의는:

  • 재사용 가능한 window 사양으로 스키마를 확장합니다.

  • 수식 계산에만 영향을 줍니다.

  • 저장된 레코드를 변경하지 않습니다.

  • 데이터 동기화에 참여하지 않습니다.

  • 테이블 간 관계를 생성하지 않습니다.

이는 데이터 매니저 스키마 내에서 수식 인프라 메커니즘 역할을 수행합니다.

이를 통해 다음 요소들을 명확하게 분리할 수 있습니다.

  • 데이터 구조(열 및 관계)

  • 수식 의미 체계(window 동작)

  • View 렌더링