
RANK vs DENSE_RANK 동점 처리 비교 #shorts #SAP #HANA
1. Window 함수가 필요한 순간 — 서브쿼리 지옥에서 벗어나기 SAP HANA에서 "카테고리별 매출 상위 3개 제품"을 뽑아야 할 때, Window 함수를 모르면 보통 상관 서브쿼리(correlated subquery)나 셀프 조인으로 해결하게 됩니다. 문제는 이 방식이 행마다 서

1. Window 함수가 필요한 순간 — 서브쿼리 지옥에서 벗어나기 SAP HANA에서 "카테고리별 매출 상위 3개 제품"을 뽑아야 할 때, Window 함수를 모르면 보통 상관 서브쿼리(correlated subquery)나 셀프 조인으로 해결하게 됩니다. 문제는 이 방식이 행마다 서

1. Content Modifier와 Script의 본질적 차이 SAP Integration Suite(구 Cloud Integration, CPI)로 iFlow를 설계하다 보면 "이 데이터 변환을 Content Modifier로 처리해야 하나, Script로 처리해야 하나?"라는 판단

이 글에서 다룰 내용과 도달 지점 SAP Integration Suite의 Cloud Integration(iFlow) 안에서 데이터를 변환할 때 개발자가 가장 먼저 마주하는 결정은 Graphical Message Mapping 을 쓸 것인가, 아니면 XSLT Mapping 을 쓸 것인

1. 왜 분위수 함수가 실무 분석의 핵심인가 매출 데이터, 응답 시간, 재고 회전율 같은 수치형 지표를 다룰 때 평균(AVG)만으로는 데이터의 진짜 모습을 놓치기 쉽습니다. 한 명의 초대형 고객이 전체 평균을 왜곡시키거나, 응답 시간의 상위 5%가 서비스 품질을 좌우하는 상황은 SAP

1. 왜 LAG/LEAD가 필요한가 — 시계열 비교의 도전 매출, 재고, 센서 측정값, 로그 이벤트처럼 시간 축을 따라 흐르는 데이터를 분석할 때 가장 자주 등장하는 요구사항은 "이전 값 대비 얼마나 변했는가" 혹은 "다음 값과 비교했을 때 어떤 추세인가"입니다. 예를 들어 어제 대비

개요 및 배경 SAP HANA 성능 튜닝을 시작할 때 가장 흔한 실패 원인은 "느낌"으로 튜닝하는 것입니다. 어떤 SQL이 얼마나 자원을 소모하는지 데이터 없이 인덱스를 추가하거나 쿼리를 뜯어고치면, 오히려 다른 쿼리의 성능이 떨어지거나 리소스가 낭비됩니다. Expensive State

STRING_AGG가 필요한 이유 — 여러 행을 한 줄로 관계형 데이터베이스에서 자주 마주치는 상황이 있습니다. 하나의 고객이 여러 개의 주문을 갖고, 하나의 주문이 여러 개의 상품 라인을 갖습니다. 이 데이터를 화면이나 리포트에 표시할 때 "고객 A: 노트북, 마우스, 키보드" 같은

개요 및 실전 배포 목표 SAP BTP Cockpit은 시각적으로 편리하지만, 반복 배포·CI/CD·원격 서버 작업에서는 오히려 병목이 됩니다. 이 글은 Cloud Foundry CLI(cf CLI) 하나만으로 로그인부터 서비스 바인딩, 매니페스트 배포, 롤백까지 전체 흐름을 완성하는

1. 왜 서브어카운트 설계가 프로젝트 초반의 승부수인가 SAP BTP 프로젝트에서 가장 자주 목격되는 실수는 "일단 하나 만들고 나중에 나누자" 는 접근입니다. 무료 트라이얼로 시작해 Proof of Concept(PoC)을 진행하다가, 어느 순간 그 서브어카운트에 개발/QA/운영 리소

1. 이 글에서 다루는 범위와 도달점 SAP BTP(Business Technology Platform) Cockpit은 클라우드 자원을 시각적으로 다루는 관제탑 역할을 합니다. 이 글은 BTP 계정에 처음 로그인하는 개발자가 Cloud Foundry 런타임 환경에서 서비스 인스턴스를

개요와 이 글에서 얻어갈 것 FULL OUTER JOIN은 SQL의 조인 종류 중에서도 가장 늦게 손이 가지만, 반대로 한 번 제대로 쓰면 다른 조인으로 풀기 어려운 문제를 단번에 해결해 주는 도구입니다. 특히 SAP HANA처럼 컬럼 스토어 기반 인메모리 엔진에서는 FULL OUTER

이 글에서 다루는 것 SAP HANA를 비롯한 모든 관계형 데이터베이스에서 데이터를 안전하게 변경하려면 트랜잭션(Transaction) 개념을 반드시 이해해야 합니다. 이 글은 SQL의 COMMIT 과 ROLLBACK 을 활용해 트랜잭션을 제어하는 방법을 실무 시나리오 중심으로 설명합니

개요 및 이 글에서 얻어갈 것 온라인 쇼핑몰에서 주문이 들어와 재고를 1개 차감하는 UPDATE를 실행한 직후, 결제 시스템 호출에서 네트워크 오류가 발생했다고 가정해 봅시다. 만약 그 UPDATE가 자동으로 즉시 반영되는 상태였다면 재고는 이미 줄어든 채로 결제는 실패한 모순 상태가

이 글에서 다루는 내용 SAP HANA 기반 시스템에서 SELECT * 구문은 개발 초기에는 편리해 보이지만, 프로덕션 환경에 그대로 배포되면 다양한 성능·유지보수 문제를 일으킵니다. 이 글에서는 SAP HANA Cloud(QRC 2/2024 기준) 및 HANA 2.0 SPS07 환경을

왜 DISTINCT가 예상대로 안 될까? 큰일나기 전에 알아두기 "분명히 SELECT DISTINCT 를 썼는데 왜 중복이 그대로 나오지?" SAP HANA 콘솔 앞에서 이런 의문을 가져본 적 있다면, 이 글은 정확히 그 답을 다룹니다. DISTINCT는 SQL 입문자가 가장 먼저 배우

1. 개요 및 이 글에서 다룰 것 SAP BTP(Business Technology Platform) 위에서 운영되는 클라우드 애플리케이션이 사내 방화벽 뒤편의 On-Premise SAP S/4HANA, ECC, 또는 Non-SAP 시스템 에 안전하게 접근해야 하는 시나리오는 하이브리드
개요 및 이 글에서 다룰 것 SAP BTP에서 가장 흔하게 발생하는 운영 장애 중 하나가 Quota 초과 입니다. 갑자기 서비스 인스턴스를 만들 수 없거나, 앱 배포가 실패하거나, 라이선스 비용이 예상보다 폭증하는 상황을 사전에 막으려면 Entitlement 구조와 Cockpit 운영,

에러 핸들링 없이 iFlow를 운영하면 생기는 일 새벽 3시, 운영팀에 긴급 호출이 옵니다. "어제 들어온 구매발주 17건이 S/4HANA에 안 들어왔어요." 로그를 뒤져보니 SAP BTP Integration Suite의 iFlow는 분명 메시지를 수신했는데, 중간 매핑 단계에서 Nu