2016-10-27 14 views
0

私はマージしたいseq番号のSASデータセットを持っています。残念なことに、一部のデータセットではseqは数値であり、他のものでは文字です。マージで変数byを数値に効率的に強制できますか?

私は次のエラーを取得する:

ERROR: Variable seq has been defined as both character and numeric.

多くのテーブルマージされると、犯人は骨の折れるされているテーブルを見つけることがあります。すべてのテーブルにわたるマージ・バイ・ステートメントで効率的な方法でseqを数値に強制することは可能ですか?

答えて

1

いいえ、数値に直接強制する方法はありません(単一の長さのステートメントを置くなどの方法はありません)。データセットごとにデータセットの数値に変換する必要があります。

データセットに基づいてデータセットにどのような種類のものがあるか心配することなく、これを行うことができるいくつかの方法があります。 1つは、辞書から列を作成することです。列。もう1つは、すべてのデータセットをテキストファイルに書き出し、一貫した入力ステートメントで読み込む方法です。 3つ目は、CATSを使用して変数を文字にキャストし、それを数値で入力して読み戻すことです。

1

マージ変数の型が文字である各データセットのビューを作成し、ビュー内で適切なコード/ドロップ/名前の変更ロジックを適用し、ビューを他のデータセットとマージできます。多数のデータセットに対してこれを行う必要がある場合は、単純なマクロとしてロジックを記述し、それらをループすることができます。

関連する問題