스크랩DB

10강. 노션 DB 수식 속성 이해와 활용

Go online to view this image

노션 DB에서 수식 속성을 꼭 사용해야 할까? 수식은 페이지를 무겁게 만들 수 있지만, 자동 계산 공식으로 데이터베이스 한 줄 안에서 다른 속성값들을 활용해 데이터를 자동으로 계산하고 원하는 형태로 표시할 수 있어 복잡한 데이터 관리 시스템에 필수적입니다.

Go online to view this image

노션 DB의 수식 속성은 데이터베이스 한 줄 안에서 다른 속성값들을 활용하여 데이터를 자동으로 계산하고 원하는 형태로 표시하는 자동 계산 공식이다.

Go online to view this image

노션에서 수식을 사용하면 페이지가 무거워질 수 있다.

따라서 복잡한 시스템이 아니라면 굳이 수식을 사용하지 않아도 노션 사용에 큰 문제가 없다.

가계부, 챌린지 관리 시스템 등 복잡한 데이터 관리에는 수식이 필수적이다.

이는 특정 요소들이 자동으로 계산되도록 해야 하기 때문이다.

비행기 원리를 이해하지 않고 타는 것처럼, 교양 차원에서 이해되는 부분까지만 학습하는 것이 좋다.

Go online to view this image

엑셀은 여러 셀 간의 합계나 곱하기를 계산하지만, 노션 수식은 데이터베이스 한 줄 안에서 다른 속성들 간의 데이터를 자동으로 계산하여 결과를 보여준다.

데이터베이스 한 줄 안에 있는 '시작일', '마감일', '완료율'과 같은 정보들을 원하는 형태로 자동으로 표시하거나 출력하는 것이 수식이다.

수식 결과는 숫자, 글자, 날짜, 체크박스 등 다양한 형태로 표시될 수 있다.

수식은 노션 데이터베이스의 속성 중 하나로, 데이터베이스에서 '+' 버튼을 누르고 아래로 내리면 '전화번호' 다음에 '수식' 속성값이 있다.

이 속성은 한 줄에 있는 다른 속성값들을 불러와 조합하여 원하는 값을 출력하도록 한다.

Go online to view this image

수식 속성을 누르면 수식 창이 뜨고, '수식 편집'을 누르면 여러 요소가 나타난다.

'수식'은 데이터베이스의 속성을 나타내고, '수식 편집'을 누르면 다양한 요소가 분류되어 표시된다.

속성: 현재 데이터베이스에서 수식에 사용할 수 있는 속성값들을 보여준다.

함수:

if

and

or

not

등 다양한 함수가 있다.

함수 이름만 봐서는 어떤 수식인지 이해하기 어려울 수 있다.

기존 프로그래밍이나 엑셀 함수에 익숙한 사람에게는 나을 수 있지만, 그렇지 않은 사람에게는 이해가 어려운 것이 당연하다.

Go online to view this image

노션의 블록과 마찬가지로, 이해가 되는 수식만 잘 사용하면 된다.

이해가 안 되는 수식은 굳이 애써서 활용하려고 하지 않아도 괜찮다.

자동 계산: 매출, 지출 현황을 실시간으로 확인하여 잔액을 자동으로 계산할 때 사용한다.

알림 및 표시: 고객 계약 마감일이 다가올 때 한 달 전 자동으로 알람이 가도록 빨간색으로 표시하는 등 조건부 표시를 구현할 수 있다.

자동 문서 번호 부여: 회의록, 코칭 일지 등 문서 생성 시 날짜와 규칙에 따라 문서 번호를 자동으로 매길 수 있다.

다양한 정보 결합: 총점, 평균, 합계 계산, 여러 정보를 합쳐서 보여줄 때(날짜+제목, 파일 이름 생성), 조건별로 표시를 다르게 할 때 수식을 활용한다.

수식을 사용하기 전에는 데이터베이스에 대한 이해가 필수적이다.

데이터베이스는 페이지들의 묶음이고, 각 페이지의 공통된 특징은 속성으로 정의되며, 각 열에 들어가는 값은 데이터 형태에 따라 다르다는 기본적인 이해가 있어야 한다.

Go online to view this image

노션 DB 수식 속성은 사칙연산, 텍스트 결합, 날짜 계산, 조건부 표시 등 다양한 기능을 통해 데이터를 자동으로 처리하고 원하는 형태로 보여줄 수 있다.

Go online to view this image

고객 판매 데이터베이스에서 교육 상품의 정상가와 할인가를 입력한다.

할인액을 자동으로 계산하여 고객에게 할인율을 설명할 때 편리하게 활용할 수 있다.

데이터베이스에 새로운 속성을 추가하고 수식 유형을 선택한다.

정상가 속성을 선택하고 빼기(-) 기호를 입력한 후 할인가 속성을 선택한다.

