Создать вид
A create view
создает инструкции для использования при обращении к представлению для обработки. Оператор select
проверен на синтаксис , но не проверен в отношении источников данных . Таким образом, конструкция представления содержит непроверенные librefs, имена таблиц и имена столбцов, которые понадобятся при обработке.
Вы можете создать представление, даже если у сеанса нет активных имен файлов (см. Пример ниже). Создание представления сродни написанию и сохранению программы SAS, но не отправке ее сразу.
Libname и libref
Оператор libname
создает ссылку на библиотеку, или сокращенно libref. Из документации (мой жирный):
LIBNAME Statement
Связывает или разъединяет библиотеку SAS с libref (сокращенное имя), очищает один или все librefs, перечисляет характеристики библиотеки SAS, объединяет библиотеки SAS или объединяет каталоги SAS.
Термин libname
используется в обсуждении при идентификации экземпляра libref, но иногда имя libb используется, когда подразумевается более технически точный термин libref . Типичный опыт для пользователей SAS заключается в том, что имя библиотеки связывается с одной папкой или каталогом.
Просмотр использования (исполнение)
При обращении к представлению выполняются инструкции обработки, используя текущее состояние сеанса SAS относительно активных librefs, для создания набора результатов.
Это хорошо!
- В специальной среде представление может быть передано пользователям, и они могут решить, на какую библиотеку указывает libref .
- В производственной среде администратор SAS должен гарантировать, что libref указывает на правильную и текущую библиотеку.
- Чтобы использовать представление в том же состоянии сеанса, в котором оно было, когда оно было создано, текущие и будущие сеансы должны иметь одинаковые librefs и необходимое содержимое библиотеки.
- Если представление не выполняется по причинам, связанным с именами библиотек, просто создайте необходимые имена библиотек, указывающие на соответствующие библиотеки.
* 1 056 *
Пример * 1 059 *
Ричард создатель представления
libname shazaam; * now there is no shazaam ! ;
proc sql;
create view sasuser.lightning as
select * from shazaam.powersource
where situation='danger'
and pigs='fly'
and
;
Ричард отправляет свой sasuser.lightning
вид (*.sas7bvew
) Бобу и Джейн.
Сессия Боба
libname shazaam 'c:\super-heroes\shaz\sasdata';
proc sql;
select * from sasuser.lightning;
--- FAILS because shazaam.powersource exists but powersource does not have column `pigs`.
Сессия Джейн
libname shazaam 'c:\heroes\shazaam_v2\sasdata'
proc sql;
select * from sasuser.lightning;
--- WORKS because in Jane's '_v2' data shazaam.powersource exists and column `pigs` is present