1

「標準化」しようとしているデータのテーブルがあります。テーブルに入力されたデータは、(回答のドロップダウン リストのように) 静的または標準化されていなかったため、静的で普遍的な回答が必要な回答のバリエーションが複数ありました。

たとえば、データベースに「ペットの種類」という列があるとします。ユーザー入力が標準化されていなかったため、一般化されたペットの形ではなく、特定の種類のペットのバリエーションで入力できました。そのため、単に「犬」と入力する代わりに、「コリー」、「マット」、「ラブラドール」など、さまざまなバージョンの犬が存在します。

これらの回答を一般化された形式に転記するにはどうすればよいですか? 表内のコリー/雑種/ラブラドールなどの回答を「犬」(または「猫」、または「鳥」など) だけに置き換えますか?

手入力の「翻訳」機能が何らかの形で必要であることに気づきました。私の直観的な反応は、スタックされた if ステートメントの長期にわたるリストは非効率的であり、制御と拡張が面倒であるということです。

このようなことを行うための何らかのプロセスまたはシステムはありますか? ある種のルックアップ テーブル システム/マトリックスが好きですか?

レコードの配列を反復処理する foreach ループが最も適切であると想定しています。そして、 foreach ループの各反復内で、あるタイプのリスト (私が手動で作成したもの) に対してペット変数のテスト/比較を行う必要がありますが、このルックアップ テーブル/リストには何を使用しますか? ? それともプロセスのこのステップですか?SQLデータベース/テーブル、配列、CSVファイルなどのタイプとしてそれを持っていますか?

次に、この比較が完了し、ペットのタイプに相当する「変換された」値が決定されると、foreach ループがレコードの特定の行を更新し、古い標準化されていない値を上書きするか、新しい標準化された値を追加するだけです。 (後で検証するため) 新しい列に同等です。

4

2 に答える 2

1

私の直観的な反応は、積み上げられた if ステートメントの長期にわたるリストは非効率的であり、制御と拡張が面倒であるということです。

100% 正解です。このため、選択肢は 1 つしかありません。手動でデータベースを調べてクリーンアップすることです。それが完了したら、生のテキスト入力ではなく、ストップ ダウン リストを使用してユーザー入力を制限する必要があります。

ユーザーによっては、Stackoverflow がタグをどのように処理するかを確認したい場合があります。基本的には、誰でもクリーンアップを行うことができます。

于 2012-09-04T01:52:14.390 に答える