수식은

prop("정상가") - prop("할인가")

형태로 작성된다.

'저장'을 누르면 할인액이 자동으로 계산되어 표시된다.

계산된 할인액 뒤에 '원'이라는 단어를 붙이려면 수식 편집 창에서

+ "원"

을 추가한다.

이때 '원'은 숫자가 아닌 문자이므로 큰따옴표("")로 묶어준다.

결과적으로 숫자가 아닌 문자로 인식되어 텍스트 정렬이 달라진다 (숫자는 오른쪽, 문자는 왼쪽).

할인율은

(정상가 - 할인가) / 정상가 * 100

수식을 사용하여 계산할 수 있다.

사칙연산은 합계, 평균 점수 등 기본적인 계산에 가장 쉽게 활용할 수 있는 수식이다.

Go online to view this image

고객 카드 형태로 정보를 관리할 때, 회사명과 직급이 따로 떨어져 있으면 보기가 불편할 수 있다.

이럴 때 수식을 사용하여 여러 텍스트 정보를 한 줄로 깔끔하게 결합하여 표시할 수 있다.

새로운 수식 속성을 추가하고 '수식 편집'을 누른다.

회사명 속성을 선택하고 더하기(+) 기호를 입력한다.

슬래시(/)와 같은 구분자를 넣으려면 큰따옴표("")로 묶어

+ " / "

와 같이 입력한다.

수식은

prop("회사명") + " / " + prop("직급")

형태로 작성된다.

이 수식은 같은 줄에 있는 속성값들을 가지고 작동한다.

Go online to view this image

now()

: 현재 연도, 월, 일, 시간까지 자동으로 표시하고 최신화한다.

today()

: 시간은 제외하고 날짜만 표시한다.

프로젝트 시작일과 종료일이 있을 때, 특정 날짜 정보(연도, 월, 일, 주차)만 따로 추출하여 활용할 수 있다.

year(속성값)

: 날짜 값에서 연도만 표시한다.

month(속성값)

: 날짜 값에서 월만 출력한다.

date(속성값)

: 날짜 값에서 일만 출력한다.

week(속성값)

: 날짜 값에서 1년 중 몇 주 차인지 표시한다.

추출된 날짜 정보 뒤에 '주차'와 같은 텍스트를 붙여 가독성을 높일 수 있다.

dateBetween(날짜1, 날짜2, "단위")

: 두 날짜 사이의 기간을 계산한다.

예시: 마감일까지 남은 일수를 계산할 때

dateBetween(prop("마감일"), now(), "days")

수식을 사용한다.

이 수식은 마감일을 기준으로 현재 시점까지 며칠이 남았는지 숫자 값으로 계산한다.

계산된 숫자 뒤에 '일'이라는 문자열을 붙여

+ "일"

과 같이 표시할 수 있다.

남은 시간을 표시할 때는 단위 인수를

"hours"

로 변경하여

dateBetween(prop("마감일"), now(), "hours")

와 같이 사용한다.

Go online to view this image

round()

ceil()

floor()

함수를 사용하여 숫자 속성 값을 반올림, 올림, 내림 처리할 수 있다.

평균값 계산:

(국어 + 영어 + 수학) / 3

과 같이 사칙연산을 사용하여 평균값을 구한다.

소수점 이하 자릿수 설정: 노션 속성 설정에서 소수점 이하 자릿수를 직접 지정하여 불필요한 소수점을 제거할 수 있다.

반올림 함수 활용:

round(평균값)

과 같이

round

함수를 사용하여 반올림 처리할 수도 있다.

toNumber(속성값)

: 체크박스나 문자열 값을 숫자로 변환하는 수식이다.

체크된 체크박스는 1로, 체크되지 않은 체크박스는 0으로 표시된다.

문자열에서 숫자만 추출할 때도 활용할 수 있다 (예: "120회"에서 120 추출).

날짜는 1970년 1월 1일부터 현재까지의 밀리초로 계산되어 표시되지만, 자주 사용되지는 않는다.

Go online to view this image

수식이 어렵게 느껴진다면 굳이 사용하려고 애쓰지 않아도 된다.

하지만 꼭 필요한 수식이 있다면 노션 AI나 ChatGPT의 도움을 받을 수 있다.

목적, 배경, 상황, 조건을 서술형으로 최대한 자세하게 설명한다.

예시: "마감일까지 남은 시간을 계산하는데 7일 미만일 경우 빨간색으로 표시하는 수식을 만들어줘."

또는 "어떤 값이 입력되면 어떤 값이 출력되도록 해줘"와 같이 설명할 수도 있다.

데이터베이스 표에서 구현하고 싶은 내용을 설명으로 달아 AI에 요청한다.

