Dataview w Obsidianie: praktyczny poradnik z zapytaniami do skopiowania
Dataview to wtyczka społeczności, która pozwala odpytywać vault Obsidiana jak bazę danych. Dalej piszesz zwykłe notatki, dodajesz na górze kilka właściwości, a Dataview buduje z nich żywe listy i tabele: każdy projekt z terminem w tym miesiącu, każdą książkę, którą czytasz, każdego klienta, do którego nie dzwoniłeś od dwóch miesięcy. Nic nie jest kopiowane ani eksportowane, więc tabele zmieniają się, gdy tylko zmieni się notatka. Ten poradnik obejmuje zapytania, których naprawdę będziesz używać, z przykładami z pulpitów naszych vaultów.
Co robi wtyczka Dataview w Obsidianie
Dataview czyta z notatek trzy rodzaje danych. Właściwości to blok YAML na początku notatki, między dwiema liniami z trzema myślnikami. Pola w linii zapisujesz w treści jako klucz:: wartość albo w nawiasach kwadratowych w linii zadania. Pola niejawne Obsidian już zna, na przykład file.name, file.ctime, file.tags i file.link. Zapytanie to blok kodu z językiem dataview, który w widoku czytania wyświetla się jako lista, tabela, lista zadań albo kalendarz. Notatka z właściwościami wygląda tak:
---
status: aktywny
due: 2026-11-27
owner: Lina
---
# Nowa strona wwwKlucze (status, due, owner) zostają po angielsku i bez polskich znaków, nawet gdy wartości są po polsku. Dataview przyjmie polskie klucze, ale klucz z ogonkiem, taki jak właściciel, trzeba w każdym zapytaniu wpisać dokładnie tak samo, a szablony z innych źródeł prawie zawsze używają angielskich kluczy. Tak robią wszystkie nasze vaulty.
Zainstaluj Dataview i napisz pierwsze zapytanie
Otwórz Ustawienia, Wtyczki społeczności, wyłącz tryb ograniczony, jeśli wciąż jest włączony, wybierz Przeglądaj i wyszukaj Dataview. Zainstaluj, włącz i gotowe: przed pierwszym zapytaniem nie trzeba nic ustawiać. Utwórz notatkę, dodaj blok kodu z językiem dataview i zacznij od najprostszego zapytania, listy wszystkich notatek w folderze:
```dataview
LIST
FROM "Projekty"
```W widoku czytania blok zamienia się w listę linków. Zmień LIST na TABLE, wymień właściwości, które chcesz mieć jako kolumny, i masz tabelę projektów:
```dataview
TABLE status, due, owner
FROM "Projekty"
WHERE status = "aktywny"
SORT due ASC
```Składnia zapytań Dataview: FROM, WHERE, SORT i GROUP BY
Każde zapytanie zaczyna się od typu, LIST, TABLE, TASK albo CALENDAR, po którym idą opcjonalne polecenia wykonywane po kolei. FROM wybiera źródło: folder w cudzysłowie, tag taki jak #ksiazka albo [[]] dla notatek linkujących do bieżącej. Źródła łączysz przez AND, OR i minus z przodu, żeby coś wykluczyć. WHERE zostawia tylko pasujące wiersze, na przykład WHERE status = "aktywny" albo WHERE due <= date(today). SORT sortuje po jednym lub kilku polach, rosnąco albo malejąco, a LIMIT ogranicza liczbę wierszy. Słowa zapytania zostają po angielsku, nawet jeśli foldery i wartości są po polsku.
GROUP BY sprawia, że tabele stają się naprawdę przydatne. Zbiera wiersze o tej samej wartości w jeden wiersz na grupę, a oryginalne notatki trafiają do listy o nazwie rows, którą policzysz przez length(rows) albo zsumujesz przez sum(rows.value). Sama wartość grupy nazywa się key. To zapytanie liczy projekty według statusu:
```dataview
TABLE rows.file.link AS "Notes", length(rows) AS "Count"
FROM "Projekty"
GROUP BY status
```Dwa szczegóły mylą prawie wszystkich. Nazwa właściwości z myślnikiem zostałaby odczytana jako odejmowanie, więc trzeba ją zapisać jako row["date-started"], tak jak robi to nasz vault notatek z książek przy datach czytania. A WITHOUT ID po TABLE ukrywa automatyczną pierwszą kolumnę z nazwami plików, gdy chcesz sam wybrać pierwszą kolumnę.
Zadania z Dataview w Obsidianie: pola wyboru z całego vaulta
Zapytanie TASK zwraca same pola wyboru, a nie notatki, i możesz je odhaczać bezpośrednio w wynikach. Dataview czyta termin zapisany jako pole w linii zadania, a rozumie też datę 📅 z wtyczki Tasks:
- [ ] Wysłać poprawioną ofertę [due:: 2026-10-28]```dataview
TASK
FROM "Projekty"
WHERE !completed AND due AND due <= date(today)
GROUP BY file.link
```Jeśli zadania są sercem twojego systemu, wtyczka Tasks ma bogatszą składnię i powtarzanie, a nasz poradnik o zadaniach w Obsidianie porównuje obie. Dataview jest lepszym wyborem, gdy zadania są tylko częścią pulpitu, który pokazuje też notatki i właściwości.
Przykłady tabel Dataview z naszych vaultów
Każde zapytanie z tej części działa w vaulcie, który możesz pobrać: otwórz go i zobacz wynik na prawdziwych danych. Vault do zarządzania projektami pokazuje aktywne projekty według terminu. Vault kampanii D&D na ekranie mistrza gry grupuje wszystkich BN według miejsca przez GROUP BY location. Vault notatek z książek pokazuje, co czytasz i co skończyłeś, z oceną. Vault dla studentów wypisuje zadania od dziś przez WHERE due AND due >= date(today). Najdalej idzie nasz szablon CRM do Obsidiana: przypomnienia na ten tydzień, wartość lejka według etapu i kontakty, z którymi nie rozmawiałeś od 60 dni, przez date(today) - last_contact > dur(60 days).
Dataview czy Bases w Obsidianie
Bases to wtyczka główna, która trafiła do Obsidiana w 2025 roku. Ona też zamienia właściwości w tabele, ale widok budujesz klikając zamiast pisać zapytanie, a wartości poprawiasz bezpośrednio w tabeli. Baza zapisuje się w pliku .base, którego definicja to czytelny YAML:
filters:
and:
- file.inFolder("Projekty")
views:
- type: table
name: All
groupBy:
property: status
direction: ASCWybierz Bases, gdy chcesz edytowalnego widoku notatek i ich właściwości w stylu arkusza, bez instalowania czegokolwiek. Zostań przy Dataview przy tym, czego Bases nie potrafi: zapytania w środku notatki, zapytania o zadania, linki między notatkami jako źródło, obliczenia na datach w rodzaju "nieruszane od 60 dni" i zapytania w JavaScripcie przez DataviewJS. Wiele vaultów używa obu, a vault CRM ma lejek w Bases obok pulpitu w Dataview, żebyś mógł porównać je na tych samych danych.
Dlaczego zapytanie Dataview nie pokazuje wyników
Większość pustych tabel ma jedną z czterech przyczyn, a dwie z nich są bardzo polskie. Pierwsza to data. due: 28.10.2026 Dataview zapisuje jako tekst, więc porównanie z date(today) nigdy nie pasuje. Zawsze pisz RRRR-MM-DD. Druga to ułamki. kwota: 1 500,50, ze spacją tysięcy i przecinkiem, to dla Dataview też tekst, a sum() go pomija. Kwoty wpisuj jako 1500.50 albo bez groszy. Pozostałe dwie są uniwersalne: folder w FROM nie zgadza się z prawdziwą ścieżką, która rozróżnia wielkość liter i przy podfolderach musi być pełna, albo nadal jesteś w widoku edycji, gdzie zapytanie wygląda jak kod. Jeśli chcesz, żeby tabele pokazywały daty jako 28.10.2026, wpisz w ustawieniach Dataview w formacie daty dd.MM.yyyy. To pole używa kodów Luxona, z małym yyyy, a nie tych z szablonów Obsidiana.