728x90
🔧 고급 쿼리 기법
기본 쿼리를 이해했다면, 이제 더 강력한 고급 기법을 알아보겠습니다.
1️⃣ 필터링과 정렬
WHERE 구문을 사용하여 특정 조건에 맞는 데이터만 필터링할 수 있습니다:
markdown
```dataview
table rating, author, genre
from "books"
where rating >= 8 and genre = "소설"
sort rating desc
### 2️⃣ 그룹화
GROUP BY를 사용하여 데이터를 그룹화할 수 있습니다:
```markdown
```dataview
table rows.file.link as "책", length(rows) as "수량"
from "books"
group by author
sort length(rows) desc
### 3️⃣ 계산 필드
계산된 새로운 필드를 생성할 수 있습니다:
```markdown
```dataview
table rating, (time-finished - time-started).days as "읽는데 걸린 일수"
from "books"
where time-finished
### 4️⃣ 인라인 쿼리
마크다운 텍스트 안에 직접 간단한 Dataview 표현식을 삽입할 수 있습니다:
```markdown
오늘(`= date(today)`)은 내 노트 시스템에 총 `= length(this.file.outlinks)` 개의 링크가 있습니다.
💻 JavaScript로 확장하기
더 복잡한 쿼리나 맞춤형 시각화가 필요하다면 DataviewJS를 활용할 수 있습니다.
기본 DataviewJS 활용
2021년에 읽은 책을 장르별로 그룹화하고 평점순으로 정렬하는 예:
javascript
```dataviewjs
for (let group of dv.pages("#book").where(p => p["time-read"].year == 2021).groupBy(p => p.genre)) {
dv.header(3, group.key);
dv.table(["제목", "읽은 날짜", "평점"],
group.rows
.sort(k => k.rating, 'desc')
.map(k => [k.file.link, k["time-read"], k.rating]))
}
이 코드는 다음과 같은 결과를 생성합니다:
### 소설
| 제목 | 읽은 날짜 | 평점 |
|------|-----------|------|
| 책 A | 2021-05-15 | 9 |
| 책 B | 2021-06-20 | 8 |
### 과학
| 제목 | 읽은 날짜 | 평점 |
|------|-----------|------|
| 책 C | 2021-02-10 | 9 |
| 책 D | 2021-03-05 | 7 |
### 인라인 DataviewJS
인라인 JavaScript 표현식도 지원됩니다:
```markdown

728x90
'지식 공유 > IT, 인공지능 정보' 카테고리의 다른 글
Adobe Acrobat Pro로 웹페이지를 PDF로 변환하는 방법 (0) | 2025.05.12 |
---|---|
옵시디언 Dataview 플러그인으로 노트를 데이터베이스처럼 활용하기 4탄 (0) | 2025.05.10 |
옵시디언 Dataview 플러그인으로 노트를 데이터베이스처럼 활용하기 2탄 (0) | 2025.05.10 |
옵시디언 Dataview 플러그인으로 노트를 데이터베이스처럼 활용하기 1탄 (0) | 2025.05.10 |
티스토리 서식 활용해 프로페셔널한 블로그 포스팅 만들기 (0) | 2025.05.10 |