Sas изменить формат столбца

Обновлено: 02.07.2024

выход для branch_specification - это masham_a, я хочу увеличить длину.

2 ответа

У меня возникла проблема при загрузке SAS дат в Teradata. Формат даты в SAS был '01Jan2017', и после загрузки дат в teradata будет отображаться строка чисел типа 23050, но не в формате даты. И я использовал функцию put перед загрузкой, чтобы изменить формат в SAS, а также после загрузки я.

Я работаю над переводом кода SAS в R, и поскольку я новичок в SAS, у меня возникли некоторые проблемы с пониманием форматов данных в SAS. Кроме того, у меня нет доступа к SAS, поэтому я не могу попробовать его на образце данных. Мой фрагмент кода говорит - Data A; Set A; format Sales_change.

Вы можете добавить оператор length под вашим оператором данных.

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

Вы можете ввести branch_specification с помощью $15. informat при использовании ввода списка для rest, например

Таким образом, вам не нужен отдельный оператор длины, и порядок переменных остается неизменным.

Добавление модификатора : предотвращает чтение входного оператора мимо первого разделителя (пробел по умолчанию) в следующую переменную в тех случаях, когда branch_specification имеет длину менее 15 символов.

Похожие вопросы:

Я новичок в SAS и в настоящее время работаю над небольшим фрагментом работы с SAS. Могу ли я, пожалуйста, спросить, что означает приведенный ниже формат? Я считаю, что 8. форматирует две цифры.

Ниже приводится простая программа SAS: libname learn = 'c:\books\learning'; data learn.test_scores; length ID $ 3 Name $ 15; input ID $ Score1-Score3; label ; Score1='Math Score';.

Мне нужно преобразовать таблицы данных SAS в плоские файлы (или ASCII files, как они когда-то назывались, в отличие от двоичных файлов). И только один плоский файл для каждой исходной таблицы SAS.

У меня возникла проблема при загрузке SAS дат в Teradata. Формат даты в SAS был '01Jan2017', и после загрузки дат в teradata будет отображаться строка чисел типа 23050, но не в формате даты. И я.

Я работаю над переводом кода SAS в R, и поскольку я новичок в SAS, у меня возникли некоторые проблемы с пониманием форматов данных в SAS. Кроме того, у меня нет доступа к SAS, поэтому я не могу.

Как записать фрейм данных R в формат SAS xpt и указать длину каждого столбца? Например, в столбце текстовых переменных самая длинная строка составляет 157 символов, однако я бы хотел, чтобы атрибут.

Я хочу создать пользовательский формат в SAS, который будет преобразовывать коды континентов, такие как NA, EU и AF, в Северную Америку, Европу и Африку. Все было настроено, и у меня есть SAS чтения.

Я пытаюсь import некоторые данные из файла .txt в WPS (который работает с языком SAS). Все работало идеально, пока я не понял, что для одного column/variable, некоторые из моих наблюдений были.

