[HOME] [テク’ノート HOME]

HP200LXと家計簿

  2006年8月19日
  2006年9月18日
  2007年1月22日 (家計簿_集計.MDBが2006年用のため、家計簿_集計_2007.MDBを追加した。)
  2008年2月03日 (家計簿_集計_2008.MDBを追加した。)
  2009年1月15日 (家計簿_集計_2009.MDBを追加した。)
  2010年8月26日 (家計簿_集計_2010.MDBを追加した。)
  2011年4月22日 (家計簿_集計_2011.MDBを追加した。)
  2011年4月23日 (5.月別の収入、支出をみるスクリプト を追加した。)
  2011年4月24日 (QDFNEW のAWK版、Perl版を追加した。)
  2011年5月 1日 (5.2 気になる項目の月別集計をみるスクリプト を追加した。)
  2011年7月 2日 「5.2 気になる項目の月別集計をみるスクリプト」に新バージョンを追加した。
  2012年2月 9日(家計簿_集計_2012.MDBを追加した。)
  2013年2月22日(家計簿_集計_2013.MDBを追加した。 kakeibo_MDB_2013.zip)
  2013年6月13日 表の項番2のところに QDFNEWR2.ZIP を追加した。
  2014年2月13日(家計簿_集計_2014.MDBを追加した。 kakeibo_MDB_2014.zip)


1.始めに
 これは、2006年5月9日にかいた「HP200LXと家計簿」の続編です。当時書いた内容というか、処理ファイルが古くなってきたこともあり、こちらに追記しました。

 発端とここまでの内容詳細は、2006年5月9日「HP200LXと家計簿を参照下さい。
処理方法や処理ファイルは、分かれていると読みにくいので、5月9日の記事をコピーして、最新版に訂正しました。 (2006年9月18日)


2.変更があった内容
 大きく分けると下記の通りです。

(1)Pocket QuickenのエクスポートデータをMS-EXCELの入力データに変換する処理で、お金の口座間移動の項目は削除するようにしました。これをやらないと、収入・支出が大きくなってしまいます。(残高は変わらないけど)
  今までは、MS-EXCELに読み込んだ後カテゴリでソートして、[ ] で囲まれたカテゴリを持つ項目の行を削除していました。
この注意書きは、5月9日の方にも追記しました。

(2)同上処理パスを1パスにした。(SEDファイルを一つにした。)
  これは、単なる趣味です(笑)。

(3)せっかくなので、HP200LXのLOTUS 1-2-3に読ませるデータへの変換処理を作りました。

処理手順は5月9日から下にコピーして、訂正しました。

(4)EXCEL入力用CSVファイルを使って、月別の収入、支出合計をみるためのAWKやPerlのスクリプトを5.に追加しました。

3.説明と処理手順

 先日も書いたのですがHP200LXのPocket Quickenは良くできたソフトで、収入支出を入れておき、レポートを作成するのは得意です。しかし、カテゴリ(使い道)別に、かつ月別に検討するのはどうやるのかよく分かりません。(レポートを月別に出力してもいいのですが、表にして眺めることができないみたい。)そこで、エクスポート機能を使って出力したデータをMS-EXCELやMS-ACCESSで利用することを考えました。
 処理の流れは以下の通りです。

 (1)Pocket Quickenのファイルメニューで、データをエクスポートする。なお、出力指定画面のLISTS
    のところで、CategoryとAccountのチェックマークをはずして出力する。
   口座毎に、必要な口座分出力するのですが、概ねクレジットカード、自動引き落としのある
   銀行口座、Wallet(財布)位です。

 (2)エクスポートした各口座のデータを1ファイルに纏める。
   (エディタを使ったり、TYPEコマンドによる)

 (3)SEDで処理して、エクスポートフォーマットを1行/1件のCSV形式に変換する。

 (4)変換したデータをMS-EXCELで開き、コピー、追加張り付けでMS-ACCESSの
   生計費テーブルに張り付ける。

これで、MS-ACCESSのクエリーに作成した、解析用のフォーマットで比較検討することができます。

D5/ 8/06
T-195.50
PデジタルペンexPansys
LInt Exp
^
D5/ 8/06
T-30.40
PPayGOチャージ
LTelephone
^

これがエクスポート出力フォーマットです。
支出2件分のデータです。

5/ 8/06,,19550,デジタルペンexPansys,Int Exp
5/ 8/06,,3040,PayGOチャージ,Telephone

SEDで処理した結果のCSVファイルです。新ファイルと旧ファイルの違いは、下の下の欄の赤い字の所に出ます。

処理用ファイル:旧ファイル
 処理用バッチファイル(QDF.BAT)
 SEDスクリプト(QDF1.SED、QDF2.SED)はこれ
 QDF.lzh

