본문 바로가기
도구/노션

[노션(notion)] 롤업(Rollup)과 공식(Formula)을 활용한 프로젝트 소요 시간 정리하기

by 은성. 2022. 11. 4.

 

 

노션을 사용하다 보면 페이지 구성에서 이런저런 도전을 하게 되는 경우가 많다.

이번에는 프로젝트 단위로 일정을 묶어 관리하고, 또 각 일정에 소요된 시간을 기록하는 페이지를 하나 만들었다.

 

그 과정에서 롤업(Rollup)이라는 다른 데이터베이스의 데이터를 쉽게 가져오는 기능을 활용해

해당 프로젝트의 일정에 사용된 총 시간을 가져온 뒤,

그 시간을 [00분 00초]의 형식으로 변환시킨 과정을 공유하고자 한다.

 

 

완성된 사례

 


 

1단계) 2개의 데이터베이스 생성하기


1. [데이터베이스 - 인라인(Database - Inline)]을 두 개 생성해준다.

- 방법 1: 슬래시(/) 입력 후 나오는 리스트에서 [데이터베이스 - 인라인(Database - Inline)]을 찾는다.

- 방법 2: 새로운 줄 클릭 후 마우스를 가져다 대면 나오는 좌측의 + 버튼을 누르면 나오는 리스트에서 [데이터베이스 - 인라인(Database - Inline)]을 찾는다.

방법 1
방법 2

 


2. 데이터베이스의 이름을 바꿔준다.

프로젝트를 관리할 데이터베이스를 Project,

일정을 관리할 (시간을 체크할) 데이터베이스를 Project Time Check로 만들어주었다.

 

 


3. 데이터베이스의 속성을 설정해준다.

필수적인 속성은 다음과 같다.

Project - Rollup, Formula

Project Time Check - Number

 

 


 

2단계) 두 데이터베이스 간의 Relation과 Project 데이터베이스의 Rollup을 설정하기


1. 두 데이터베이스 간의 Relation을 설정해준다.

Project 데이터베이스의 속성으로 Relation을 추가해준다.

Related to에는 Project Time Check 데이터베이스를 선택해주고,

추후 일정 데이터베이스에서 프로젝트를 쉽게 할당하기 위해 Show on Project Time Check도 체크해준다.

 

Relation 생성
Relation 설정

 


2. Rollup을 설정해준다.

앞서 생성한 Project 데이터베이스의 Rollup 속성을 수정해볼 것이다.

Rollup 속성에 마우스를 가져다 대면 나오는 Configure rollup을 눌러

Relation은 앞서 1번에서 설정한 Project Time Check 데이터베이스와 연결된 Relation으로,

Property는 Number값인 Time으로,

Calculate로는 Time의 합을 체크해줄 예정이므로 Sum으로 설정해준다.

Rollup 설정 진입
Rollup 설정

 

이제 테스트를 위해 프로젝트와 일정 샘플을 제작해주고, 대충 값을 입력해준다.

샘플 생성 후 Relation을 연동하는 것을 잊지 말라.

(Project에서 각 일정을 연동하는 것은 일정의 개수가 늘어나면 복잡해지기 때문에,

보통 일정에서 Project를 연동하는 방식으로 사용한다.)

 

 

위의 사진처럼 이 단계까지 왔다면 Project 데이터베이스의 Rollup 속성에

Project Time Check 데이터베이스에서 해당 프로젝트에 할당된 일정들의 시간의 합이 나타날 것이다.

 


 

3단계) Rollup의 값을 Formula에서 [00시간 00분]의 형태로 바꾸기

Formula 칸을 클릭하면 Formula를 입력할 수 있다.

아래 사진과 같이 입력하면 Rollup의 값이 [00시간 00분]의 형태로 표기된다.

 

 

concat(format(floor(prop("Rollup") / 60)), "시간", " ", format(prop("Rollup") % 60), "분")

 

- concat(text, text, ...) : text끼리 연결해주는 함수

- format(value) : value를 text로 변환해주는 함수
(연산 값이 숫자가 나오기 때문에 이를 text로 바꿔줘서 다른 글자들과 연결 가능하게 한 것)

- floor(number) : 내림 값

- prop("Rollup") / 60 : Rollup 속성의 값을 60으로 나눈 것 중 몫

- prop("Rollup") % 60 : Rollup 속성의 값을 60으로 나눈 것 중 나머지

(만약 Rollup 속성의 이름을 바꿨다면 큰 따옴표(" ") 안의 내용만 바꾼 이름으로 변경해주면 된다.

예를 들어 Time으로 바꿨다면 prop("Time")과 같은 방식이다.)

 

 

이렇게 입력해주면 Formula의 값에 [00시간 00분]의 형태로 뜨는 것을 볼 수 있다.