의리 우체국 모임 소개 
Show more
Sign In
노션 강의

리스트 관련 함수 - current

카테고리
  1. 예제로 익히는 노션
  2. 알아두면 쓸모있는 노션 잡학지식
예제로 익히는 노션 - 노션 강의 - 러기의 책상
저는 종종 트위터(현X) 검색창에 노션을 입력해보고는 합니다. 다른 사람들이 노션을 어떻게 쓰고 있는지 궁금해서요. 트위터에서 노션을 검색했을 때 가장 많이 보이는 글은 자신의 노션을 소개하는 글(프로필, 자작 캐릭터 설명, 판매중인 물품이나 커미션 홍보 등)이고, 그 다음으로 많은 글이 노션을 쓰시는 분이 노션을 권유하는 멘션, 그와 비등비등하게 많은 글이라고 하면 "노션 도대체 어떻게 쓰는 거냐 너무 어렵다"라는 내용이에요. 많은 사람들이 노션을 어렵다고 말합니다. 저는 '노션이 어렵다.'라는 말이 설마하니 정말로 노션의 기능이 어렵다는 얘기일 거라고는 생각을 하지 못했어요. 노션을 어떻게 사용할지 갈피를 못 잡겠다거나, 활용 방법을 모르겠다거나 그런 얘기인줄로 알았죠. 그도 그럴 것이, 노션은 쉽습니다. 쉽다 어렵다라는 말은 다소 주관적이라고 느껴질 수 있는 표현이지만 객관적으로 그러합니다. 엑셀과 비교하면 수식은 간편하고 조작법도 간단해요. 비교적 최근에 나온 웹 문서 프로그램치고는 인터페이스가 여타 다른 문서 프로그램과 다르지 않기 때문에 기능 자체가 어렵지는 않아요. 단축키는 알면 좋지만 몰라도 충분히 사용할 수 있죠. 그렇다면 어째서 사람들이 노션을 그렇게나 어렵다고 느낄까요? 저는 이를 "각각의 기능 사용법을 알아도 어디에서 활용할 수 있는지를 모르기 때문"이라고 생각했습니다. 노션 사용법 기초 강의 영상을 볼 때는 아하~ 하고 이해되는 것 같았던 내용들이 막상 내가 원하는 페이지를 구성하려고 하거나 남들이 만든 템플릿을 사용해보려고 하면 도대체 어떻게 해야할지 감을 못 잡는 것이죠. 그래서 준비해보았습니다. 예제로 익히는 노션 시리즈! ⚠️이 시리즈는 꾸준히 업데이트됩니다. 밑줄이 그어진 글을 누르면 해당 글로 이동합니다. 밑줄이 없는 글은 작성 예정인 글이며, 아래 적힌 내용들은 수정되거나 삭제될 수 있습니다. 글은 순서와 상관 없이 올라옵니다. 목차 데이터베이스 보기 보기 표 리스트 칸반보드 갤러리 캘린더 타임라인 피드 차트 필터 정렬 그룹화 활용 방법 데이터베이스 속성 관계형
slashpage.com
데이터베이스 속성 > 수식 > 리스트 관련 함수 > current

current가 뭐지?

current는 노션에서 수식을 입력할 때 수식 목록에는 나오지 않는 형태의 값입니다. 직관적으로 설명하자면 수식에서 현재 사용하고 있는 값이죠. 보통 리스트(목록)에 있는 값에 특정한 조건을 부여해주기 위해서 사용됩니다.
※ 잠깐! 노션의 속성에서 리스트가 될 수 있는 항목은 대표적으로 관계형 속성과 롤업 속성이 있습니다.
filter라는 함수를 예를 들어보겠습니다. filter는 리스트의 항목에서 부여한 조건이 참인 값을 모두 반환합니다. 간단한 함수를 봅시다. filter([1, 2, 3], current > 1)
위 함수는 "1, 2, 3를 보유하고 있는 리스트에서 1보다 큰 값을 반환한다."라는 의미입니다. 따라서 위 함수는 1보다 큰 숫자인 [2, 3]을 반환하게 됩니다. current는 이처럼 부등호를 사용하여 숫자와 관련된 조건을 부여할 수도 있지만, 그 외에도 텍스트, 날짜, 체크박스 등 다양한 형식의 조건을 부여할 수도 있습니다.
그런데 current는 다른 방식으로도 활용할 수 있습니다. 원래는 함수를 사용할 때 관계형 속성으로 연결된 페이지의 다른 속성값을 불러오려면 속성에서 롤업 속성을 추가한 다음, 그 롤업 속성을 수식에서 선택해주어야 하는데요. 만약 리스트와 관련된 함수를 사용할 때에만 롤업 속성의 값이 필요하다면 속성을 추가하는 대신, current를 사용해도 된답니다. 이건 예제에서 좀 더 자세히 알려드릴게요.

current를 사용할 수 있는 노션 속성 함수

리스트 내의 항목 반환
find(list, condition)
조건이 TRUE를 반환하는 리스트의 첫 번째 요소를 반환합니다.
find(["a", "b", "c"], current == "b") = "b"
filter(list, condition)
조건이 TRUE인 리스트의 값을 반환합니다.
filter([1, 2, 3], current > 1) = [2, 3]
숫자 반환
findIndex(list, condition)
조건이 TRUE로 평가되는 리스트에서 첫 번째 항목의 인덱스를 반환합니다.
findIndex(["a", "b", "c"], current == "b") = 1
count(list, condition)
조건이 TRUE인 목록의 요소 수를 반환합니다.
조건이 제공되지 않으면, 총 요소 수(길이()와 동일)를 반환합니다.
할일목록(체크박스) 반환
some
every
리스트를 리스트로 반환map(list, expression)
map(list, expression)
입력 리스트의 모든 항목에 대해 표현식을 호출한 결과로 채워진 리스트로 반환합니다.
map([1, 2, 3], current + 1) = [2, 3, 4]

