商品情報管理(PIM)システム構築の現場_エクセルの活躍

2020.09.30  株式会社エクサ

本サイトのブログでは、エクサが扱うPIM/DAM統合ソリューションContentservに関するもの、PIMの概念や考え方、プロジェクトの進め方について説明してきました。今回は実際にどのようにして我々がプロジェクトでPIMシステムを構築しているのか、その一部をご紹介します。

データモデル設定とエクセル活用

PIMシステムとして一番の肝となるのは、商品情報の入れ物を作ること、つまり、「データモデル設定」です。データモデルについては『商品情報のデータモデルとは』にて解説していますので、読まれていない方は、まずこちらからお読みいただければと思います。

Contentservは操作しやすいGUIの管理画面が用意されており、データモデル設定もとても分かりやすい画面から行えます。


attr-menu.jpg


ただ、すべてのデータモデル設定を画面上で一つずつ実施することは現実的ではありません。理由は以下になります。

  1. 作業時間・作業負荷が膨大になる
    同じ商品でもシリーズが変わるだけで設定できる属性(項目)が異なることもあります。属性定義や、クラス定義などContentservでは細かいところまで設定できるため、膨大な量の設定が必要となる場合があります。(お客様の商品種類の数にもよりますが、属性だけで1000個を超えることも...) また、その膨大な設定を開発環境、検証環境、本番環境と異なる環境に一つずつ行うのは困難です。

  1. 品質面に不安が残る
    膨大な設定情報を設計書にまとめ、設計書通りに手作業で設定すると間違える可能性が高くなります。テストを行い、正しい設定がなされているか確認はしますが、時間がかかる上に品質に不安が残ります。また、一度お客様と合意した内容でも、変更が入ることが多々あります。その度に設計書とContentservの設定をそれぞれ変更する必要があり、負荷がかかるうえにここでも品質に不安が残ってしまいます。

画面から設定するニーズはもちろんありますし、上記の1.と2.に該当しない場合には画面で設定してもよいと思います。

この膨大なデータモデル設定作業に対し、エクサではエクセルを活用しています。エクセル関数の利用や、マクロを作成し、設計書(データモデル定義書)からContentservインポート用エクセルを生成することで、データモデルの設定の半自動化を実現しています。Contentservには各種設定情報をエクセルからインポートする機能がありますので、エクセルで作成した設計書を関数やマクロを使って処理する方式と、とても相性がよいのです。

excel-cs1.jpg

これにより大量のデータモデルであっても、細かい修正が頻繁に入るような場合でも、品質を損なうことなく作業を進めることが出来ます。

データ入力とエクセル活用

商品情報の入れ物を作る「データモデル設定」と同じく、PIM構築の現場で大事な作業はデータを入れる作業です。

データ入力ではエクセルでデータ入力シートを用意し、お客様にそれを使っていただくケースが多いです。先程は大量のデータモデル定義をエクセルの機能とContentservのインポート機能を使って自動化すると説明しましたが、データモデル定義が多いとデータ入力シートの作成や、シートに入力されたデータをPIMに取り込む設定も大量になります。

データ入力シートを準備する際に、データモデル定義書の項目を貼り付けるだけなら簡単に作成できます。しかし、データを入力する際には、商品の種類ごとに必要な項目のみに入力したり、あらかじめ決められた値の中から入力する必要があったりなど、データ入力のルールも込み入ったものになりますよね。そのため、お客様がデータ入力しやすいシートを作る必要がありますが、データモデル定義が多い分、一つずつ設定するのは困難なものになってしまいます。

エクサでは、このようなシーンでもエクセルを活用し、入力しやすいデータ入力シートの作成を自動化しています。

excel-inputsheet.jpg

以下に自動化して作成されるデータ入力シートの特徴的な機能をいくつかあげます。

入力箇所明示機能

入力する商品の種類を選択すると、入力可能な項目以外をグレーアウトするようにしています。ピボットテーブル、関数、条件付き書式を組み合わせてデータモデル定義書から入力箇所明示機能を自動生成しています。

grayout.jpg


不正値チェック

