レジストリやグループポリシーの設定を設計書にまとめるとき、どのように記載しているでしょうか。多くの会社でよく見かけるのは、以下のような形式です。
(入力されている値は適当です)
私はこの形式をモザイクエクセルと呼んでいる。この形式で書くと、とにかく膨大な手間がかかる。難しく考えずに以下のようにリスト形式で書けば、驚くほど簡単にデータはまとまる。
(入力されている値は適当です)
なんでこうなったか?
たしかに、なんとなく纏まってる感が出せる。ただ、パスのデータでひとまとめにしたいなら、以下のような書き方でも十分分かりやすい。
モザイクエクセルでまとめても、手間ばかりかかるので、ドキュメントを作成する工数を圧迫する。モザイクエクセルは単に手間がかかるだけではなく、様々なデメリットがあるので注意して欲しい。
モザイクエクセルのデメリット
ぱっと見で件数が分からない
この表を見て、何件設定値があるかすぐにわかるでしょうか?数件程度であればすぐにかを得られるが、これが数十件、数百件となったらまず分からない。これをリスト式でまとめた場合、単純に行数をかぞえればいいので簡単に件数を把握することができる。
フィルタの機能が使用できない
Excelのフィルタは、リスト形式でデータをまとめておかないと正確にデータをフィルタリングできません。モザイクエクセルでも範囲指定をしてフィルタをかけることは可能です。しかし、リスト形式になっていないので、意図しない作動をするリスクが高いです。
更新するときの手間が膨大にかかる
パスの情報が複数行にわたっているのと、他の行のデータにも関連付けられているので、更新する際に確認する項目が非常に多くなり、工数がかかってしまう。データを追加しようと思えば、まずは表全体を見て同じパスのデータがあるかを確認しなければならない。データを削除するときは、階層を崩さないように細心の注意を払う必要がある。また、罫線を複雑に引いているので、罫線の引き忘れなどでフォーマットが崩れやすい。
改ページした時にデータが欠ける
エクセルモザイクをそのまま印刷すると、改ページが入ったところが以下のように上のデータが欠けて印刷されてしまう。
これを避けるためには、改ページごとに上の階層データを張り付けたり、改ページの位置を調節する必要がある。自動化するにしてもロジックが複雑になりやすいうえに、意図しない形に出力された場合、手で修正するしかない。
階層の深さで列が増減する
パスのデータ一階層につき一列を割り当てているので、パスの深さで列数が増減する。そのため、データによって表の大きさが変わってしまう。また、単純に列を挿入した時に罫線がずれてしまうこともあります。
どう対処すればいいか?
お客さんの要求でこの形式を要求されることもあります。バッドノウハウであるのは分かっていても、それで対応しなければならない事態もあります。そういう事態の対応方法です。
モザイクエクセルを作成する前にリスト形式の表を別に作っておく
本末転倒かもしれませんが、モザイクエクセルの表を作る前にリスト形式の表でデータをまとめておきましょう。リスト形式で作成した表のパス(モザイク化する部分)をソートすると、どういう構造でモザイクエクセルを書けばいいかがまとまります。
モザイクエクセルを読み解くためにリスト形式の表に書き起こす
どんなデータがあるのかあらかじめ知っている状態であれば、モザイクエクセルの表でも見て理解することは可能になります。逆説的ですが、モザイクエクセルに記載されているデータを把握するために、リスト形式の表にデータの書き出しを行います。
わざわざ別表をつくるのは二重管理にならないか?
二重管理になります。しかし、モザイクエクセルで一元管理するリスクに比べれば二重管理の方が安全で確実です。ただ、更新する際は必ずリスト形式の方をメインにしましょう。フローさえしっかり守れていれば、二重管理であってもデータの質を担保できまます。二重管理の非効率よりも、モザイクエクセルでデータを管理する方がはるかにリスクが高いです。
結論
レジストリやグループポリシーのデータはリスト形式でまとめましょう。ドキュメントとして書き出す時には、以下のような表記も有効です。
Excelのフィルタ機能は使えませんが、見出しをうまく振ることでカテゴライズがしやすいです。データが十数件程度でフィルタをかけるような必要が無い場合に有効な形式です。