commit da36d33e4524cdbd49e5f9a6de42ed5e885bc229 Author: falsycat Date: Thu Mar 20 01:26:06 2025 +0000 Add Home diff --git a/Home.md b/Home.md new file mode 100644 index 0000000..74b09ed --- /dev/null +++ b/Home.md @@ -0,0 +1,130 @@ +# Home + +集計スクリプト例↓ + +``` +#!/bin/bash + +YEAR_START="2025-01-01" +MONTH_START="2025-02-01" + +function bsheet() { + cat <= '$2' AND entry.type='$1' + GROUP BY entry.type, entry.name; +EOS +} +function pl_trans() { + cat <= '$2' AND tx.date >= '$YEAR_START' AND entry.type='$1' + GROUP BY period; +EOS +} + +touch ./db.sqlite +python -m bookeeper ./db.sqlite \ + --read tx.txt \ +\ + --output dst/bsheet-asset.txt \ + --sql "$(bsheet A)" \ +\ + --output dst/bsheet-debt.txt \ + --sql "$(bsheet D)" \ +\ + --output dst/bsheet-net.txt \ + --sql "$(bsheet N)" \ +\ + --output dst/bsheet-trans.txt \ + --sql "$(bsheet_trans)" \ +\ + --output dst/pl-expense-1m.txt \ + --sql "$(pl E $MONTH_START)" \ +\ + --output dst/pl-expense-1y.txt \ + --sql "$(pl E $YEAR_START)" \ +\ + --output dst/pl-revenue-1m.txt \ + --sql "$(pl R $MONTH_START)" \ +\ + --output dst/pl-revenue-1y.txt \ + --sql "$(pl R $YEAR_START)" \ +\ + --output dst/pl-trans-expense-1m.txt \ + --sql "$(pl_trans E '%Y-%m')" \ +\ + --output dst/pl-trans-expense-1d.txt \ + --sql "$(pl_trans E '%Y-%m-%d')" \ +\ + --output dst/pl-trans-revenue-1m.txt \ + --sql "$(pl_trans R '%Y-%m')" \ +\ + --output dst/pl-trans-revenue-1d.txt \ + --sql "$(pl_trans R '%Y-%m-%d')" + +function categorize() { + cat - | awk -F, '{split($1, terms, "/"); a[terms[1]]+=$2} END {for (y in a) printf "%s,%d\n", y, a[y]}' +} +categorize < dst/pl-expense-1m.txt > dst/pl-expense-1m-categorized.txt +categorize < dst/pl-expense-1y.txt > dst/pl-expense-1y-categorized.txt + +sed -i '1s|^|name, volume\n|' dst/bsheet-asset.txt +sed -i '1s|^|name, volume\n|' dst/bsheet-debt.txt +sed -i '1s|^|name, volume\n|' dst/bsheet-net.txt +sed -i '1s|^|date, volume\n|' dst/bsheet-trans.txt +sed -i '1s|^|name, volume\n|' dst/pl-expense-1m.txt +sed -i '1s|^|name, volume\n|' dst/pl-expense-1m-categorized.txt +sed -i '1s|^|name, volume\n|' dst/pl-revenue-1m.txt +sed -i '1s|^|name, volume\n|' dst/pl-expense-1y.txt +sed -i '1s|^|name, volume\n|' dst/pl-expense-1y-categorized.txt +sed -i '1s|^|name, volume\n|' dst/pl-revenue-1y.txt +sed -i '1s|^|date, volume\n|' dst/pl-trans-expense-1m.txt +sed -i '1s|^|date, volume\n|' dst/pl-trans-revenue-1m.txt +sed -i '1s|^|date, volume\n|' dst/pl-trans-expense-1d.txt +sed -i '1s|^|date, volume\n|' dst/pl-trans-revenue-1d.txt +``` \ No newline at end of file