예제로 알아보기

이 페이지는 제가 노션에서 읽은 책과 영화를 기록하는 곳입니다.(당신의 책갈피 템플릿) 상단에는 좋아하는 문장(대사), 하단에는 감상한 작품의 수를 기록해주는 위젯형 보기와 위시리스트와 감상한 작품을 기록하는 보기 등이 있습니다. 상반기에는 영상물을 위주로 보느라 책을 한 권밖에 읽지 않았다는 사실이 매우 충격적입니다. 분발해야겠습니다.
암튼, 여기서 중요한 건 그게 아니죠. 원래는 없다가 추가된 항목이 있는데, 바로 오늘의 책 추천 위젯입니다. 데이터베이스를 갤러리 보기로, 썸네일 없이 제목과 버튼만 사용하여 오늘 읽을 컨텐츠를 추천받기 위해 만들어보았습니다. 작동 방식은, 먼저 관계형 속성에 읽을거리 목록을 추가 > 버튼을 누르면 추가된 목록에서 날짜에 따라 랜덤한 책을 추천 > 버튼을 다시 누르면 다른 책을 추천해주는 형태인데요. (자세한 수식이나 만드는 방법 등은 살짝 복잡해서 나중에 <버튼> 강의에서 다뤄보도록 하겠습니다.)
추천될 책 목록은 읽기 전, 읽는 중, 다시 읽을 책, 제일 좋아하는 책에 해당하는 태그로 필터를 걸어두었습니다.
관계형 속성에 추가된 책은 총 11권입니다. 저는 이 중에서 읽는 중이거나 완독한 책은 제외한 목록을 별도로 표시해두고 싶습니다.
속성 추가 버튼을 클릭한 다음, 수식 속성을 선택합니다.
그 다음 속성의 이름을 읽기 전이라고 써주고, 아이콘도 바꿔주었습니다. 이제 유형 아래에 있는 수식 편집 버튼을 선택합니다.
이제 사용자의 수식 칸에 커서를 놓고 수식을 입력합니다.
관계형 속성에 추가된 목록에서 우리는 필터를 사용하여 완독 태그 또는 읽는 중 태그가 선택된 도서가 아닌 책만 골라주어야 합니다. 따라서 filter 함수를 사용해야합니다.
filter(list, condition)
필터에서 불러올 리스트는 관계형 속성인 책 바구니입니다.
filter(prop("책 바구니"), condition)
"완독" 또는 "읽는 중" 태그를 포함하는~이라는 값을 불러오려면 includes 함수를 사용해야합니다. 그런데 우리는 포함하지 않는 값을 불러와야하죠. 그러니 not includes라고 입력해줍니다.
그런데 여기서 문제가 발생합니다. includes 함수는 현재 filter 함수 안에 들어간 함수라서 current를 입력하면 아래 함수 목록에서 current가 뜨지 않습니다. 엔터를 눌러도 마찬가지입니다.(원래 정상적으로 함수를 입력하면 아래에 뜨는 함수 목록에서 선택할 수 있으므로 엔터를 치면 자동으로 해당 함수가 선택됩니다.)
이럴 때 해결 방법은 간단합니다. 온점"."을 입력하면 정상적으로 current 값을 불러옵니다. 그러면 왼쪽과 같이 책 바구니의 원본 데이터베이스인 책 데이터베이스의 속성을 선택할 수 있게 됩니다. 우리는 태그를 불러와야하므로 태그 속성을 선택해줍니다.
filter(prop("책바구니"),
not includes(current.prop("태그"),
search)
태그에서 검색해줄 단어인 "완독"을 입력한 다음 괄호를 닫아줍니다. 우리는 두 개의 필터를 사용할 것이므로 and 함수를 사용해야합니다. and를 입력한 다음 엔터를 치지 말고 앞에 있던 not includes 함수를 복사한 뒤 붙여넣습니다. 그리고 "완독" 대신에 "읽는 중"을 입력해줍니다.
완성된 수식입니다.
filter(prop("책 바구니"),not includes(current.prop("태그"),"완독")and not includes(current.prop("태그"),"읽는 중"))
해당 수식으로 불러온 값이 속성에서 어떻게 보여지는지 확인해보겠습니다.
완독과 읽는 중인 도서를 제외한 7권의 책이 수식에 나타나는 것을 확인할 수 있습니다.
만약 수식을 고치다가 아래와 같이 current로 불러온 속성이 해제되면 current 뒤에 있는 온점을 지웠다가 다시 입력하면 정상적으로 속성을 불러옵니다.
주의할 점은, current로 불러오는 속성 중 파일과 미디어는 표시되지 않는다는 것입니다. 따라서, 만약 파일과 미디어에 넣은 썸네일을 불러오려면 롤업속성을 추가하여 파일과 미디어 속성을 선택해야 합니다.
current까지 쓸 정도라면 아마 다른 수식들 사용도 어렵지 않을 거예요. 궁금한 점이 있다면 댓글 남겨주세요!
Subscribe to '러기의 책상'
Subscribe to my site to be the first to receive notifications and emails about the latest updates, including new posts.
Join Slashpage and subscribe to '러기의 책상'!
Subscribe
👍