選択型の項目(あらかじめ決まった値の中から選択するデータ型)を入力する際に、データモデル定義書に記載されている値以外の入力があった場合にエラーにしたり、数値型で数値以外が入力されていないかをチェックしたりする機能です。関数と条件付き書式でデータモデル定義書から自動生成しています。

redout.jpg

選択項目のプルダウン

選択型の項目をPIM画面と同様にデータ入力シート上でもプルダウンで表示する機能です。1項目ずつ設定するのではなく、関数とマクロを利用してデータモデル定義書から自動生成しています。

pulldown.jpg


これらの機能は手作業で設定することもできますが、膨大なモデル項目一つ一つに対して設定するのは大変なため自動生成しています。

データ入力シートが用意できたら、PIMにデータを取り込むための設定をします。ContentservではActiveJobという機能があります。この機能によりエクセルのデータをインポートできます。さらにContentservには、読み込んだエクセルのカラム名からActivejobの取り込み設定を自動生成してくれる補助機能があります。エクセルのカラム名が既にContentservのデータモデル定義に設定されている場合は、自動マッピングまでしてくれる優れものになります。

mapping.jpg


細かい設定も必要になるのですが、そのあたりはエクセル関数を駆使しつつContentserv用エクセルを準備すれば一括設定をすることもできます。

データチェックとエクセル活用

PIM構築の現場で苦労するのはデータ入力作業で、そこでのエクセル活用を見てきましたが、ただ入力するだけでなく同時にデータの正確性が求められます。正確性の確保、つまり、データチェックでも私たちはエクセルを活用しています。

データ入力シートにお客様のデータを入力したら、ActiveJobを利用してContentservに取り込みます。ここで問題になってくるのが、データチェック作業です。

PIM導入をする大半のお客様は商品データの整理に苦労されています。お客様では、大量のデータを複数部署の担当者で手分けして集めることが多く、データ品質のバラつきなどの問題がでてしまいがちです。データ入力シートのエラーチェックでエラーとなったまま提出してしまうなど...。ただでさえデータモデル定義が多い上に商品数が多い場合、入力するのもかなりの作業ボリュームになります。限られた時間内での手作業、ということを考えると品質のバラつきは仕方がない部分もあると思います。

ここでContentservでのデータチェックについて整理してみます。チェックパターンとしては以下の2つがあります。

  1. ActiveJob実行時にエラーになるもの

  2. ActiveJob実行時にエラーにならないもの

1.についてはエラーログを整理することでチェックすることができます。例えば、関連(リレーション)先のデータが登録されていないのにもかかわらず関連を作成しようとした場合に失敗するなどの、システム的な問題になります。2.についてはシステム的には正常なデータですが、データとしては間違っているものになります。例えばデータ入力シート内にキーが重複している(システム的には上書きで取り込む)、入力可能な項目に対して入力率が少ないデータの確認などです。その場合、パターンをいくつか洗い出し、あとは例のごとくマクロでチェックする処理を作成し、チェック作業を自動化して問題箇所をお客様へ連絡するようにします。

debug.jpg

こうすることでデータの正確性を上げるための作業時間が大幅に短縮されます。

まとめ

今回は実際にPIMプロジェクトを進める上で、エクセルの機能を使った作業効率化の内容を紹介しました。大量のデータモデル定義と商品情報データを扱う中で、普段よく利用するエクセルという一般的なツールを使うことで、構築期間の短縮、品質の向上が可能となります。エクサでは、今回紹介した活用例以外でもエクセル機能を利用して効率化を図っています。ケースバイケースで手作業、関数、マクロ作成のどれを選択することが一番効率的になるかを判断する必要がありますが、特にデータモデル定義でエクセルを活用することはPIMプロジェクトでは必須と言えるでしょう。

PIM構築についてご検討される場合はぜひエクサまでお声がけください。

PIMについてすぐ知りたい!という方はこちら↓をクリック

[Blog][Footer]【PIMコラム】商品情報管理(PIM)の必要性から プロジェクト成功の秘訣まで

RECENT POST「PIM」


商品情報管理(PIM)システム構築の現場_エクセルの活躍