반응형

Notion 에서 Database table 안에 수식을 사용할 때 가장 필요한 기능이 빠졌다. 
숫자 소숫점 맞추기 기능이 없는데 Notion 의 탁월한 기능을 생각할 때 왜 이 설정 기능이 없는지 이해가 안된다. 
어쨋든 소수점 자릿수 맞추는 기능이 없기 때문에 수식을 사용하여 계산값을 열속성에 넣으면 무한자리 소수점을 가진 숫자로 출력된다. 

소수 2째자리, 3째자리 로 결과값을 맞추고 싶은데 방법은 없을까?
사실 참으로 기본적인 설정인데 없는 관계로 약간의 삽질을 해야 한다. 
Notion 수식의 'floor' 함수를 이용하면 된다.

예제를 통해 알아보자.

우선 Notion 페이지에 연습용 데이터테이블을 만든다.

더보기

Tip

Notion 에서 / 명령은 매우 강력하다.
인라인 데이터테이블 을 만들고 싶을때 여러번 클릭할 필요 없이 간단히 입력만 하자. 

영문모드라면 /da 또는 /db 등으로, 한글 모드라면 /데이터 또는 /데 까지만 입력해도 목록이 뜬다. (이미지 참조)

따라서 단축키 처럼  /데 ⏎ 만 입력해도 새 db table 을 만들수 있다.

Notion 에서 전반적으로 / 명령은 이런식으로 유사하게 사용할 수 있다. 
예를들어 글자 배경색을 초록으로 하고 싶다면 text의 맨앞에서 /배 초⏎ 만 입력하면 되는 식이다. 줄임말 처럼 / 뒤에 이런것도 되지 않을까? 싶으면 써보라. 대충 생각하는대로 대부분 단축키가 작동된다. 

생성한 표에 샘플값을 입력한다.

가격, 수량 속성은 숫자로 하고 단가 속성은 수식으로 설정한다. 
이름 열에는 연습용이므로 최대한 간단한 데이터만 넣자. 사과, 배, 딸기.

Notion 소수점 자리수 조절하기

열 속성을 수식으로 설정, 수식편집에서 수식입력한다.

가격, 수량은 임의로 아무수나 넣는다. 나는 아래와 같이 입력해 봤다. 
'단가' 열 속성은 수식으로 입력했다. 단가 = 가격/수량 이므로 수식입력창에서 아래와 같이 수식을 넣으면 된다.

더보기

Tip

수식입력창은 사용이 편하다. 
모든 데이터베이스는 행과 열로 이루어지는데 엑셀의 컬럼과 행 개념과 같다고 생각하면 된다. 
다만 일반 데이터베이스와 달리 ㅋNotion 에서는 열 을 '속성' 이라고 부른다. 페이지 자체가 데이터베이스 개념이어서 그런데 그런것까지 설명하려면 길어지니 기초적인건 안다고 가정하고 설명을 생략한다.

아무튼 수식입력창에서 입력한 수식처럼 prop("가격") / prop("수량") 이라고 입력해도 되는데 굳이 그럴 필요없다. 
인라인 데이터 테이블을 만들어서 열이름(Notion 에서는 '속성') 으로 넣어준 값이 수식입력창에서 보면 속성 목록으로 뜬다. (아래 이미지 참조) 
prop("가격") 과 같은 수식 구문형식을 몰라도 속성 목록에서 # 가격 을 클릭하면 자동으로 수식입력칸에 prop("가격") 이 입력된다.
즉  #가격 클릭 / 입력 #수량 클릭  만 하면 prop("가격") / prop("수량") 이 입력된다.

 

Notion 수식 입력창
수식 구문형식을 몰라도 쉽게 수식을 작성할 수 있다.

수식 입력을 마치면 '단가' 열에 계산값이 출력된다. (아래 이미지 참조)
보는것 처럼 소수점 이하 자릿수가 쭉쭉빵빵하게 나온다. 

원하는 소숫점 자리를 조정하기 위해 수식을 수정한다.

이 예제의 목적은 '단가' 열의 소숫점을 내가 원하는 자릿수로 나타내려는 것이다. 

Notion 에서 수식으로 계산하면 출력값 소수점이 엄청 길게 나온다. 
내가 원하는 대로 소수점 자리수를 정할 수 있는 방법은 없을까?

서두에서 말했듯이 Notion 에는 '단가' 결과값 처럼 출력되는 소수점 이하 긴 자리수를 원하는 대로 조정하는 기능이 없더.
따라서 수식에서 약간의 트릭을 써야 한다.
뭐 복잡한 건 아니니 그대로 따라해 보자. 

'floor' 함수를 사용한다.

Notion 에는 소수점 정리 기능이 없으니 약간의 트릭이 필요하다.

더보기

설명 및 이해

prop("가격") / prop("수량")(prop("가격") / prop("수량")*100 → floor( prop("가격") / prop("수량") * 100 ) → floor( prop("가격") / prop("수량") * 100 ) /100

  1. prop("가격") / prop("수량")*100 : 결과값에 100을 곱했다. 66.66666666667 이 6666.666666667 로 바뀐다.
  2. floor( prop("가격") / prop("수량") * 100 )  : floor 함수를 적용했다. floor 함수는 숫자보다 작거나 같은 가장 큰 정수를 반환합니다. 핵심은 정수로 변환한다는 것. 소수점 이하가 삭제된다는 의미다. 6666.666666667 이 6666 으로 바뀐다.
  3. floor( prop("가격") / prop("수량") * 100 ) /100  : 100을 나눴다. 6666 이 66.66 으로 바뀐다.

설명은 길었으나 간단한거다. 

floor(숫자*100)/100 이라고 기억하자.

소수 3자리로 만들려면? → 곱하기 100, 나누기 100 을 곱하기 1000, 나누기 1000 으로 변경하면 된다.
즉, 원하는 소숫자리에 따라 곱하기, 나누기 값을 바꾸면 된다.

아래 이미지 처럼 소수 2자리로 정리되었다. 

소수 2째자리로 출력되도록 바뀌었다.

이제 Notion 의 DB table 에서 꼴보기 싫은 긴 소숫점 아래 숫자를 달고다닐 필요가 없어졌다!! 

- 지금을 사는 나 -

반응형

+ Recent posts