[]
window 속성은 테이블 스키마에서 WINDOW() 수식에 사용할 재사용 가능한 window 사양을 정의합니다.
Window 정의는:
테이블 스키마에 속합니다.
저장된 데이터를 수정하지 않습니다.
원격 작업에 영향을 주지 않습니다.
열 구조를 변경하지 않습니다.
수식 계산을 위한 이름 있는 window 구성으로 사용됩니다.
이는 window 사양을 한 번만 정의하고 여러 계산에서 재사용할 수 있도록 하는 축약 메커니즘을 제공합니다.
WINDOW() 수식을 사용할 때 다음과 같은 표현식이 자주 반복됩니다.
PARTITIONBY
ORDERBY
프레임 정의(FRAMEROWS, FRAMERANGE, FRAMEGROUPS)
이 표현식을 모든 수식에 반복해서 작성하는 대신, 스키마에 이름 있는 window를 정의하고 이름으로 참조할 수 있습니다.
이를 통해 다음과 같은 이점을 얻을 수 있습니다.
가독성 향상
유지 관리 용이성 향상
계산 간 일관성 향상
window 속성은 키-값 컬렉션으로 정의됩니다.
interface ISchemaOption {
window?: {
[name: string]: string;
};
}각 키는 window 이름입니다.
각 값은 WINDOWDEF 수식 표현식입니다.
예제:
dataManager.addTable("orders", {
schema: {
window: {
YearPartition:
'=WINDOWDEF(PARTITIONBY([Product], YEAR([@OrderDate])))',
RunningFrame:
'=WINDOWDEF(PARTITIONBY([Product]), ORDERBY([@OrderDate]), FRAMEROWS(-1, [@]))'
}
}
});각 정의는 다음을 지정합니다.
분할 로직
선택적 정렬 로직
선택적 프레임 로직
정의 자체는 집계를 수행하지 않습니다.
window 컨텍스트만 정의합니다.
이름 있는 window는 WINDOW() 수식 내에서 참조할 수 있습니다.
=WINDOW(SUM([Sales]), "YearPartition")이름 있는 window는 다음을 제공합니다.
PARTITIONBY
ORDERBY
프레임 구성
집계 함수(예: SUM)는 여전히 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 렌더링