옵시디언 데이터뷰, Where 사용법 및 예시

이번 글에서는 옵시디언 데이터뷰의 핵심이라고 할 수 있는 WHERE 명령어에 대해 알아본다.

옵시디언 데이터뷰,WHERE의 역할

기본적으로 FROM과 WHERE는 무수히 많은 노트를 필터링 해주는 명령어이다.
그 중에서도 FROM은 주로 노트의 위치나 태그를 특정하는 역할이며,
WHERE는 각각의 노트를 특정 기준에 따라 걸러내 주는 역할이다.

개별 노트를 조건에 따라 필터링하기 때문에 FROM 보다 더 세세한 접근이 가능하다.
WHERE는 엑셀의 IF문과 비슷해서 사용자의 역량에 따라 유용성이 크게 달라진다.
조건 작성에 사용되는 기능들의 학습이 필요할 수 있으며, 사전에 개별 노트의 Properties를 잘 작성해 두어야 쓸 수 있는 기능들도 있다.

본 글에서는 WHERE의 기본적 사용 방법과 간단한 예시들을 소개해 본다.


데이터뷰 WHERE 사용법 및 알아야 할 내용

기본적인 사용법은 아래와 같다.

TABLE
WHERE 조건 작성

WHERE의 뒷 부분에 특정 노트를 구분해 낼 수 있는 조건을 입력하면 된다.

따라서, 얼마나 다양한 조건을 DATAVIEW 문법으로 풀어낼 수 있을 지가 관건이다.


다양한 조건 연결하기

WHERE 또한 FROM과 마찬가지로 다양한 조건을 연결하여 사용할 수 있다.

TABLE 
WHERE 조건1 AND (조건2 OR 조건3) AND NOT (조건4)

위와 같은 형태로 다양한 조건의 조합이 가능하다.


Properties 활용

DATAVIEW에서는 Properties의 적극 활용이 필요하다.
사람에 따라 “메타데이터”, “프론트메타”라고 부르기도 한다. 본 글에서는 옵시디언 기본 설정에 따라 Properties로 명명하도록 하겠다.

옵시디언 Properties 작성 예시
옵시디언 Properties 작성 예시

참고로 Properties는 각 노트의 성격을 규정하기 위해 작성하는 내용으로, 문서 시작 위치에서 “-“를 세 번 입력하면 나타난다.

위에서 연습 삼아 작성한 Properties를 WHERE로 활용해보면 아래와 같다.

TABLE
WHERE 진행 = "진행" and 메모 != "연습", 문서번호 > 200
TABLE
WHERE 진행 = "진행" and 메모 != "연습" and 문서번호 > 200

연산자 활용

위와 같이 WHERE 명령어에서는 연산 부호를 적절히 활용해야 한다.

등호

  • = (같다), != (같지 않다)

부등호

  • > , < , >= , <=

WHERE 활용 예시

예시 1. 이름에 특정 단어가 반복되어 들어가는 경우.

본인이 아래와 같이 파일 제목을 작성하고 있다고 가정해보자.

옵시디언 사용예1
옵시디언 WHERE 사용 예1

그 중 옵시디안을 주제로 하는 노트들이 정리된 페이지를 작성하고 싶다면, DATAVIEW를 다음과 같이 작성 할 수 있다.

LIST
WHERE contains(file.name, "옵시디안")
WHERE file.name != this.file.name
옵시디언 WHERE 사용 예2
옵시디언 WHERE 사용 예2

모음 파일 자체도 WHERE 조건에 해당하기 때문에 이를 제외하기 위해 WHERE file.name != this.file.name을 추가했다.


예시2. 일주일 이내에 작성한 파일만 보고 싶은 경우

최근에 작성한 파일만 보고 싶은 경우에는 아래와 같은 구문을 활용할 수 있다.

LIST
WHERE file.ctime>= date(today) - dur(7 day)

한번 작성한 노트를 지속하여 수정해서 쓰는 경우에는 file.ctime을 file.mtime으로 바꿔서 쓰면 된다.

날짜는 최근이 “큰 값”이므로, 위의 구문을 굳이 해석해보면, “오늘(date(today))로부터 7일 이전(-dur(7 day))보다 작성 시간(file.ctime)이 최근(>=)인 노트를 찾아줘”가 되겠다.

물론 dur()에 들어가는 값은 변경 가능하다. 1 day는 물론, 10 month나 20 hour를 넣어도 잘 작동한다.


결론

Where의 기본적인 사용 방법에 대해 알아보았다. 다음 글에서는 Where의 활용도를 높이기 위한 Implicit Fields에 대해 알아보고, 활용 방안에 대해 고민해 보도록 하자.


관련 다른 글 보기

옵시디언 팁, 외부 폴더 링크 붙여 넣기
옵시디언 데이터뷰, FROM부터 공부해보자
옵시디언 데이터뷰, 직접 작성하고 활용하기 (Dataview Functions, Metadata)
옵시디언 이미지 플러그인, Image converter, 이미지 파일을 사용한다면 필수 플러그인

Leave a Comment