
30年越しの挑戦 第3話 改善できないと思っていたExcel帳票への再挑戦
先日、醤油工場を見学する機会がありました。
昔ながらの素材や製法を大切にしながらも、最新技術による自動化や大規模製造が進められていました。
さらに、ユーザーの味覚ニーズに合わせた新製品開発や、国ごとの味の微調整まで行われています。
「ベースは変えずに、やり方を工夫しながら進化を続けている」
そんな印象を受けました。
その帰り道、以前改善を試みたグリーンファイルのことを思い出しました。
今回は、その再挑戦の記録です。
①グリーンファイルとの再会
以前から気になっていた
グリーンファイル。
法令に基づく重要な帳票でもあり、Excelの扱いやすさから現場ごとに工夫しながら運用されています。
過去にも改善を試みましたが、当時はDB化に良い方法が見つかりませんでした。
今回、あらためて向き合ってみることにしました。
②作業員名簿で開始
まず取り組んだのは作業員名簿です。
一見すると普通の帳票ですが、実際に構造を調べ始めると想像以上に複雑でした。
③想像以上にDB化しにくい
まず、人の並び方が特殊でした。
作業員11人分の情報が横方向に並び、1人あたり6行を使用しています。
全体では56列ありますが、結合セルの影響で見た目は17列程度。
さらに見出し項目は28項目あります。
人が見るには分かりやすい帳票ですが、DB化を前提とした構造ではありません。
さらに、帳票の「あるある」。
・横並び11人
・結合セル
・1セル複数データ
・改行入りデータ
なども含まれていました。
これは想像以上に手強い帳票でした。
④帳票は変更できない
では帳票を修正すれば良いのか。
最初はそう考えました。
ですが現場では、
建設業法に基づいた指定帳票でもあり、
許可なしに勝手に変更することはできません。
入力しやすさ、見やすさ、
確認のしやすさ。
単純に「正規化しましょう」では済みません。
理屈だけでは変更できない。
そこが、現場システムの難しさだと思います。
⑤取り込み側で吸収発想
そこで考え方を変えました。
帳票を直すのではなく、
取り込み側で吸収する。
つまり、
Excel帳票とDBの間に、
“変換専用の中間セル”
を経由する考えです。
そこで今回は、ETLシート方式を
実験してみることにしました。
⑥ETLシート具体化
ETLシートは、帳票からDBへ登録しやすい形へ変換するための
中間シートです。
元帳票はそのまま。
現場運用も変えない。
必要なデータだけを整理し、DB向けの構造へ変換します。
ETLシートという考え方を入れることで、横並びだったデータを
縦方向の繰り返しデータへ変換できる可能性が見えてきました。
少し景色が変わってきた気がしました。
⑦縦型テーブル案も検討した
ETLシートの検討を進める中で、
「将来的にフィールド最大数255では
足りなくなるかもしれない」
という話を、AIとしました。
そこでAIから、縦型テーブル案が提案されました。
理論上は、項目数をほぼ気にせず拡張できる考え方です。
ETLシートと同じく縦方向で扱う考え方でもあり、
可能性を感じ、「これは良いかもしれない」と、色々調べました。
ですが、発案されてから20年、あまり普及していない。
具体的なコード例も検索で確認できず、
SQLコードが主体では、属AI的・属人的になりかねません。
最終的には、
「今はETLシート方式の方が現実的」
と判断しました。
遠回りにも見えますが、その検討があったからこそ、
今の方向性にも納得できています。
⑧「行けるかもしれない」
作業員名簿については、ETLシートを経由して一覧表化し、Accessへ取り込めることも確認できました。
作業員11人分のデータを、28項目×11人の固定構造として扱うのではなく、繰り返しデータとして整理し、一覧表へ変換して登録します。
帳票はそのまま。
取り込み方を変える。
そんな形が少し見えてきました。
ただし、グリーンファイルは全部で16ファイル前後あります。
次に検討している機械・機器関係の帳票では、属性情報だけでなく毎月の点検履歴も含まれており、さらに工夫が必要になりそうです。
それでも、「帳票はそのまま、取り込み側で吸収・変換・DB化する」
という方向性には手応えを感じています。
なぜこの考え方にたどり着いたのか。
どのような構造でExcel帳票とDBをつないでいるのか。
そして、帳票のデータを業務システムにどうつなぎ展開していくか。
その仕組みについては、別の記事でまとめてみたいと思います。
「30年越しの挑戦」シリーズ
お読みいただき、ありがとうございました。
本シリーズは、30年間現場で考え続けてきた業務改善の歩みを、4話構成でまとめた作品です。
第1話 データは一元管理し、Excelは入出力兼用画面として使う
第2話 データは入力しない。「つなぐ」という発想
第3話 改善できないと思っていたExcel帳票への再挑戦 (本記事)
第4話 「探す」をなくす業務設計