Query All The Things (QATT) 除了能用obsidian_markdown_notes、dataview_pages等資料表當做資料來源之外,也能指定儲存庫裡的其他檔案(CSV、Markdown或JSON格式)來當做資料來源,如此就能用SQL來對這些外部檔案做查詢,並透過Handlebars模板來輸出內容了。
操作步驟如下。
1. 建立資料表
我們必須把要操作的檔案在設定裡指定好,在Obsidian與QATT啟動時,會依檔案內第一行建立內部資料表。
下圖指定了兩個CSV格式的檔案,030_Inbox/visit_places.md 副檔名雖然是.md,但其內容是CSV格式。副檔名.md時就能使用Obsidian直接開啟與編輯。資料是即時呈現的,當你在外部新增資料後,Obsidian會立即顯示變動。
外部檔也能使用網址的形式,格式是:「WEB|資料表名稱|傳回資料的網址」,例如:WEB|test_posts|https://jsonplaceholder.typicode.com/posts
2. QATT範例1
2.1. visit_places.md
第一行是欄位,注意:欄位逗點後不能有空白。
country,visit_date,visit_days
Japan日本, 2022-12-28, 10
USA, 2020-12-30, 14
Singapore, 2017-05-05, 7
Korea, 2018-01-02, 10
2.2. 查詢與輸出
query: |
select country, visit_date, visit_days
from visit_places
order by visit_date
template: |
| Country | Visit Date | Visit Days |
|--|--|--:|
{{#each result}}
| {{country}} | {{visit_date}} | {{visit_days}} |
{{/each}}
- 輸出依visit_date排序
[!TIP]+ 技巧
如果QATT顯示Table does not exist:錯誤時,進入QATT的程式碼區塊後再離開,應該就會重新渲染了
3. QATT範例2
透過網頁內容的設定格式是:WEB|test_posts|https://jsonplaceholder.typicode.com/posts,傳回的內容是:
query: |
select top 30 *
from test_posts
template: |
{{#each result}}
- {{id}},{{title}}
{{/each}}
4. 相關鏈接
- GitHub: sytone/obsidian-queryallthethings: Query all your data stored in Obsidian, this plugin allows SQL based queries against the data collections available in Obsidian and Dataview. Output can then be rendered by Handlebars
- 官方說明文件: Query All The Things | Obsidian - Query All The Things
- SQL引擎 GitHub: Home · AlaSQL/alasql Wiki
- 輸出模板Hndlebars說明: Introduction | Handlebars
5. 教學影片
##
您可能也會有興趣的類似文章
- Obs135|解鎖簡易Dataview查詢:驚人的SQL技巧,使用Query All The Things(QATT)外掛 (0則留言, 2023/08/19)
- Obs124|跳,跳,跳乎伊勇!Obsidian用書籤和標籤快速在檔案間跳轉 (1則留言, 2023/04/23)
- Obs#117 | Obsidian表格攻略與表格就地編輯外掛:Table Enhancer (0則留言, 2023/03/19)
- Obs126|Obsidian 2023/04 7個新外掛介紹與評析 (0則留言, 2023/04/29)
- [Obs#107] Obsidian全方位搜尋:OmniSearch外掛 (0則留言, 2022/11/20)
- [Obs#111] 幾個最近使用的外掛:Surfing、Quiet Outline、Colorful Tag、Share as Gist、Commander (0則留言, 2023/01/23)
- Obsidian 1.0新手教學—打造個人知識管理利器,專屬的第二大腦 (2022年) (4則留言, 2022/10/22)
- [Obs#105] Obsidian外掛 Local REST API 提供外部整合服務 (0則留言, 2022/11/06)
- Obs#120 | Chronology:筆記年表📆一覽無遺 (0則留言, 2023/03/26)
- Obs132|標籤使用彙總與TagFolder:多重+階層式標籤資料夾,更妥善使用#標籤的技巧 (0則留言, 2023/06/24)
- [Obs#88] 綜合練習:快速設定的6種方法─使用8個Obsidian外掛 (0則留言, 2022/05/21)
- [Obs#35] Buttons外掛開啟筆記自動化操作契機 (0則留言, 2021/04/23)
- Obs#118 | Obsidian超棒的圖形處理 Awesome Image (4則留言, 2023/03/22)
- [Obs#49] 快速準確的擷取網頁生成Markdown備忘:Obsidian Clipper瀏覽器擴充 (8則留言, 2021/09/05)
- Obs#119 | 喜新厭舊沒什麼不好-總是開啟在新分頁:Open in New Tab (0則留言, 2023/03/26)