2013-11-09 2 views
1

Я новичок в SAS и Enterprise Guide, и у меня возникают проблемы с моими основными концепциями. Может кто-нибудь объяснить взаимоотношения между библиотеками, проектами, libname и libref? Я следую за курсом eSearning SAS, но когда я пытаюсь связать библиотеку с файлами данных, хранящимися на моей машине, я продолжаю получать сообщение о том, что библиотека не существует, хотя она находится прямо в списке серверов.SAS Enterprise Guide Libraries

Заранее спасибо

ответ

1

Я беру на уровне колледжа SAS курсовую атм. Из того, что я узнал, libref - это имя, в котором вы связываете физическое расположение группы файлов с SAS. Оператор libname создает ссылку на библиотеку (libref) для программы SAS. В общем, основной синтаксис имя-библ является:

libname libref 'path'; 

Например:

libname sales 'C:\salesdata\journal\june'; 

Другими словами, для SAS, чтобы иметь возможность считывать и записывать данные из набора данных, он должен знать каталог или папки, содержащие конкретный набор данных. SAS называет то, что мы, люди называем каталогами или папками, как «библиотеки». SAS также назначает псевдонимы (libref) для этих библиотек и использует оператор libname для присвоения псевдонима определенной папке.

Например, если вы хотите напечатать существующий SAS набора данных, расположенный в папке «июнь», вы можете сделать это:

libname sales 'C:\salesdata\journal\june'; 

proc print data = sales.revenue; 
run; 

SAS будет печатать часть данных «доход» набор данных, который находится внутри папки «june», потому что мы назначили продажи этой папке. Надеюсь это поможет.

+0

Спасибо, что помогло мне понять немного больше – user2972043

1

В частности, если вы используете SAS OnDemand для своего обучения (как я предполагаю, вы), маловероятно, что вы сможете напрямую назначить libname локальным файлам данных. Вам нужно будет предоставить дополнительную информацию о местонахождении/и т. Д. из файлов данных, к которым вы пытаетесь получить доступ, чтобы получить лучший ответ, но в целом, если вы используете SAS на сервере (Enterprise Guide - это графический интерфейс, который вы используете для подключения, сам SAS - это процесс, который фактически выполняет частоты/и т. д. и, вероятно, на сервере где-нибудь, в облаке или в ферме серверов вашей компании).

Основная концепция заключается в том, что libname должно быть доступно на машине, на которой запущен экземпляр сервера SAS. Возможно, вы могли настроить свою сеть таким образом, чтобы сервер сопоставил жесткий диск локальной машины с диском, но это не так в большинстве случаев. Если вы находитесь в сети, и у вас есть доступ к сетевому диску, к которому также имеет доступ сервер SAS, вы можете обмениваться информацией таким образом; но если вы используете SAS в облаке (например, для учебных/образовательных целей с SAS OnDemand), вы, вероятно, не можете получить доступ к общим дискам.

Chris Hemedinger (один из людей SAS, который работал на EG) написал пользовательскую задачу, доступную по адресу this link, чтобы скопировать файлы с локального рабочего стола на удаленный сервер. Это может быть не полезно для SAS OnDemand, так как я думаю, что они не позволяют копировать файлы.

+0

Спасибо за ваш ответ. Поскольку я использую SAS OnDemand, я думаю, что у меня есть некоторые проблемы из-за ограничений, что означает, что моя путаница не сводится к моему недостатку понимания. Благодаря ;-) – user2972043

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