処理用ファイル:新ファイル
 処理用バッチファイル(QDFNEW.BAT)
 SEDスクリプト(QDFNEW.SED)はこれ
 QDFNEW.lzh    R0 注1
 QDFNEWR1.LZH R1
 QDFNEWR2.ZIP  R2 

 注1:R0 、 R1 、R2の処理そのものは同じです。コーディングを見直してきれいにしたことと、変な行があったときに無駄な空行(改行のみの行)を出さないようにしました。通常使っている分には関係ありません。

QDFNEWのAWK版、Perl版を作成しました。記事とモジュールはこちらです。
HP200LXで家計簿 「AWKとPerlでスクリプト」その2



上で処理した出力 WKOUT.TX_ をEXCELの 開く → カンマで区切られたデータ で読み込みます。
1列目は 「日付」のMDYを指定します。



読み込んだ結果です。

注意
「処理用ファイル:旧ファイル」を使った場合は、ここで列Eのカテゴリでソートして、カテゴリが [ ] で囲まれているものを削除します。
これは、[ ] のものは口座間の移動で、支出や収入ではないためです。

「処理用ファイル:新ファイル」では処理時に削除していますので、不要です。


ACCESSの生計費テーブルを開き、「編集」で全データを選択して削除します。(空にする)  その後、カーソルは最初の行の日付欄に移しておきます。

EXCELのデータを「すべて選択」 → 「コピー」でコピーし、ACCESSの「追加貼り付け」で貼り付けます。

EXCELを経由して張り付けた生計費テーブルです。これが、元テーブルになります。



 これが、カテゴリと月別の表にしたクエリーテーブルです。このほか、色々なクエリーテーブルを作りました。これをコピーしてEXCELに貼り付ければ、さらに細工ができます。
 なお、勉強途中なので、良く知っている方から見ればおかしなところだらけかも、、、。
ACCESSのDBはこれ。

kakeibo_MDB.lzh     (2006年用)
kakeibo_MDB_2007.lzh  (2007年用)
kakeibo_MDB_2008.zip  (2008年用)
kakeibo_MDB_2009.zip  (2009年用)
上記はリンク先のファイル削除した(古いので)

kakeibo_MDB_2010.zip  (2010年用)
kakeibo_MDB_2011.zip  (2011年用)
kakeibo_MDB_2012.zip  (2012年用)
kakeibo_MDB_2013.zip  (2013年用)
kakeibo_MDB_2014.zip  (2014年用)



4.HP200LX LOTUS 1-2-3の入力用に変換する処理

 2.(3)でも述べましたが、HP200LXを使っているわけですから、そこに入っているLOTUS 1-2-3に読ませるデータに変換する処理を作成してみました。
 上表の処理2 の出力 WKOUT.TX_ を入力にして QKN.PRN を出力します。LOTUS 1-2-3へ読ませるCSVファイルはの拡張子はPRNらしいです。

8/19/06,,790,本、ラジオライフ,books
8/23/06,,182,ジュースほか,Dining:Etc

WKOUT.TX_のデータフォーマットです。

"8/19/06",0,790,"本、ラジオライフ","books"
"8/23/06",0,182,"ジュースほか","Dining:Etc"

出力 QKN.PRN のフォーマットです。
 ・文字列は””で囲む。
 ・数字はそのまま(””で囲まない)
 ・上の欄では数字のないところは何もない
  (カンマが連続している)
  ここに0を入れないといけない。

ということで、これがバッチファイルとSEDのスクリプトです。
 QKN2PRN.lzh



5.月別の集計や年間集計をみるスクリプト
 5.1 月別の収入、支出をみるスクリプト
 HP200LXだけで集計などを行うには、4.のスクリプトを使いLOTUS 1-2-3を使う必要がありますが、(集計式の入力など)結構面倒です。そこで、EXCEL入力用CSVファイルを使って月別の収入、支出、年間合計を見るためのスクリプトを作成しました。加算などの演算を必要とするため、AWKやPerlを使用しました。

出力画面の画像(HP200LXの画面)

 

 経緯やモジュールは下記のブログ記事のところにあります。
   「HP200LXで家計簿 「AWKとPerlでスクリプト」 


 5.2 気になる項目の月別集計をみるスクリプト
 上記5.1のスクリプトは収入、支出だけです。このほか、いくつかのカテゴリ項目について、月別集計、年間合計を追加してみました。
詳細記事、モジュールは下記のブログ記事のところにあります。

   「HP200LXで家計簿 「AWKとPerlでスクリプト」その4」 新

   「HP200LXで家計簿 「AWKとPerlでスクリプト」その3」 旧



6.最後に

 何回かにわけて作成してきましたが、なんとか自分の目的に使えるところまできました。とりあえず、自分では毎月使ってみています。まあ、自分の趣味の範囲ですね。