手作業の出力で、起きること
毎月のCSV出力は、慣れると単純な作業に見えます。それでも、次のことが起きます。
- 期間の取り違え:「先月分」のつもりが、月末の1日が抜けていた。前月分と重なっていた
- 項目のゆれ:先月は項目を並べ替えて渡したのに、今月は並べ替えを忘れた。受け取る側の取り込みが失敗する
- 基準のゆれ:「先月分」を、登録した日で切るのか、更新した日で切るのか。担当者によって違う
- 人への依存:手順が担当者の頭の中にあり、休むと止まる。引き継ぐと、少しずつやり方が変わる
こうしたずれは、毎回その場で条件を選び直していることや、手順が人の中にしかないことから起きています。
出力を、設定として持つ
考え方を変えて、出力を「毎月やる作業」ではなく「一度決めておく設定」にします。
- 何のデータを
- どの項目を、どの順番で、どの見出しで
- どの日付を基準に、どの期間で切って
- いつ出すか
これを一度決めて保存しておけば、毎月の作業は、できあがったファイルを取りに行くだけになります。条件を選び直さないので、期間や項目がぶれにくくなります。
出力の設計
項目と並び、見出し
受け取る側の都合に合わせます。取り込み先のシステムがあるなら、その列の順番と見出しに合わせておくと、受け取った側で並べ替える手間がなくなります。
基準の日付
「先月分」をどの日付で切るかを決めます。
| 基準 | 向いている用途 |
|---|---|
| 作成日時(登録された日) | 新しく届いたものを渡す |
| 更新日時(最後に変わった日) | 変更があったものを渡す。登録内容の修正も拾いたいとき |
同じ「先月分」でも、基準が違えば中身が違います。受け取る側と、どちらの意味かを合わせておきます。
期間の単位
日ごと、月ごと、年ごと。受け取る側が処理する周期に合わせます。夜中に出力する場合、「今日の分」が実は「昨日の分」を指すように調整が要ることもあります。
まとめて出すか
複数のデータを同じ相手に渡すなら、一つにまとめて渡すと、受け渡しの手間と取り違えが減ります。
受け渡しと保管
出力したファイルには、個人情報が含まれることが多くあります。
- ファイルを取りに行ける人を、決めておく
- 受け渡しの方法を決めておく(メールに添付しない、決められた置き場所を使う、など)
- 渡したあとのファイルを、いつまで残すか決めておく。不要になったファイルを残し続ければ、扱う必要のない個人情報まで保管し続けることになる
出力を自動にすると、ファイルは人が気づかないうちに増えていきます。取りに行った後の片づけまでを、手順に含めておきます。
決まった形にない切り口
「今月だけ、この条件で抜いてほしい」という依頼もあります。決まった形の出力に、その都度手を加えていると、また手作業に戻ります。
- 一時的な依頼か、これから続くものかを確かめる
- 続くものなら、新しい設定として追加する
- 一時的なものなら、手作業で出して、何を出したかを記録しておく
writeWiredでは
writeWiredでは、出力を「データエクスポート設定」として登録し、画面から、または日次バッチで実行します。
設定の登録
- 設定の名前と、期間の単位(年・月・日・指定なし)を決める
- 実行時間に応じた出力日の調整を設定する
- 1つの設定に複数の対象データを束ね、zipにまとめて出力する
- 日次バッチで実行するかを設定する
何を出すか
- 問い合わせデータ・会員データは、フォーム定義の項目が内訳に並び、出力する項目・順序・ラベルを決める。抽出の基準日付を、作成日時と更新日時から選ぶ
- 送信メール・各種ログ・コンテンツなどのシステムデータも対象にでき、加工した列も項目に選べる
- 決まった対象データにない抽出は、カスタムSQLで定義する。期間は#FROM#・#TO#で差し込み、保存する前に実行して結果を確かめられる
取りに行く場所
- データエクスポートの実行履歴に、出力されたファイルが日時つきで並び、行からダウンロードする
- 画面から実行したものと、バッチで実行したものが、同じ一覧に並ぶ
- 不要になった履歴は、まとめて削除できる
- 出力されたファイルは、自動では削除されない
- 実行履歴を見られる人を、権限で絞ることはできない
出力の設計のうち、項目・並び・見出しは、フォームの項目から選んで順序とラベルを決めます。基準の日付は作成日時か更新日時を選び、期間の単位と出力日の調整を設定します。複数のデータは1つの設定に束ねれば、1つのzipで取りに行けます。
受け渡しと保管について、2つの点を踏まえておきます。出力されたファイルは自動では削除されないので、受け取ったあとは実行履歴から手動で削除します。実行履歴を見られる人は、権限で絞れません。個人情報を含むファイルは、受け取ったら早めに手動で削除する、と手順に入れておきます。管理画面のユーザーを誰にするかも含めて、受け渡しの手順を決めておきます。
決まった形にない切り口で、これから続くものは、カスタムSQLの設定として追加できます。
ファイルを相手に送る方法と、ファイルの保管の決めごとは、この仕組みの外側にある運用です。