본문 바로가기
Notion

[노션] 데이터베이스 수식(formula) 속성 활용

by 까망 하르방 2021. 12. 30.
반응형

노션의 데이터베이스에서는 수식(formula) 속성을 활용해서

엑셀과 유사한 기능 보여준다.

엑셀만큼 복잡하면서 다양한 산출은 못하더라도

용도나 접근성 측면에서는 노션의 유연함이 더 좋은 것 같기도 하다. 🤔


if(조건, 참, 거짓)

"수식"을 작성하고 오른쪽의 [완료] 버튼을 누르면 된다.

true / false 라서 체크박스 형태로 결과가 나왔는데,

별도의 텍스트 메시지를 출력하고자 한다면 아래 형태로 작성하면 된다.

if(prop("연차") < prop("경력"), "O", " ")

 

결과 예시

해당 되면 "O" 표시를 하고, 그렇지 않으면 공백으로 표시하였다.

그 밖에 사칙연산과 같은 기본적인 연산과 논리 산축이 가능하다.

 

 

연산

• add(A, B); 두 열을 더한다. (A + B 형태 가능, text 이면 두 문자열을 이어준다.)

• subtract(A, B); 두 열을 빼준다. (A - B 형태 가능)

• multiply(A, B); 두 열을 곱한다. (A * B 형태 가능)

• divide(A, B); 두 열을 나눈다. (A / B 형태 가능)

• pow(A, B); A를 B 횟수 만큼 곱한 결과 (A ^ B 형태로 사용 가능)

• mod(A, B); A값을 B로 나눈 나머지 (A % B 형태 가능)

 

• unaryMinus(X); 결과에 -를 붙이는 함수 (-A 형태로 사용 가능)

• unaryPlus(boolean); true/false 값을 1/0으로 표현

 

• abs(number); 절댓값

• ceil(number); 올림 값

• floor(number); 내림 값

• round(number); 반올림 값

 

• max(v1, v2, ...); 가장 큰 값

• min(v1, v2, ...); 가장 작은 값

• sign(number); 양수일 때 1, 음수일 때 -1, 0일 때 0

 

 

논리

• not(boolean); 논리값을 반대로 출력 true ↔ false

• and(boolean, boolean); 두 개의 인수 값이 모두 true 이며 true 하나라도 false이면 false

• or(boolean, boolean); 두 개의 인수 값이 하나라도 true 이며 true 모두 false이면 false

 

• equal(A, B); 두 값이 서로 같을 때 true (A == B 형태도 가능)

• unequal(A, B); 두 값이 서로 다를 때 true (A != B 형태도 가능)

* 그 밖에 비교 함수로 >, ≥, ≤, < 가능 (larger, largerEq, smallerEq, smaller)

 

 

문자열

• length(text); 텍스트 길이

• slice(text, num); text의 num 위치부터 마지막 문자까지 가져온다.

• slice(text, num1, num2); text의 num1 에서 num2 위치 앞까지 문자를 가져온다.

• format(value); 텍스트로 변환

• toNumber(value); 인수를 숫자로 변환

 

• contains(text1, text2); text2가 text1에 포함되면 true, 포함되지 않으면 false

• replace(text1, text2, text3); text1에서 처음 나오는 text2를 찾아 text3로 교체

• replaceAll(text1, text2, text3); text1에서 text2를 모두 찾아 text3로 교체

 

• empty(value); 지정한 열에서 빈 행을 찾아 결과 출력

• test(target, text); target열에서 text를 찾아 있으면 true 없으면 false

 

• concat(text...); 쉼표(,)로 구분되어 입력한 텍스트 인수를 합친다.

• join(text...); 맨 앞에 있는 인수를 나머지 인수 사이에 합친다.

join("+", 까", "망", "하", "르", "방") vs concat("까", "+", "망", "+", "하", "+", "르", "+", "방")

연결할 인수가 여러개로 사이사이에 동일한 텍스트를 입력하고자 한다면

concat 보다는 join이 편하다.

 

 

날씨•시간

• start(date); 기간의 시작 날짜

• end(date); 기간의 종료 날짜

• now(); 현재 날짜와 시간

• timestamp(date); 날짜를 밀리초로 환산하여 출력

• fromTimestamp(number); 숫자를 날짜로 환산하여 출력

• formatDate(date, text); text 인수에서 지정한 형식의 날짜

Y(년), M(월), D(일), H(시), m(분), s(초), A(12시간제 여부)

ex) formatDate(now(), "HH:mm A") → 13:00 PM

 

• dateBetween(d1, d2, unit); 날짜와 날짜 사이의 unit 단위의 기간 차이

• dataAdd(date, number, unit); date에서 number 기간만큼 더한 날짜

• dateSubtract(date, number, unit); date에서 number 기간만큼 뺀 날짜

unit 은 연산되는 기간 단위로 years(년), quarters(분기), months(월)

weeks(주), days(일), minutes(분), seconds(초), milliseconds(밀리초)

ex) dateAdd(pop("기간"), 3, "year") → 1년 후의 날짜

 

• minute(date); 지정 날짜의  「분」

• hour(date)지정 날짜의  「시」

• day(date)지정 날짜의  「요일」

    ex) 일요일(0), 월요일(1), 화요일(2), 

• date(date)지정 날짜의  「일」

• month(date)지정 날짜의  「월」

    ex) 1월(0), 2월(1), 3월(2), 4월(3), 

• year(date)지정 날짜의  「연도」

반응형

댓글