123件を一瞬で集計する力
夜の事務所。蝋燭を三本立てる。蝋が溶けて甘い匂いが漂い始めた。
机の上に、先月分の取引レコードを全て展開した。
123件。
一件ごとに、日付、顧客名、品目、数量、金額が記録されている。主キーも振ってある。データとしては完璧だ。
問題は、これをまとめる方法がないことだ。
俺は白紙を用意して、手作業で集計を始めた。
まず、顧客別。
東方辺境伯の取引だけを拾う。123件のうち、辺境伯関連は28件。金額を一つずつ足す。
510金貨。セレナが出した数字と一致した。
次、衛兵隊。31件。160金貨。
ハイゼン男爵家。12件。85金貨。
グレイス子爵家。15件。120金貨。
一つの軸で集計するだけで、一時間が過ぎた。
次は品目別。
赤傷草の取引だけを拾う。123件を頭から見直す。赤傷草は47件。金額を足す。
420金貨。全体の約4割。主力品目だ。
銀苔。31件。230金貨。
月光花。22件。190金貨。
青葉草。15件。140金貨。
白粉花。8件。100金貨。
二時間が経った。目が痛い。蝋燭を一本追加した。
だが、まだ終わらない。
品目×顧客の掛け合わせ。
東方辺境伯に納品した赤傷草は何束で、いくらか。衛兵隊に納品した銀苔は何束か。
五品目×九顧客で45通りの組み合わせ。それぞれ123件の中から該当する取引を拾い出して集計する。
三時間目に入った。
指が数字を追う。目がレコードを走査する。頭の中で、同じ操作を繰り返す。
「この取引は赤傷草。顧客は衛兵隊。金額は12金貨。衛兵隊の赤傷草グループに加算」
「この取引は銀苔。顧客は辺境伯。金額は20金貨。辺境伯の銀苔グループに加算」
同じ作業。同じ動作。同じ思考。
分類して、まとめて、足す。分類して、まとめて、足す。分類して、まとめて、足す。
四時間目。
机の上に、集計表ができ上がっていた。
顧客別に数字が並ぶ。東方辺境伯が510。内訳は赤傷草が180、銀苔が120、月光花が90、青葉草が80、白粉花が40。衛兵隊が160。グレイス子爵家が120。ハイゼン男爵家が85——。
四時間かけて、ようやく全体が見えた。
赤傷草が売上の4割を占める。東方辺境伯が売上の半分を占める。
一件一件の取引を追っていたときには見えなかった構造だ。
だが、四時間。
123件でこれなら、来月は取引が150件に増えるだろう。再来月は200件。
毎月四時間では済まなくなる。
(もっと速く。もっと楽に。同じ操作を、一瞬で)
その渇望が、限界まで高まった瞬間。
脳の奥で、何かが組み変わる感覚があった。
「分類して、まとめて、足す」
その三つの操作が、一つの概念として結晶した。
頭の中で、霧が晴れた。
◇
データベースが新たな形を見せている。GROUP BY——レコードを指定した項目でグループ化する機能。さらに、グループごとの合計、件数、平均を算出する力。複数の軸で一度に集計することもできる。
「GROUP BY……」
俺は震える手で、データベースに意識を向けた。
顧客ごとに取引金額をまとめてくれ、と念じる。
一瞬。
顧客別の合計が浮かび上がった。東方辺境伯が510。衛兵隊が160。グレイス子爵家が120。ハイゼン男爵家が85。ペルツ男爵家が60。フェルト男爵家が55。南門警備隊が40。傭兵団「鉄槌」が35。冒険者の常連が15。
四時間の作業が、一瞬で終わった。
さらに。
今度は品目と顧客の掛け合わせだ。データベースに念じる。
品目×顧客、45通りの集計が、一瞬で返ってくる。
さらに。
品目ごとの総売上、取引件数、平均単価を出してくれ。
数字が森を見せてくれた。赤傷草は総売上420、取引47件で平均単価は8.9。銀苔は230で31件。月光花は190で22件。青葉草は140で15件、平均単価が9.3と高い。白粉花は100で8件だが、平均単価は12.5にもなる。
青葉草は取引件数が少ないが平均単価が高い。白粉花はさらに高い。希少品は単価で稼げる。
赤傷草は件数も売上も最大だが、平均単価は中程度。量で稼ぐ品目だ。
こんなことは、個々のレコードを見ていても分からなかった。
まとめて初めて見える。それがGROUP BYの力だ。
俺は笑った。四時間の苦労が馬鹿みたいだ。だが、あの四時間がなければ、この機能は解放されなかった。
蝋燭の火が揺れている。夜明けが近い。
俺は報告書を作り直した。今度は一瞬だ。
衛兵隊向けの月次報告。品目別の納品数量、品質評価の分布、前月との比較。全てGROUP BYで集計し、表にまとめた。
ヴォルフが求めた報告書が、手元にある。
「……悪くない」
誰に言うでもなく、つぶやいた。
朝日が窓から差し込んできた。
セレナが出勤してくるまでに、もう一つやることがある。
仕入先別の集計。品目ごとの仕入れ単価の推移。利益率の分析。
全部、一瞬で出る。
データの洪水に溺れかけた。だが、泳ぎ方を覚えた。
これで、千件になっても一万件になっても、森が見える。




