나는 SAP HANA
에 table
EFF 있습니다SAP HANA - SQL의 범위로 집계 날짜 스크립트
OBJECT;PN;MANUFACTURER;MONTH;QTY
OBJ1;PN1;MAN1;201601;1
OBJ1;PN1;MAN1;201602;1
OBJ1;PN1;MAN1;201603;2
OBJ1;PN1;MAN1;201604;1
OBJ1;PN1;MAN1;201605;1
OBJ1;PN1;MAN1;201606;1
가 나는 SQL statement
와 DATE으로 분류 OBJECT/PN/MANUF/QTY
하지만 으로 table
의 집계보기를 얻을 싶습니다 . 여기 내가 원하는 걸.
OBJECT;PN;MANUFACTURER;DATE_FROM;DATE_TO;QTY OBJ1;PN1;MAN1;201601;201602;1 (from 01-2016 to 02-2016, OBJ1 contained 1 PN1) OBJ1;PN1;MAN1;201603;201603;2 (from 03-2016 to 03-2016, OBJ1 contained 2 PN1) OBJ1;PN1;MAN1;201604;201606;1 (from 04-2016 to 06-2016, OBJ1 contained 1 PN1)
이미 많은 솔루션을 테스트했지만 아무것도 난 항상 얻을 ... 잘 작동하지 : 01-2016에서
- 1 라인을 수량 = 1
- 1 라인 06-2016로 2
= 수량과 03-2016에 03-2016에서 내가에 찾아 봤는데
... 충분하지 않습니다in SAP HANA
은 FIRST_VALUE (partition by...)
및 LAST_VALUE
과 같지만 제대로 작동하지 않습니다 ...
어떤 아이디어가 있습니까?
참고 : 나는 이미 그것을 할 수있는 cursor
와 stored procedure
을 구현, 그것은 (몇 시간) 작동하지만 훨씬 빠르게 뭔가가 필요합니다. 왜냐하면 그것은 수십억 개의 라인을 염려하기 때문입니다.
원하는 로직이 아직 명확하지 않습니다. QTY가 변경 될 때마다 새로운 그룹을 원하십니까? 이 경우 창 함수를 사용하여 "가장 긴 줄무늬 찾기"예제를 찾아야합니다. –
Lars에 감사드립니다. 예, 수량별로 행을 그룹화하지만 시간 순서를 존중하는 솔루션을 원합니다. 저는'LEAD' /'LAG'과'ROW_NUMBER' 함수를 기반으로 한 솔루션을 작성하고 있습니다. – KrasshX