작성한 프롬프트를 노션 AI나 ChatGPT에 붙여넣어 수식을 생성한다.

생성된 수식이 이해가 안 되면 AI에게 "이 수식을 쉽고 구체적으로 해설해 줘"라고 요청한다.

더 쉽게 이해하고 싶다면 "초등학생도 이해하기 쉽도록 추가적인 예시를 들어 설명해 줘"라고 요청할 수 있다.

AI는 함수 설명, 속성값 지정, 형식 지정자 등을 친절하게 해설해 준다.

AI가 만들어주지 못하는 복잡한 수식은 스스로 연구하고 기획하여 만들어야 할 수도 있다.

하지만 간단하고 1차적인 수식은 AI가 충분히 생성해 주므로 이를 활용하여 학습할 수 있다.

Go online to view this image

챌린지 보드와 같은 시스템을 만들 때는 사전에 기획이 필요하다.

챌린지 운영 방식, 기록 양식, 입력 항목 등 규칙을 명확히 정해야 한다.

챌린지 관리 시스템은 데이터베이스를 기반으로 실천 기록 규칙, 차트, 양식 등을 구성하고, 수식을 활용하여 요일 자동 표시, 달성률 계산, 조건부 체크박스 등 다양한 자동화 기능을 구현한다.

Go online to view this image

챌린지 참가자를 위한 실천 기록 규칙 및 안내 메시지를 포함한다.

데이터베이스를 기반으로 하는 차트를 배치한다.

'요일', '플레이어', '점수 체크표', '점수 합계', '오늘의 달성률', '실천 날짜', '인증샷', '실천 성찰' 등의 항목으로 데이터베이스를 구성한다.

데이터베이스 표를 실천 날짜를 기준으로 그룹화하여 날짜별로 데이터를 볼 수 있도록 설정한다.

Go online to view this image

참가자들이 복잡한 데이터베이스에 직접 입력하는 대신, 간소화된 양식을 통해 쉽게 기록할 수 있도록 한다.

'실천 날짜', '플레이어' (미리 입력된 선택값), '핵심 습관 점수' (2점: 초과 달성, 1점: 실천, 0점: 못함), '성찰 내용', '인증샷' 등으로 구성한다.

참가자는 이 양식에 간단히 체크하고 내용을 입력한 후 제출한다.

양식 제출 시 '요일', '체크박스', '오늘의 달성률', '점수 합계' 등이 자동으로 계산되어 데이터베이스에 입력된다.

이는 참가자의 입력 부담을 줄이고 데이터의 정확성을 높인다.

Go online to view this image

formatDate(prop("실천 날짜"), "ddd")

: '실천 날짜' 속성값을 요일(ddd) 형태로 표시하도록 한다.

이 수식을 통해 입력된 날짜의 요일이 자동으로 표시된다.

AI에게 "실천 날짜 속성에 표시될 날짜의 요일이 표시되도록 수식을 만들어줘"라고 요청하여 수식을 생성할 수 있다.

prop("H1 점수") >= 1

: 'H1 점수' 속성값이 1보다 크거나 같으면 체크박스에 체크(True)하고, 그렇지 않으면 체크하지 않는다(False).

참가자가 점수만 입력하면 실천 정도에 따라 체크박스가 자동으로 표시된다.

prop("점수 합계") / 3

: '점수 합계' 속성값을 3으로 나누어 평균 점수를 계산한다.

이 결과값을 숫자 형식에서 비율로 선택하여 표시하면 달성률(예: 100%, 200%)이 자동으로 나타난다.

Go online to view this image

실천 기록이 추가되면 특정 이메일 주소로 축하 메일이나 점수 안내 메일을 자동으로 보내도록 설정할 수 있다.

입력된 데이터베이스는 차트 형태로 시각화하여 활용할 수 있다.

가로 막대 차트를 선택하고, 데이터베이스를 연결한 후 Y축은 '플레이어', X축은 '점수 합계'나 '평균 점수' 등으로 설정하여 순위나 점수를 비교할 수 있다.

차트를 통해 전체 데이터를 한눈에 조망하고 분석할 수 있다.

하나의 대시보드에는 2~3개 정도의 데이터베이스를 활용하는 것이 좋다.

원본 데이터베이스를 배치하고, 이를 다양한 보기 형태로 불러와 목적에 맞게 배치한다.

이를 통해 현재 진행률, 개인별 성과, 목표 달성률 등을 효율적으로 관리할 수 있다.

기획이 가장 중요하며, 어떤 목적과 용도로 만들지, 어떤 속성값을 넣을지, 어떤 차트로 비교할지 먼저 정리해야 한다.

수식이나 자동화 기능은 맨 나중에 전체 레이아웃과 속성값 구성을 마친 후 추가하는 것이 관리 및 제작에 용이하다.

추천 글