跳至主要內容

每天都用 TablePro?購買授權即可使用付費功能,並支持下一版本的開發。 購買授權購買授權,支持 TablePro

在 Mac 上用 SQL 查詢 Beancount 帳本

開啟 .beancount,將交易、分錄、餘額和中繼資料作為 SQL 資料表查詢,或向 rledger 傳送 BQL。帳本仍為文字檔,使用自己的編輯器修改。

適用於 Mac首次選擇 Beancount 時下載驅動程式

側邊欄顯示 Beancount 帳本投影出的資料表,並顯示 BQL 查詢結果。

概覽

查詢語言
SQL
驅動程式
首次使用時下載
連線方式
檔案
iPhone 與 iPad
無法開啟

開啟帳本

TablePro 執行 rledger 或 Python Beancount 讀取帳本。需要選擇時請安裝 rledger:兩者並存時優先使用它,只有它能執行 BQL,並將驗證輸出填入 diagnostics 資料表。

在連線表單用 Browse… 選擇檔案。帳本路徑就是整個連線,無主機、連接埠、密碼或資料庫。.beancount 也可從 Finder 開啟,並支援匯入 beancount:///path/to/main.beancount URL。

從 Finder 開啟的 App 不繼承 shell 的 PATH。若後端在 Terminal 可執行但在此不可用,請用 launchctl setenv TABLEPRO_RUSTLEDGER_BINARY 或 TABLEPRO_BEANCOUNT_PYTHON 指定並重新啟動。

Python 後端執行 Beancount 附帶外掛程式,其他 plugin 指令屬於第三方程式碼,在連線中啟用 Run Ledger Plugins 前會跳過。跳過的外掛程式列在 diagnostics。

查詢帳本

資料表涵蓋交易和分錄、帳戶、餘額及餘額斷言、價格和商品、所有其他指令、中繼資料、標籤、連結及來源檔案。分錄透過 transaction_id 聯結交易,帳戶依名稱聯結。

金額已完成記帳、算術、成本和價格解析,分錄成本和行內價格有獨立欄位。交易、分錄及若干指令資料表含 source_location,例如 main.beancount:42,可從紀錄追溯來源檔案行。

查詢前加 BQL: 將其傳送給 rledger 而非資料表。BQL 結果支援瀏覽、列數和分頁,不支援 SQL 參數。

include 支援具體路徑和 glob,所有帳本檔案及參照文件均被監控。在編輯器儲存後,下次查詢無須重新連線即可讀取。連線始終處於 安全模式 Read-Only,拒絕 INSERT、UPDATE、DELETE 和結構修改。

移動資料

資料表或查詢結果可匯出為 CSV、JSON、SQL、XLSX、Markdown、HTML與XML。TablePro 可作為資料庫開啟的其他檔案包括 SQLite、DuckDB 和 Parquet。

iPhone 與 iPad

iPhone 與 iPad App 沒有 Beancount 驅動程式。從 Mac 同步的 Beancount 連線會顯示在清單中,但無法開啟。

限制

  • TablePro 開啟帳本時,將其讀取至 23 張唯讀 SQL 資料表中,不會寫回帳本。
  • 需要在此 Mac 安裝 rledger 或 Python beancount。

關於 Beancount 的問題

有錯誤的帳本還能開啟嗎?

透過 rledger 可以。驗證失敗時仍映射帳本,每個問題作為 diagnostics 中的一列,含檔案、行號、嚴重程度和訊息。

一個連線能開啟多個帳本嗎?

一個連線對應一個帳本檔案,無法切換。主檔案若 include 其他檔案,會全部載入,也支援 glob。

取得 TablePro

Mac App 可免費下載和使用。Starter 或 Team 方案新增選用功能。
下載 Mac 版

需要 macOS 13 Ventura 或更新版本