2016-02-09 2 views
0

В SAS при создании набора данных SAS из файла необработанных данных (csv) мы можем либо использовать шаг DATA с ключевым словом infile, либо с шагом PROC IMPORT. Каковы преимущества и недостатки каждого из них?Используйте шаг DATA и PROC IMPORT

+0

Списки преимуществ/недостатков на самом деле не по теме для этого сайта («вопросы списка»). Я думаю, что более подходящий вопрос будет по теме. – Joe

+0

В частности, если вы ищете что-то конкретное об одном _or_ другом, спрашиваете, что может быть по теме. Сейчас он слишком широк и слишком ориентирован на обсуждение. Хороший вопрос должен исходить из конкретного варианта использования или, по крайней мере, более или менее конкретного варианта использования; так что вопрос с некоторыми подробностями о потенциальном прецеденте был бы уместным. – Joe

+0

Также см. [Этот мета-вопрос] (http://meta.stackoverflow.com/questions/258308/asking-questions-about-advantages-disadvantages-onsoso) для более подробной информации. – Joe

ответ

1

Proc Import делает предположения о длинах символьных переменных и типов переменных на основе чтения ряда строк в CSV, который контролируется опцией. Если вы выдаете команду отзыва в интерактивном режиме после запуска proc import, вы получаете код шага данных, который proc импортирует, сгенерированный для выполнения фактической работы. Он генерирует инструкции формата и информации, которые могут или не могут быть точно такими, какие вы хотите.

Я часто использую импорт proc в качестве генератора кода шага данных, вызываю код и затем изменяю его в соответствии с тем, что я хочу.

Вы также можете добавить другую логику обработки, чтобы расширить функциональность шага за пределы простого чтения исходных данных в набор данных. Создание новых переменных в качестве трансформаций одного или нескольких столбцов в CSV возникает.

0

Я вообще согласен, что это слишком широкий вопрос. Тем не менее:

PROC IMPORT медленнее, чем ШАГ ДАННЫХ. Это связано с тем, что PROC IMPORT смотрит на файл, а затем записывает и выполняет ШАГ ДАННЫХ.

DATA STEP требует, чтобы вы знали имя, положение и атрибуты (тип, длина и т. Д.) Для каждой переменной.

Если мне нужно прочитать файл один раз, я просто использую PROC IMPORT.

Если мне нужно прочитать файл несколько раз, мне не нужна скорость, и формат файла может измениться, а затем я использую PROC IMPORT.

Если я в производственной системе, где скорость имеет значение, и я хочу ОШИБКУ, если формат изменяется, то я использую PROC IMPORT. Но я беру ШАГ DATA, который он пишет для меня, и помещал это в мой код.

Если PROC IMPORT неверно угадывает мои столбцы, я использую PROC IMPORT, изменяю ШАГ DATA, который он производит, и затем используйте это.

Смежные вопросы