クロス集計クエリ考察

いつも使っているスマホ目覚ましの音が゛今朝、電話のベル音に変わっていた。
リンリンリリンリンリンリリンリン、と、晃くんのボーカルが脳内で鳴り響き、古っ、と思いながら起きた。

朝勉をして朝風呂に入り、朝食に野菜スープとトーストとヨーグルトを食べた。最近ヨーグルトを毎日食べている。子供の頃は大好きだったのに今はそれほど好きではない。チーズもそう。

今日の気温は18度予定。コートを着ずに外に出た。昨日と同じく朝はまだ少し寒かった。

昨日の朝、出かける時に談志の「明烏」を聞いた。議員時代の録音。面白いったらなかった。夕方は志ん生の「火焔太鼓」を聞き笑った。今朝は談志の「鉄拐」を聞き、また笑った。

午前中、クロス集計クエリの作り方について考察する。
縦のデータを横に展開するのと同時に、一部のデータは縦につなげて表示したいのだ。オレがしたいわけじゃないけど。
これを、ひとつのクロス集計クエリで表現できないものか考えてみたが、無理だった。
そこで、二つのクロス集計クエリを作り、列を揃えてUNIONクエリで縦に連結してみたが、そうするといらない行ができてしまった。
つまり、Aのクエリでkeyが000001のレコードが、
000001 aaaa,bbbb,cccc,ffff
となっていて、Bのクエリではそれが、
000001 aaaa
000001 nnnn
000001 null,null,null,ffff
000001 null,null,null,gggg

となっているのを縦につなげると、
000001 aaaa,bbbb,cccc,ffff
000001 aaaa
000001 nnnn
000001 null,null,null,ffff
000001 null,null,null,gggg
こんな風になってしまう。aaaaやffffは一行でいいし、ggggは上の行に詰めたいのだ。オレは詰めたくないよ。でも冷たい? うるさいよ。

こういうのって、人間が手作業でやる動作だよなあと思う。実現しようとすると、結局ループ処理をして一行ずつデータを振り分けていくコードを書くしかない。
実際、昨日そういうのを書いたのだったが、クロス集計クエリで一発でできないかと思って、色々試してみたのだった。そして失敗したのだった。おいら敗残兵。落ち武者狩りに怯える関ヶ原の生き残り。

データ部分はAccessで、出力はExcelだ。昨日はExcelに出力したあと、シート上で振り分け処理をするようなコードを書いていた。もしこれがこうならこうして、ああならこうして、どっちてもないならこうする。フラグが立つまでぐるぐるしましょう。終わったら書式のおめかしをして保存。そして次のファイルをぐーるぐる。

クロス集計クエリは完成品ではなく、Excelに渡すための加工前データと割り切った方がいいかもしれん。ベタでシートに出力して、Excelさんのフィルタ機能などでセルをコピペしていらない行を削除するロジックにすれば、人間的な動作ができるかも。

よし、午後はそうしてみよう。お? 11時52分だ。昼飯なににしようかな。

ゆで卵とチキンにした。

午後、いらない行を削除するロジックを考えていて、再びクロス集計クエリの組み合わせに悩んだ。要するに、縦のものを横に表示させたいという人間の欲望が諸悪の根源なのだとわかった。
ニンゲンどもは森を侵し海を穢し、縦に保存されたデータを横に表示しようとする。いずれタタリ神となった乙事主がRange(“XFD1048576”)あたりのセルから手下のイノシシを引き連れ、Range(“A1”)に向かってオートフィルしながら押し寄せてくるだろう。

夕方、二つ作ったうちの、横に伸ばすクロス集計クエリの行をメインにして、縦に重複する方は横のクエリと同じデータがある行を削除することで、いい感じの表示ができるんじゃないかと思った。空白を詰めるという作業が残っているが、コードを書いてやるのがそれだけになればずいぶん楽になる。

6時半帰宅。昨日再発送依頼をした荷物が4時頃配達されたらしく、また不在票が入っていた。電話すると明日また配達するという。土曜は一杯なんですと言われた。しかし、明日も不在だったらどうなるんだろう。

録画した「いだてん」見る。
中村勘九郎がいい。満島真之介が良くなっていた。杉本哲太もいい。市電が走るセットはすごい。海辺を走るシーンのロケがいい。走っているのを手持ちカメラで横から取っているのがいい。

続けて「たいむとんねる」見る。
タカさんの極上スポーツトークを存分に堪能した。スポーツでトークをさせたらこの人にかなう人はいない。盛り上がりすぎて続きは来週だという。楽しみ。

WordPressのエディタの挙動がおかしくなり、一文字目が必ず確定文字で入力されるようになってしまった。こんな感じになってしまう。

ああけましておめでとう。
こ今年もよろしく。

裸の大将? 古っ。