Я пытаюсь настроить автоматические макропеременные даты для запуска скриптов в SAS HiveQL Обычно я использую что-то подобное для стандартного запроса SAS: %let start_date = %sysfunc(intnx(month.

У меня есть следующий файл csv И я открылся, используя python pandas как dataframe . Мне нужно изменить файл следующим образом : 1 - переименуйте столбец (местное время ) в дату 2 - Удалите из.

В предыдущей статье мы познакомились с понятием библиотеки SAS, научились назначать библиотеку для файла Excel, а также познакомились с процедурой, которая создает детализированные отчеты.

Напомню, что скачать ПО вы можете на сайте SAS, ссылка на документацию по установке SAS UE указана в статье №1.

В данной статье вы познакомитесь с несколькими способами чтения текстовых файлов.




Все примеры основаны на файлах, которые хранятся в директории c:\workshop\habrahabr и были созданы заранее в Notepad.

Для создания набора данных SAS из текстового файла, первый необходимо проанализировать, чтобы верно выбрать тип чтения текстового файла. Текстовый файл может содержать как стандартные, так и не страндартные данные.

Стандартные данные – это данные, которые SAS считает без каких-либо инструкций, например, значение переменной Salary в текстовом файле хранится как 12355.44 или дата уже записана как стандартная дата SAS (см. Урок 1). А если вам необходимо обработать значение, например, $12.355,44 или же 01JAN2018, то требуется указать правило чтения, инструкцию, в соответствии с которой данные значения преобразуются в формат SAS. В данной статье кратко описано применение оператора INPUT для преобразования необработанных данных в наборы данных SAS.

Чтение текстового файла со стандартными данными с разделителем.

Рассмотрим простейший пример текстового файла. Файл managers1.dat является текстовым файлом с разделителем «запятая» и выглядит следующим образом:


Новый набор данных SAS должен содержать следующие переменные: ID, First_Name, Last_Name, Job_Title, Country, Gender, Salary. Вы можете заметить, что данные, хранящиеся в этом файле являются стандартными, и SAS считает их без проблем.

Чтение текстового файла реализуется с помощью операторов INFILE и INPUT на шаге DATA.

Подробно изучить оператор INFILE можно в справочнике SAS 9.4 DATA Step Statements: Reference.

Оператор INFILE задает внешний файл для чтения.

Общий синтаксис оператора:


file-specification – идентифицирует источник данных, он может быть внешним файлом или ссылкой на внешний файл.
device-type – метод доступа.
options – допустимые опции.
operating-environment-options – параметры рабочей среды.
В нашем конкретном случае оператор INFILE будет записан следующим образом:

DLM= (или delimiter=) — это опция оператора INFILE, которая задает альтернативный разделитель (пробел является разделителем по умолчанию), который будет использован для чтения внешнего файла. Список разделителей указывается в парных кавычках.
После того, как мы задали путь, необходимо задать имена переменных. В решении этой задачи нам поможет оператор INPUT .

Общий синтаксис оператора INPUT:


specification(s) – могут включать переменные, списки переменных, признак текстового типа ($), pointer-control, спецификацию столбцов, форматы для чтения и так далее (подробнее – в справочнике SAS 9.4 DATA Step Statements: Reference).

@ — спецификатор удержания строки.

Оператор INPUT в нашем случае будет записан следующим образом:


Повторюсь еще раз, что чтение текстового файла происходит на шаге DATA, поэтому требуемый для чтения текстового файла код будет выглядеть так:


Мы создаем временный набор данных SAS под названием managers, который будет храниться в библиотеке WORK до закрытия сеанса SAS (см. Урок 2)

Проверим, корректно ли работает код. Запустим программу и проверим Log:



Распечатаем набор данных:


Результат выполнения шага PROC PRINT:


Обратите внимание, что текстовые значения в некоторых столбцах «обрезаны». Запустим процедуру PROC CONTENTS для опеределения длины созданных переменных:


Опция VARNUM выводит переменные в том порядке, в котором они хранятся в таблице
Фрагмент вывода процедуры:


Длина переменных

По умолчанию SAS Base создает переменные любого типа с длиной 8 байт. Чтобы избежать «обрезанных» значений длину необходимо задавать явно. Данная проблема легко решается с помощью оператора LENGTH.

Важно знать, что данный оператор необходимо писать перед оператором INPUT, это связано с особенностями работы SAS Base.

Итак, наш программный код с использованием оператора LENGTH будет выглядеть следующим образом:


Принадлежность к типу переменных мы указали в операторе LENGTH, поэтому в INPUT просто перечислили названия переменных. Обратите внимание, что в операторе INPUT переменные перечисляются в том порядке, в каком они располагаются в источнике!

Запустим программу и изучим результаты:

Результат выполнения шага PROC PRINT:


Результат выполнения PROC CONTENTS:


Переменные выведены в другом порядке. Это связано с тем, что SAS Base читает все последовательно: сначала внесены переменные из оператора LENGTH, а лишь потом проверен INPUT, и набор данных дополнен переменными ID и Salary.

Для того, чтобы вывести столбцы в первоначальном порядке, мы можем длину переменных ID и Salary задать явно в операторе LENGTH. Минимальная длина для числовых переменных – 3 байта, но не забывайте, что при изменении длины числовой переменной на меньшую можно потерять точность числовых значений.

Таким образом, программа приобретает следующий вид:

Постоянные атрибуты.

На шаге DATA зададим постоянные атрибуты переменным: формат и ярлык. В этом случае атрибуты будут записаны в дескриптор выходного набора данных и будут использоваться на каждом шаге PROC.


Атрибуты выходного набора данных записаны в дескриптор:


Создадим отчет из полученного набора данных SAS. Обратите внимание, что в опциях PROC PRINT мы указываем параметр label для того, чтобы данная процедура использовала заданные ярлыки в отчете.


Чтение текстового файла с нестандартными данными с разделителем.

Рассмотрим текстовый файл managers2.dat из директории c:\workshop\habrahabr.

По сравнению с предыдущим есть столбцы, которые содержат не стандартные для SAS данные.


Новый набор данных должен содержать следующие переменные: ID, First_Name, Last_Name, Job_Title, Country, Gender, Salary, Hire_Date.

Переменная Salary содержит специальные символы, также дата в формате SAS — это число, представляющее количество дней, начиная с 1 января 1960 года, (см. Урок 1), а HireDate хранит другие значения. Для того, чтобы считать нестандартные данные необходимо использовать формат ввода – Informat. Важно помнить, что данные в столбце должны быть одного типа для применения формата ввода.

Всю информацию по форматам ввода можно посмотреть в справочнике SAS 9.4 Formats and Informats: Reference.

Infromat – это правило, которое применяется для чтения не стандартных для SAS входных данных. Тип формата для чтения соответствует типу данных SAS. Например, в источнике хранится значение $100,000. Чтобы удалить знак доллара и запятую перед преобразованием данного значения в число, необходимо применить INFORMAT comma8. или dollar8. В этом случае в итоговой таблице будет храниться значения 100000.

Общий синтаксис формата для чтения выглядит следующим образом:


$ — указатель текстового типа.
Informat — название формата для чтения.
w — ширина поля, включая все символы.
d — количество десятичных знаков.

Считаем текстовый файл managers2.dat


Результаты выполнения процедуры:


Обработка пропущенных значений.

Если в данных есть пропущенные значения, то можно использовать 2 опции DSD и MISSOVER.
DSD ищет пропущенные значение внутри строки, а MISSOVER – в конце.

Таким образом, если мы хотим считать файл managers2a, в котором два подряд идущих разделителя кодируют пропущенное значение:


Используя указанные опции, мы сможем с легкостью считать данный текстовый файл:


Результат выполнения программы:


Ошибка чтения данных.

Если в столбце данные разных типов или форматов, рассмотрим следующий пример

В директории c:\workshop\habrahabr хранится файл bad_data.dat


Напишем DATA Step, который считает данный файл:


Запустим код и посмотрим Log:

В журнале указание на ошибку чтения данных:


Создаются две автоматические переменные:_N_ и _ERROR_.
_N_ — итерация шага.
_ERROR_ — значение 1 указывает на ошибку.

Результат выполнения программы:


Обратите внимание, что значение «44» в переменной Country считалась без ошибок чтения данных, а для переменных Salary и Hire_Date в Log появилось указание на ошибку чтения данных.

Использование указателя позиции начального символа переменной при чтении текстового файла

Если нам необходимо считать подобный текстовый файл info.dat из директории c:\workshop\habrahabr:


Еще один вариант считать внешний файл – использовать указатель позиции начального символа переменной.

Указывается позиция, имя переменной и формат ввода (informat).

Код для нашего случая будет выглядеть следующим образом:


Запустим код и проверим результат:


Чтение текстового файла с наблюдением в несколько строк.

Если же нам необходимо считать текстовый файл, в котором одно наблюдение занимает несколько строк:


Решить данную задачу можно несколькими способами:

    Использовать несколько операторов INPUT.


Результат выполнения процедуры:


Импорт внешних файлов

Для чтения внешних файлов можно использовать процедуру PROC IMPORT.

Импортируем текстовый файл managers5.


Процедура PROC IMPORT в нашем случае выглядит следующим образом:


Запустим код и посмотрим Log:


Результат выполнения программы:


Итак, это кратко о чтении текстовых файлов. Обратите внимание, что функционал у рассмотренных операторов и процедур намного обширнее, подробное описание представлено в документации.

В следующей статье рассмотрим создание наборов данных SAS. И, конечно, традиционно – Grow with SAS!

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

Именно здесь я сейчас нахожусь, и это не меняет формат моей колонки NUMBER:

3 ответа

Я пытаюсь import числа из файла csv в набор данных sas с помощью proc import (SAS ) , но все мои ведущие нули исчезают после import. Например, '0123456' после import я получу только '123456'

Я создал формат, основанный на наборе данных. Теперь я хочу сохранить этот формат в виде списка значений как часть синтаксиса формата proc в моей программе sas. Есть ли способ сделать это? Причина этого заключается в том, что мне часто приходится составлять таблицы, которые группируют страну.

Вы можете импортировать данные, а затем отформатировать их после использования - я считаю, что будет работать следующее.

Вы не можете изменить тип/формат с помощью ИМПОРТА PROC. Однако вы можете записать шаг данных для чтения в файл, а затем настроить все. Если вы не уверены, с чего начать, проверьте журнал после запуска ИМПОРТА PROC, и в нем будет код 'skeleton'. Вы можете скопировать этот код, отредактировать его и запустить, чтобы получить то, что вам нужно. Написание с нуля также работает с использованием операторов INFILE и INPUT.

Из файла справки (поиск "Обработка файлов с разделителями в SAS")

Если вам нужно пересмотреть код после выполнения процедуры, выполните команду RECALL (или нажмите клавишу F4) для сгенерированного шага DATA. На этом этапе вы можете добавить или удалить параметры из оператора INFILE и настроить операторы INFORMAT, FORMAT и INPUT для своих данных.

Конечно, grammar в этом разделе ужасен! Идея заключается в том, что процедура IMPORT генерирует исходный код, который может быть отозван и изменен для последующей отправки.

Похожие вопросы:

При импорте файла excel в SAS я нахожу, что import не выполняется должным образом из-за неправильного формата переменных. Таблица, пытающаяся import выглядеть так: ID Barcode 1 56798274 2 56890263 3.

Я хочу прочитать в куче файлов CSV. Этот (movies_user.cleaned.csv), например, содержит 2 переменные: uid (идентификатор пользователя) и movie_name. Поскольку SAS считывает только первые 20 строк для.

Я пытаюсь import числа из файла csv в набор данных sas с помощью proc import (SAS ) , но все мои ведущие нули исчезают после import. Например, '0123456' после import я получу только '123456'

Я создал формат, основанный на наборе данных. Теперь я хочу сохранить этот формат в виде списка значений как часть синтаксиса формата proc в моей программе sas. Есть ли способ сделать это? Причина.

Я пытаюсь import несколько .csv файлов в SAS. Эти файлы csv представляют собой почасовые данные о температуре за 12 месяцев, каждый столбец представляет дату и время. Например, столбец для.

В рамках более крупного задания я пытаюсь использовать proc IMPORT in SAS для чтения в файле Excel CSV без заголовков и запятых. Я не уверен, почему в файле CSV нет разделителей запятых, но это было.

Я пытаюсь import некоторые данные из файла .txt в WPS (который работает с языком SAS). Все работало идеально, пока я не понял, что для одного column/variable, некоторые из моих наблюдений были.

У меня есть набор данных SAS с числовым полем. Когда я делаю proc export dbms=xlsx , он преобразует число в научную нотацию. Теперь я знаю, что могу изменить число на текст в SAS, и это сохранит.

Итак, я пытаюсь импортировать некоторые наборы данных в SAS и присоединиться к ним, единственная проблема заключается в том, что я получаю эту ошибку после присоединения к ним - proc import.

Привет! Я Анна Добрыченко, преподаватель учебного центра SAS в России: провожу тренинги по программированию на SAS Base, использованию SAS Enterprise Guide и SAS Visual Analytics, участвую в подготовке стажеров. Вся техническая документация и статьи продуктов и решений SAS изложены на английском языке, а локализованного материала в Рунете недостаточно.

Поэтому в нашем блоге на Хабрахабре я расскажу об основах программирования на SAS Base в цикле статей.



Язык SAS Base представляет собой основу большинства этих продуктов и решений SAS, именно ему и будут посвящены статьи. В них я познакомлю с терминологией, типами данных, с которыми работает SAS Base, со структурой кода, написанного на SAS Base, и покажу основные приемы, которые используются при написании программ SAS.

Вводная

Есть несколько вариантов изучить основы программирования на SAS Base.

  1. Прочитать документацию: все решения SAS хорошо задокументированы, чтобы пользоваться ими было легко даже новичку. Все справочники находятся на сайте поддержки. Из плюсов стоит отметить, что найти можно все, что интересует бесплатно, из минусов – долго, и вся информация на английском языке.
  2. Посмотреть бесплатный онлайн-курс в формате e-Learning. Плюсы – все подробно разъясняется с примерами и выполнением практических упражнений, минусы – долго (длительность 24 часа), курс на английском языке. Также можно посмотреть видео SAS на Youtube.
  3. Купить книгу, например, Little SAS Book. Книга знакомит начинающих пользователей с языком SAS Base, содержит практические примеры и упражнения. Но опять же, вся литература, выпускаемая SAS, на английском языке и имеет относительно высокую стоимость. Все книги представлены на официальном сайте SAS в разделе «Обучение», также можно воспользоваться ресурсом Amazon. Но если вы студент и участвуете, например, в нашей стажерской программе, то вам могло повезти и вы получили книгу в подарок, что не может не радовать.
  4. Прочитать наш курс статей, освящающий основы программирования на SAS Base. Эти статьи адресованы новым пользователям SAS, работающим в различных сферах бизнеса, по большому счету для всех, кто собирается проводить анализ данных с помощью решений SAS или писать свои программы на SAS Base.

Добываем инструменты

Научиться программировать на SAS Base можно на бесплатном интерфейсе под названием SAS University Edition или сокращенно SAS UE.


При запуске программы или задачи SAS Studio подключается к серверу SAS для обработки кода. Сервер SAS может быть размещен в облачной среде, локальной среде или же на локальном компьютере. После обработки кода результаты возвращаются в SAS Studio в вашем браузере.

SAS Studio поддерживает несколько веб-браузеров: Microsoft Internet Explorer, Apple Safari, Mozilla Firefox, and Google Chrome.

Разбираемся в интерфейсе

Немного о том, как выглядит интерфейс SAS UE.

Слева находится панель навигации, справа – рабочая область. Три основные вкладки рабочей области – «Код», «Журнал», «Результаты».

Справка по синтаксису появляется, как только вы уменьшаете список релевантных ключевых слов. Справка по синтаксису также появляется, если щелкнуть правой кнопкой мыши на ключевое слово в программе и выбрать Syntax Help (Справка по синтаксису).


Можно перейти на страницу документации по той или иной процедуре, кликнув на ссылку «Документация по продукту».


На вкладке «Выходные данные» вы можете увидеть созданные таблицы.


На вкладке «Результаты» вы можете просматривать вывод процедур, создающих отчеты.


Если какая-то часть программы используется часто, ее можно добавить во «Фрагменты кода».





Вы можете открыть справку (SAS Help) и документацию прямо из главной панели инструментов. SAS Studio Help (Справка SAS Studio) для перехода на страницу документации по SAS Studio. Эта веб-страница содержит справку по интерфейсу SAS Studio.


Если вы только начали изучать продукты SAS, то наверняка незнакомы с некоторыми особенностями терминологии, используемой в продуктах компании.

Sas7bdat и данные

Начнем с того, что SAS Base работает только с особым форматом данных, который называется SAS Data Set (набор данных SAS). Но помимо всего прочего SAS является очень гибким инструментом и может считывать практически любые данные, преобразовывая в SAS Data Set. Набор данных SAS представляет собой обычную плоскую таблицу, состоящую из строк и столбцов. Набор данных SAS хранится как файл с расширением .sas7bdat.

С точки зрения традиционной терминологии SAS наборы данных состоят из переменных (variables) и наблюдений (observations). Проведя аналогию с терминологией реляционных баз данных, переменные являются столбцами, а наблюдения – строками.

Рассмотрим на примере описанное выше.

Представленная программа создает таблицу people (сам синтаксис мы рассмотрим позже):


Исходные данные могут иметь различный вид, SAS упростил эту задачу. В SAS существует всего два типа данных числовой (numeric) и символьный (character). В наборе данных people переменные First_Name, Last_Name, Phone_Number имеют символьный тип, а переменная Id – числовой. Стоит отметить, что даты в SAS — это тоже числа.

Данная программа создает набор данных time, содержащий текущие дату, время и дату и время (datetime) в формате SAS:


Возможный вид набора данных представлен ниже:


Все три значения – это даты в формате SAS. Итак, дата в формате SAS – это количество дней, начиная с 01 января 1960 до текущей даты, время в формате SAS – это количество секунд, начиная с полуночи текущей даты, дата и время – это количество секунд, начиная с полуночи 1960 года. Именно в таком виде хранятся даты в формате SAS в наборах данных.

Иногда данные могут быть неполными, как в наборе данных people: в нем отсутствуют некоторые значения. В SAS существует понятие missing – пропущенное значение. По факту, пропущенное значение – это тип значения для переменной, которая не содержит данных для конкретной строки или столбца. По умолчанию SAS записывает недостающее числовое значение в виде точки и отсутствующее значение текстовой переменной в качестве пробела. При сравнении «миссинг» всегда равен «миссингу», при этом в операторах сравнения «миссинг» — самое минимальное значение.

Кроме фактических значений, набор данных SAS имеет такие данные, как тип переменной, длину, имя, ярлыки, форматы, называемые атрибутами набора данных.

Переменные и атрибуты

У переменных в SAS есть ряд атрибутов, давайте познакомимся с некоторыми из них.
Длина переменной — это количество байт, приходящихся на один символ.
Данный код демонстрирует вышеизложенное:


Имена переменных, как и наборов данных, задаются самостоятельно. Есть ряд правил именования переменных SAS:

  1. Имена не должны превышать 32 символов.
  2. Имена должны начинаться только с буквы или символа нижнего подчеркивания.
  3. Имена могут содержать только буквы, цифры или символы нижнего подчеркивания.
  4. В именах переменных нельзя использовать специальные символы, в том числе и пробел.
  5. Имена могут содержать как прописные, так и строчные буквы, так как SAS не чувствителен к регистру при именовании сущностей (переменные, наборы данных, библиотеки и так далее). Обращаться в коде к переменной вы можете в любом регистре. Но! Важно то, что SAS запоминает первое появление названия переменной в программе и при формировании отчета использует именно его.


В последующих статьях мы подробнее познакомимся с атрибутом формат.

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

Структура программы SAS Base

Ознакомимся со структурой программы на языке SAS Base.

Все программы SAS состоят всего из двух шагов: шаг PROC и шаг DATA. Шаг DATA предназначен для чтения, преобразования и создания наборов данных SAS, а процедурный шаг PROC в основном – для анализа данных, формирования и печати отчетов. Шаги состоят из операторов. Индикатор окончания шага – это ключевое слово RUN (или, например, QUIT для ряда процедур), также сигналом к завершению шага может быть наличие операторов STOP и ABORT. Шаги могут размещаться в произвольном порядке, компилятор считывает последовательно шаг за шагом. Стоит отметить, что и сами шаги считываются построчно и никак иначе. Разные части программы обмениваются друг с другом данными в виде наборов данных SAS.

Синтаксис SAS Base очень прост, так же как и написание кода.

Пример простейшей программы SAS представлен ниже:


Важным требованием синтаксиса является наличие точки с запятой в конце каждого оператора. Данная программа SAS считывает набор данных ads из библиотеки sasuser (с понятием «библиотека» мы познакомимся в следующей статье), создает новый набор данных new. На следующем шаге мы создаем отчет из нового набора данных.

Стоит отметить, что у SAS Base нет требований к форматированию кода. Вы можете написать код в одну строку и код будет работать. Чтобы отформатировать код в SAS U, нажмите на кнопку «формат кода»:


Хороший тон для программиста – это пояснения к исходному тексту программы. Комментарии не влияют на семантику программы.

В SAS Base есть два вида комментариев:



Как отмечалось ранее, Log необходимо детально изучать. Давайте рассмотрим несколько самых распространенных синтаксических ошибок:

В данном случае шаг отработает с предупреждением. В Log мы увидим следующую информацию:

В данном случае run на втором шаге программы будет расценен как параметр оператора proc print.

Ошибка будет выглядеть следующим образом:


  • Непарные кавычки. В SAS Base можно использовать одинарные и двойные кавычки, которые должны быть парными.


Итак, это кратко об интерфейсе SAS UE, терминологии SAS Base и основных требованиях к синтаксису SAS Base. В следующей статье мы рассмотрим библиотеки SAS и их создание, создание детализированных отчетов, рассмотрим форматирование значений и задание постоянных атрибутов переменным.

Уверена, что работа с SAS окажется интересной и увлекательной. Grow with SAS!

Читайте также: