노션에서 관계형 속성으로 두 데이터베이스를 연결했다면, 그 다음 단계는 롤업이다. 롤업은 연결된 데이터베이스에서 특정 값을 가져와 합계, 평균, 개수 같은 계산을 자동으로 처리해주는 기능이다. 설정 방법만 알면 수동으로 계산하던 작업을 데이터베이스가 자동으로 처리해주기 시작한다.
롤업이란 무엇인가
롤업은 연결된 데이터베이스의 정보를 요약해서 보여주는 데이터베이스 속성 유형이다. 수동으로 처리하기 어려운 데이터 요약과 비교 작업을 빠르고 쉽게 처리해준다.
관계형 속성이 두 데이터베이스를 연결하는 다리라면, 롤업은 그 다리를 건너서 가져온 정보로 계산을 수행하는 도구다. 예를 들어 프로젝트 데이터베이스와 할 일 데이터베이스를 연결해뒀다면, 롤업으로 각 프로젝트에 연결된 할 일의 총 개수, 완료율, 예상 소요 시간 합계를 자동으로 계산할 수 있다.
중요한 점이 하나 있다. 롤업은 반드시 관계형 속성이 먼저 설정되어 있어야 사용할 수 있다. 관계형 속성 없이는 롤업을 만들 수 없다. 롤업을 쓰기 전에 두 데이터베이스 사이에 관계형 속성이 설정되어 있는지 먼저 확인해야 한다.
롤업 설정하는 방법
롤업 속성 추가하기
롤업을 추가할 데이터베이스에서 새 속성을 추가하고 롤업(Rollup)을 선택한다. 속성을 추가하면 세 가지 설정 항목이 나타난다.
첫 번째는 관계(Relation)로, 어떤 관계형 속성을 기준으로 롤업할지 선택한다. 두 번째는 속성(Property)으로, 연결된 데이터베이스에서 가져올 속성을 선택한다. 세 번째는 계산(Calculate)으로, 가져온 값을 어떻게 처리할지 선택한다.
예를 들어 프로젝트 데이터베이스에서 각 프로젝트에 연결된 할 일의 완료율을 계산하고 싶다면, 관계는 “할 일” 관계형 속성, 속성은 할 일의 “완료” 체크박스, 계산은 “체크된 비율”을 선택하면 된다.
계산 방식 선택하기
롤업에서 선택할 수 있는 계산 방식은 속성 유형에 따라 달라진다.
| 속성 유형 | 사용 가능한 계산 방식 |
|---|---|
| 숫자(Number) | 합계, 평균, 중간값, 최솟값, 최댓값, 범위 |
| 날짜(Date) | 가장 이른 날짜, 가장 늦은 날짜, 날짜 범위 |
| 체크박스(Checkbox) | 체크된 개수, 체크되지 않은 개수, 체크된 비율, 체크되지 않은 비율 |
| 공통 | 전체 개수, 값 있는 항목 수, 고유값 수, 비어 있는 항목 수 |
원본 표시(Show original)를 선택하면 연결된 항목의 값을 계산 없이 그대로 나열해서 보여준다. 고유값 표시(Show unique values)는 중복을 제거하고 고유한 값만 표시한다.
롤업 실전 활용 사례
프로젝트 진행률 자동 계산
프로젝트 데이터베이스에서 각 프로젝트의 진행률을 자동으로 계산하는 방법은 이렇다. 관계는 할 일 데이터베이스의 관계형 속성, 속성은 할 일의 완료 체크박스, 계산은 체크된 비율로 설정하면 된다.
이렇게 하면 각 프로젝트 행에 연결된 할 일 중 완료된 비율이 자동으로 표시된다. 할 일을 완료 처리할 때마다 프로젝트 진행률도 실시간으로 업데이트된다.
예산 합계 자동 집계
고객 데이터베이스에서 각 고객의 총 구매 금액을 자동으로 집계하는 것도 롤업으로 가능하다. 구매 항목 데이터베이스의 관계형 속성을 선택하고, 가격(Price) 속성을 선택한 뒤 합계(Sum)를 적용하면 각 고객별 총 구매 금액이 자동으로 계산된다.
월별, 카테고리별 지출 합계를 자동으로 집계하는 방식으로 간단한 가계부나 비용 관리 시스템을 만들 수도 있다.
팀원 업무량 파악하기
담당자 데이터베이스와 할 일 데이터베이스를 연결하고, 담당자 데이터베이스에 롤업으로 “할당된 할 일 수”를 집계하면 팀원별 업무량을 한눈에 파악할 수 있다. 여기에 완료율 롤업도 함께 추가하면 각 팀원의 진행 상황까지 대시보드처럼 볼 수 있다.
고유값으로 정보 정리하기
직원 데이터베이스와 회사 데이터베이스를 연결했을 때, 회사별로 직원들이 사용하는 언어 목록을 만들고 싶다면 고유값 표시 계산을 쓰면 된다. 여러 직원이 같은 언어를 쓰더라도 중복 없이 고유한 언어 목록만 표시된다.
롤업 설정 시 주의사항
롤업이 제대로 작동하지 않을 때 원인은 대부분 세 가지다.
첫 번째는 잘못된 관계형 속성 선택이다. 관계형 속성이 여러 개 있다면 롤업 설정 시 잘못된 관계를 선택할 수 있다. 어떤 관계형 속성을 선택했는지 반드시 확인해야 한다.
두 번째는 속성 유형과 계산 방식의 불일치다. 텍스트 속성에 합계 계산을 적용하는 것처럼 속성 유형에 맞지 않는 계산 방식을 선택하면 올바른 결과가 나오지 않는다. 숫자 계산은 숫자 속성, 날짜 계산은 날짜 속성에만 적용해야 한다.
세 번째는 권한 문제다. 연결된 데이터베이스에 접근 권한이 없으면 롤업이 정상 작동하지 않을 수 있다. 두 데이터베이스 모두 읽기 권한이 있어야 한다.
롤업과 필터 함께 쓰기
롤업에 필터를 추가하면 더 정교한 집계가 가능하다.
| 활용 예시 | 롤업 설정 | 필터 조건 |
|---|---|---|
| 완료되지 않은 할 일 수 | 할 일 수 계산(Count all) | 완료 = 체크되지 않음 |
| 이번 달 지출 합계 | 금액 합계(Sum) | 날짜 = 이번 달 |
| 높은 우선순위 작업 수 | 항목 수 계산(Count all) | 우선순위 = 높음 |
| 진행 중인 프로젝트 개수 | 항목 수 계산(Count all) | 상태 = 진행 중 |
롤업 셀을 클릭하면 필터 옵션이 나타나서 특정 조건에 해당하는 항목만 집계할 수 있다. 예를 들어 완료된 할 일만 카운트하거나, 특정 상태의 항목만 합산하는 방식으로 활용할 수 있다.
자주 묻는 질문
롤업 결과값을 다른 계산에 다시 사용할 수 있나요?
롤업 속성 자체를 직접 다른 롤업의 입력값으로 쓰는 건 현재 지원되지 않습니다. 롤업의 결과를 다시 계산하고 싶다면 수식(Formula) 속성을 활용해서 롤업 결과값을 참조하는 방법을 써야 합니다.
관계형 속성이 없어도 롤업을 만들 수 있나요?
아닙니다. 롤업은 반드시 관계형 속성이 먼저 있어야 설정할 수 있습니다. 롤업을 추가하려고 하면 연결 가능한 관계형 속성 목록이 나타나는데, 관계형 속성이 없으면 선택할 항목이 없어서 롤업을 만들 수 없습니다.
롤업으로 숫자 계산이 안 되는 경우는 왜인가요?
연결된 데이터베이스의 해당 속성이 숫자(Number) 유형이 아닌 경우에 합계, 평균 같은 숫자 계산이 작동하지 않습니다. 텍스트로 입력된 숫자는 계산이 안 되기 때문에, 계산이 필요한 값은 처음부터 숫자 속성으로 만들어야 합니다.
롤업 값이 업데이트되지 않는 경우가 있나요?
연결된 데이터베이스의 값이 변경되면 롤업도 자동으로 업데이트됩니다. 다만 간혹 캐시 문제로 바로 반영되지 않는 경우가 있는데, 페이지를 새로고침하면 대부분 해결됩니다.
롤업 속성을 필터 조건으로 쓸 수 있나요?
숫자 값을 출력하는 롤업은 필터 조건으로 사용할 수 있습니다. 예를 들어 “할 일 완료 수가 5 이상인 프로젝트만 보기”처럼 롤업 결과값을 기준으로 필터링이 가능합니다. 다만 텍스트나 날짜를 출력하는 롤업은 필터 조건으로 활용하기 어려운 경우가 있습니다.
마무리하며
롤업은 처음엔 낯설고 복잡해 보이지만, 한 번 제대로 설정해두면 매번 수동으로 계산하던 작업을 데이터베이스가 알아서 처리해준다. 프로젝트 진행률, 예산 합계, 팀원 업무량처럼 자주 확인해야 하는 수치를 롤업으로 자동화해두면 확실히 편해진다. 이미 관계형 속성을 설정해둔 데이터베이스가 있다면, 거기에 롤업 하나만 추가해보는 것부터 시작해보자.