Sas руководство по эксплуатации

SAS – Обзор

SAS означает ПО для статистического анализа . Он был создан в 1960 году Институтом SAS. С 1 января 1960 года SAS использовался для управления данными, бизнес-аналитики, прогнозного анализа, описательного и предписывающего анализа и т. Д. С тех пор в программное обеспечение было введено много новых статистических процедур и компонентов.

С введением JMP (Jump) для статистики SAS воспользовался графическим интерфейсом пользователя, который был представлен Macintosh. Jump в основном используется для таких приложений, как Six Sigma, проектирования, контроля качества, инженерного и научного анализа.

SAS не зависит от платформы, что означает, что вы можете запускать SAS в любой операционной системе – Linux или Windows. SAS управляется программистами SAS, которые используют несколько последовательностей операций над наборами данных SAS для создания надлежащих отчетов для анализа данных.

За эти годы SAS добавила множество решений в свой портфель продуктов. У него есть решение для управления данными, качества данных, аналитики больших данных, интеллектуального анализа текста, борьбы с мошенничеством, науки о здоровье и т. Д. Мы можем с уверенностью предположить, что у SAS есть решение для любой области бизнеса.

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

Почему мы используем SAS

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

  • Управление данными
  • Статистический анализ
  • Формирование отчета с идеальной графикой
  • Планирование бизнеса
  • Исследование операций и управление проектами
  • Улучшение качества
  • Разработка приложения
  • Извлечение данных
  • Преобразование данных
  • Обновление и модификация данных

Если говорить о компонентах SAS, то в SAS доступно более 200 компонентов.

Sr.No. Компонент SAS и их использование
1

База САС

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

2

SAS / GRAPH

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

3

SAS / STAT

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

4

SAS / ИЛИ

Исследование операций.

5

SAS / ETS

Эконометрика и анализ временных рядов.

6

SAS / IML

Cинтерактивный матричный язык.

7

SAS / AF

Объекты приложений.

8

SAS / QC

Контроль качества.

9

SAS / INSIGHT

Сбор данных.

10

SAS / PH

Анализ клинических испытаний.

11

SAS / Enterprise Miner

Сбор данных.

База САС

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

SAS / GRAPH

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

SAS / STAT

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

SAS / ИЛИ

Исследование операций.

SAS / ETS

Эконометрика и анализ временных рядов.

SAS / IML

Cинтерактивный матричный язык.

SAS / AF

Объекты приложений.

SAS / QC

Контроль качества.

SAS / INSIGHT

Сбор данных.

SAS / PH

Анализ клинических испытаний.

SAS / Enterprise Miner

Сбор данных.

Типы программного обеспечения SAS

  • Windows или ПК SAS
  • SAS EG (Руководство для предприятий)
  • SAS EM (Enterprise Miner, т.е. для прогнозного анализа)
  • SAS Средства
  • SAS Stats

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

Окно SaS состоит из 5 частей.

Sr.No. Окно SAS и их использование
1

Окно журнала

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

2

Окно редактора

Окно редактора – это та часть SAS, где мы пишем все коды. Это как блокнот.

3

Окно вывода

Окно вывода – это окно результатов, в котором мы можем увидеть вывод нашей программы.

4

Окно результатов

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

5

Исследовать Окно

Здесь перечислены все библиотеки. Вы также можете просмотреть файлы, поддерживаемые вашей системой SAS, отсюда.

Окно журнала

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

Окно редактора

Окно редактора – это та часть SAS, где мы пишем все коды. Это как блокнот.

Окно вывода

Окно вывода – это окно результатов, в котором мы можем увидеть вывод нашей программы.

Окно результатов

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

Исследовать Окно

Здесь перечислены все библиотеки. Вы также можете просмотреть файлы, поддерживаемые вашей системой SAS, отсюда.

Библиотеки в САС

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

В SAS доступны два типа библиотек:

Sr.No. Окно SAS и их использование
1

Временная или рабочая библиотека

Это библиотека SAS по умолчанию. Все программы, которые мы создаем, хранятся в этой рабочей библиотеке, если мы не назначаем им другую библиотеку. Вы можете проверить эту рабочую библиотеку в окне просмотра. Если вы создаете программу SAS и не назначаете ей постоянную библиотеку, то, если после этого вы снова завершите сеанс, вы запустите программное обеспечение, тогда эта программа не будет в рабочей библиотеке. Потому что он будет там только в библиотеке Work, пока сеанс идет.

2

Постоянная библиотека

Это постоянные библиотеки САС. Мы можем создать новую библиотеку SAS, используя утилиты SAS или написав коды в окне редактора. Эти библиотеки названы постоянными, потому что если мы создадим программу в SAS и сохраним ее в этих постоянных библиотеках, они будут доступны столько, сколько нам нужно.

Временная или рабочая библиотека

Это библиотека SAS по умолчанию. Все программы, которые мы создаем, хранятся в этой рабочей библиотеке, если мы не назначаем им другую библиотеку. Вы можете проверить эту рабочую библиотеку в окне просмотра. Если вы создаете программу SAS и не назначаете ей постоянную библиотеку, то, если после этого вы снова завершите сеанс, вы запустите программное обеспечение, тогда эта программа не будет в рабочей библиотеке. Потому что он будет там только в библиотеке Work, пока сеанс идет.

Постоянная библиотека

Это постоянные библиотеки САС. Мы можем создать новую библиотеку SAS, используя утилиты SAS или написав коды в окне редактора. Эти библиотеки названы постоянными, потому что если мы создадим программу в SAS и сохраним ее в этих постоянных библиотеках, они будут доступны столько, сколько нам нужно.

SAS – Окружающая среда

SAS Institute Inc. выпустила бесплатную версию SAS University Edition, которая достаточно хороша для изучения программирования на SAS. Он предоставляет все функции, которые вам необходимо изучить в программировании BASE SAS, что, в свою очередь, позволяет изучать любой другой компонент SAS.

Процесс загрузки и установки SAS University Edition очень прост. Он доступен как виртуальная машина, которая должна работать в виртуальной среде. Прежде чем запускать программное обеспечение SAS, на вашем компьютере должно быть уже установлено программное обеспечение для виртуализации. В этом уроке мы будем использовать VMware . Ниже приведены подробные инструкции по загрузке, настройке среды SAS и проверке установки.

Скачать SAS University Edition

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

SAS_environment_download_link

Настройка программного обеспечения для виртуализации

Прокрутите вниз на той же странице, чтобы найти установочный stpe-1. Этот шаг предоставляет ссылки для получения программного обеспечения для виртуализации, которое подходит вам. Если в вашей системе уже установлено какое-либо из этих программ, вы можете пропустить этот шаг.

SAS_environment2_vm_options

Быстрый старт программного обеспечения для виртуализации

Если вы совершенно не знакомы со средой виртуализации, вы можете ознакомиться с ней, ознакомившись со следующими руководствами и видеороликами, доступными в шаге 2. Опять же, вы можете пропустить этот шаг, если вы уже знакомы.

SAS_environment3_vm_guides_videos

Скачать файл Zip

На шаге 3 вы можете выбрать подходящую версию SAS University Edition, совместимую с имеющейся у вас средой виртуализации. Он загружается в виде zip-файла с именем, похожим на unvbasicvapp__9411005__vmx__en__sp0__1.zip

SAS_environment4_vm_download

Разархивируйте zip-файл

Приведенный выше zip-файл необходимо распаковать и сохранить в соответствующем каталоге. В нашем случае мы выбрали zip-файл VMware, который показывает следующие файлы после распаковки.

SAS_environment5_file_unzip

Загрузка виртуальной машины

Запустите проигрыватель VMware (или рабочую станцию) и откройте файл, который заканчивается расширением .vmx. Появится экран ниже. Обратите внимание на основные настройки, такие как память и место на жестком диске, выделенные для виртуальной машины.

SAS_environment6_vm_machine

Включите виртуальную машину

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

SAS_environment7_vm_machine_poweron

Приведенный ниже экран появляется, когда виртуальный сервер SAS находится в состоянии загрузки, после чего запущенный виртуальный компьютер выдает запрос на переход к URL-адресу, который открывает среду SAS.

SAS_environment8_vm_running

Запуск SAS studio

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

SAS_environment9_vm_start_studio

SAS Environment

При нажатии на кнопку « Запустить SAS Studio» мы получаем среду SAS, которая по умолчанию открывается в режиме визуального программиста, как показано ниже.

SAS_environment10_vm_visual_programming

Мы также можем изменить его в режим SAS programmer, нажав на выпадающий список.

SAS_environment11_vm_SAS_Programmer

Теперь мы готовы писать программы SAS.

SAS – интерфейс пользователя

Программы SAS создаются с использованием пользовательского интерфейса, известного как SAS Studio .

Ниже приведено описание различных окон и их использования.

Главное окно SAS

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

ui_main_screen1.JPG

Автозаполнение кода

Это очень мощная функция, которая помогает получить правильный синтаксис ключевых слов SAS, а также предоставляет ссылку на документацию по этому ключевому слову.

ui_program_code2.JPG

Выполнение программы

Выполнение кода выполняется нажатием на значок запуска, который является первым значком слева или кнопкой F3.

ui_program_run_4.JPG

Журнал программы

Журнал выполненного кода доступен на вкладке Журнал . Описывает ошибки, предупреждения или заметки о выполнении программы. Это окно, где вы получаете все подсказки для устранения проблем вашего кода.

ui_program_log_5.JPG

Результат программы

Результат выполнения кода отображается на вкладке РЕЗУЛЬТАТЫ. По умолчанию они форматируются как HTML-таблицы.

ui_program_result_6.JPG

Вкладки программы

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

Серверные файлы и папки

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

ui_program_multiple_7.JPG

Задачи

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

ui_program_tasks_8.JPG

обрывки

На вкладке «Фрагменты кода» содержатся функции для записи макроса SAS и создания файлов из существующего набора данных.

ui_program_snippets_9.JPG

Библиотеки программ

SAS хранит наборы данных в библиотеках SAS. Временная библиотека доступна только для одного сеанса и называется WORK. Но постоянные библиотеки доступны всегда.

ui_program_libraries_10.JPG

Ярлыки файлов

Эта вкладка используется для доступа к файлам, которые хранятся вне среды SAS. Ярлыки для таких файлов хранятся на этой вкладке.

ui_program_file_shortcuts_11.JPG

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

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

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

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

ps_flow_1

Каждая программа SAS должна иметь все эти шаги для завершения чтения входных данных, анализа данных и выдачи результатов анализа. Также оператор RUN в конце каждого шага необходим для завершения выполнения этого шага.

Шаг данных

Этот шаг включает в себя загрузку необходимого набора данных в память SAS и определение переменных (также называемых столбцами) набора данных. Он также фиксирует записи (также называемые наблюдениями или объектами). Синтаксис для оператора DATA такой, как показано ниже.

Синтаксис

DATA data_set_name;		#Name the data set.
INPUT var1,var2,var3; 		#Define the variables in this data set.
NEW_VAR;			#Create new variables.
LABEL;			      	#Assign labels to variables.
DATALINES;		      	#Enter the data.
RUN;

пример

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

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
comm = SALARY*0.25;
LABEL ID = 'Employee ID' comm = 'COMMISION';
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC Step

Этот шаг включает в себя вызов встроенной процедуры SAS для анализа данных.

Синтаксис

PROC procedure_name options; #The name of the proc.
RUN;

пример

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

PROC MEANS;
RUN;

Шаг ВЫХОДА

Данные из наборов данных могут отображаться с помощью условных операторов вывода.

Синтаксис

PROC PRINT DATA = data_set;
OPTIONS;
RUN;

пример

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

PROC PRINT DATA = TEMP;
WHERE SALARY > 700;
RUN;

Полная программа SAS

Ниже приведен полный код для каждого из вышеуказанных шагов.

ps_complete_code

Выход программы

Вывод кода выше виден на вкладке РЕЗУЛЬТАТЫ .

ps_program_output

SAS – основной синтаксис

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

Три компонента любой программы SAS – операторы, переменные и наборы данных следуют приведенным ниже правилам синтаксиса.

Заявления SAS

  • Заявления могут начинаться где угодно и заканчиваться где угодно. Точка с запятой в конце последней строки обозначает конец оператора.

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

  • Пространство может использоваться для разделения компонентов в программной инструкции SAS.

  • Ключевые слова SAS не чувствительны к регистру.

  • Каждая программа SAS должна заканчиваться оператором RUN.

Заявления могут начинаться где угодно и заканчиваться где угодно. Точка с запятой в конце последней строки обозначает конец оператора.

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

Пространство может использоваться для разделения компонентов в программной инструкции SAS.

Ключевые слова SAS не чувствительны к регистру.

Каждая программа SAS должна заканчиваться оператором RUN.

Имена переменных SAS

Переменные в SAS представляют столбец в наборе данных SAS. Имена переменных следуют приведенным ниже правилам.

  • Это может быть максимум 32 символа.

  • Не может включать пробелы.

  • Он должен начинаться с букв от A до Z (без учета регистра) или подчеркивания (_).

  • Может включать цифры, но не в качестве первого символа.

  • Имена переменных нечувствительны к регистру.

Это может быть максимум 32 символа.

Не может включать пробелы.

Он должен начинаться с букв от A до Z (без учета регистра) или подчеркивания (_).

Может включать цифры, но не в качестве первого символа.

Имена переменных нечувствительны к регистру.

пример

# Valid Variable Names
REVENUE_YEAR
MaxVal
_Length

# Invalid variable Names
Miles Per Liter	#contains Space.
RainfFall%      # contains apecial character other than underscore.
90_high		# Starts with a number.

Набор данных SAS

Оператор DATA отмечает создание нового набора данных SAS. Правила создания набора данных приведены ниже.

  • Одно слово после оператора DATA указывает имя временного набора данных. Это означает, что набор данных стирается в конце сеанса.

  • Имя набора данных может начинаться с имени библиотеки, что делает его постоянным набором данных. Это означает, что набор данных сохраняется после окончания сеанса.

  • Если имя набора данных SAS опущено, то SAS создает временный набор данных с именем, сгенерированным SAS, например – DATA1, DATA2 и т. Д.

Одно слово после оператора DATA указывает имя временного набора данных. Это означает, что набор данных стирается в конце сеанса.

Имя набора данных может начинаться с имени библиотеки, что делает его постоянным набором данных. Это означает, что набор данных сохраняется после окончания сеанса.

Если имя набора данных SAS опущено, то SAS создает временный набор данных с именем, сгенерированным SAS, например – DATA1, DATA2 и т. Д.

пример

# Temporary data sets.
DATA TempData;
DATA abc;
DATA newdat;

# Permanent data sets.
DATA LIBRARY1.DATA1
DATA MYLIB.newdat;

Расширения файлов SAS

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

  • * .sas – представляет собой файл кода SAS, который можно редактировать с помощью редактора SAS или любого текстового редактора.

  • * .log – представляет собой файл журнала SAS, в котором содержится такая информация, как ошибки, предупреждения и сведения о наборе данных для представленной программы SAS.

  • * .mht / * .html – представляет файл результатов SAS.

  • * .sas7bdat – представляет файл данных SAS, который содержит набор данных SAS, включая имена переменных, метки и результаты расчетов.

* .sas – представляет собой файл кода SAS, который можно редактировать с помощью редактора SAS или любого текстового редактора.

* .log – представляет собой файл журнала SAS, в котором содержится такая информация, как ошибки, предупреждения и сведения о наборе данных для представленной программы SAS.

* .mht / * .html – представляет файл результатов SAS.

* .sas7bdat – представляет файл данных SAS, который содержит набор данных SAS, включая имена переменных, метки и результаты расчетов.

Комментарии в САС

Комментарии в коде SAS указываются двумя способами. Ниже приведены эти два формата.

*сообщение; введите комментарий

Комментарий в виде * сообщения; не может содержать точку с запятой или непревзойденную кавычку внутри него. Также не должно быть никаких ссылок на какие-либо макро-операторы внутри таких комментариев. Он может занимать несколько строк и иметь любую длину. Ниже приведен пример однострочного комментария –

* This is comment ;

Ниже приведен пример многострочного комментария:

* This is first line of the comment
* This is second line of the comment;

/ * сообщение * / введите комментарий

Комментарий в виде / * message * / используется чаще и не может быть вложенным. Но он может занимать несколько строк и иметь любую длину. Ниже приведен пример однострочного комментария –

/* This is comment */

Ниже приведен пример многострочного комментария:

/* This is first line of the comment
* This is second line of the comment */

SAS – Наборы данных

Данные, доступные для анализа в программе SAS, называются набором данных SAS. Он создается с использованием шага DATA. SAS может считывать различные файлы в качестве источников данных, таких как CSV, Excel, Access, SPSS, а также необработанные данные . Он также имеет много встроенных источников данных, доступных для использования.

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

  • Но если он хранится постоянно для будущего использования, он называется постоянным набором данных . Все постоянные наборы данных хранятся в определенной библиотеке.

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

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

Набор данных SAS хранится в виде строк и столбцов и также называется таблицей данных SAS. Ниже мы видим примеры постоянных наборов данных, которые встроены, а также выделены красным цветом из внешних источников.

SAS Встроенные наборы данных

Эти наборы данных уже доступны в установленном программном обеспечении SAS. Их можно исследовать и использовать при формулировании выборочных выражений для анализа данных. Чтобы изучить эти наборы данных, перейдите в Библиотеки -> Мои библиотеки -> SASHELP . Расширяя его, мы видим список имен всех доступных встроенных наборов данных.

data_sets_1_explore

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

data_sets_2_CARS

Мы можем прокрутить вправо, используя полосу прокрутки внизу, чтобы изучить все столбцы и их значения в таблице.

data_sets_3_CARS_explore

Импорт внешних наборов данных

Мы можем экспортировать наши собственные файлы в виде наборов данных с помощью функции импорта, доступной в SAS Studio. Но эти файлы должны быть доступны в папках сервера SAS. Таким образом, мы должны загрузить исходные файлы данных в папку SAS, используя опцию загрузки в разделе « Файлы и папки сервера» .

data_sets_4_1_loacl_files_to_server

Далее мы используем указанный выше файл в программе SAS, импортируя его. Для этого мы используем опцию Задачи -> Утилиты -> Импорт данных, как показано ниже. Дважды щелкните кнопку «Импорт данных», которая откроет окно справа, чтобы выбрать файл для набора данных.

Далее Нажмите кнопку « Выбрать файлы» под программой импорта данных на правой панели. Ниже приведен список типов файлов, которые можно импортировать.

data_sets_5_import_files

Мы выбираем файл employee.txt, хранящийся в локальной системе, и импортируем файл, как показано ниже.

data_sets_4_2_import_utility

Просмотр импортированных данных

Мы можем просмотреть импортированные данные, запустив код импорта по умолчанию, созданный с помощью параметра «Выполнить».

data_sets_6_view_imported_data

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

SAS – переменные

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

Типы переменных SAS

SAS имеет три типа переменных, как показано ниже:

Числовые переменные

Это тип переменной по умолчанию. Эти переменные используются в математических выражениях.

Синтаксис

INPUT VAR1 VAR2 VAR3; 		#Define numeric variables in the data set.

В приведенном выше синтаксисе оператор INPUT показывает объявление числовых переменных.

пример

INPUT ID SALARY COMM_PERCENT;

Символьные переменные

Символьные переменные используются для значений, которые не используются в математических выражениях. Они рассматриваются как текст или строки. Переменная становится символьной переменной, добавляя $ sing с пробелом в конце имени переменной.

Синтаксис

INPUT VAR1 $ VAR2 $ VAR3 $; 	#Define character variables in the data set.

В приведенном выше синтаксисе оператор INPUT показывает объявление символьных переменных.

пример

INPUT FNAME $ LNAME $ ADDRESS $;

Переменные даты

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

Синтаксис

INPUT VAR1 DATE11. VAR2 MMDDYY10. ; #Define date variables in the data set.

В приведенном выше синтаксисе оператор INPUT показывает объявление переменных даты.

пример

INPUT DOB DATE11. START_DATE MMDDYY10. ;

Использование переменных в программе SAS

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

пример

Приведенный ниже код показывает, как три типа переменных объявляются и используются в программе SAS

DATA TEMP;
INPUT ID NAME $ SALARY DEPT $ DOJ DATE9. ;
FORMAT DOJ DATE9. ;
DATALINES;
1 Rick 623.3 IT 02APR2001
2 Dan 515.2 OPS 11JUL2012
3 Michelle 611 IT 21OCT2000
4 Ryan 729 HR 30JUL2012
5 Gary 843.25 FIN 06AUG2000
6 Tusar 578 IT 01MAR2009
7 Pranab 632.8 OPS 16AUG1998
8 Rasmi 722.5 FIN 13SEP2014
;
PROC PRINT DATA = TEMP;
RUN;

В приведенном выше примере все символьные переменные объявляются с последующим знаком $, а переменные даты объявляются с последующим форматом даты. Вывод вышеуказанной программы такой, как показано ниже.

SAS_BS_variable_output

Использование переменных

Переменные очень полезны при анализе данных. Они используются в выражениях, в которых применяется статистический анализ. Давайте рассмотрим пример анализа встроенного набора данных с именем CARS, который представлен в разделе Библиотеки → Мои библиотеки → SASHELP . Дважды щелкните по нему, чтобы изучить переменные и их типы данных.

variable_1_explore_car

Затем мы можем получить сводную статистику по некоторым из этих переменных, используя параметры Задачи в SAS studio. Перейдите в Задачи -> Статистика -> Сводная статистика и дважды щелкните по ней, чтобы открыть окно, как показано ниже. Выберите набор данных SASHELP.CARS и выберите три переменные – MPG_CITY, MPG_Highway и Weight под переменными анализа. Удерживайте клавишу Ctrl при выборе переменных, нажав. Нажмите «Выполнить».

variable_2_select_summary_car

Нажмите на вкладку результатов после вышеуказанных шагов. Он показывает статистическую сводку трех выбранных переменных. В последнем столбце указано количество наблюдений (записей), использованных в анализе.

variable_3_summary_result_car

SAS – Струны

Строки в SAS – это значения, которые заключены в одинарные кавычки. Также строковые переменные объявляются путем добавления пробела и знака $ в конце объявления переменной. SAS имеет много мощных функций для анализа и манипулирования строками.

Объявление строковых переменных

Мы можем объявить строковые переменные и их значения, как показано ниже. В приведенном ниже коде мы объявляем две символьные переменные длиной 6 и 5. Ключевое слово LENGTH используется для объявления переменных без создания нескольких наблюдений.

data string_examples;
   LENGTH string1 $ 6 String2 $ 5;
   /*String variables of length 6 and 5 */
   String1 = 'Hello';
   String2 = 'World';
   Joined_strings =  String1 ||String2 ;
run;
proc print data = string_examples noobs;
run;

Запустив приведенный выше код, мы получим вывод, который показывает имена переменных и их значения.

strings_1_concatenate

Строковые функции

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

SUBSTRN

Эта функция извлекает подстроку, используя начальную и конечную позиции. В случае отсутствия конечной позиции он извлекает все символы до конца строки.

Синтаксис

SUBSTRN('stringval',p1,p2)

Ниже приведено описание используемых параметров:

  • stringval – это значение строковой переменной.
  • p1 – начальная позиция извлечения.
  • p2 – конечная позиция извлечения.

пример

data string_examples;
   LENGTH string1 $ 6 ;
   String1 = 'Hello';
   sub_string1 = substrn(String1,2,4) ;
   /*Extract from position 2 to 4 */
   sub_string2 = substrn(String1,3) ;
   /*Extract from position 3 onwards */
run;
proc print data = string_examples noobs;
run;

Запустив приведенный выше код, мы получаем вывод, который показывает результат функции substrn.

strings_2_substr

TRIMN

Эта функция удаляет завершающий пробел из строки.

Синтаксис

TRIMN('stringval')

Ниже приведено описание используемых параметров:

  • stringval – это значение строковой переменной.
data string_examples;
   LENGTH string1 $ 7  ;
   String1='Hello  ';
   length_string1 = lengthc(String1);
   length_trimmed_string = lengthc(TRIMN(String1));
run;
proc print data = string_examples noobs;
run;

Запустив приведенный выше код, мы получаем вывод, который показывает результат функции TRIMN.

strings_3_trimn

SAS – Массивы

Массивы в SAS используются для хранения и извлечения ряда значений с использованием значения индекса. Индекс представляет местоположение в зарезервированной области памяти.

Синтаксис

В SAS массив объявляется с использованием следующего синтаксиса –

ARRAY ARRAY-NAME(SUBSCRIPT) ($) VARIABLE-LIST ARRAY-VALUES

В приведенном выше синтаксисе –

  • ARRAY – это ключевое слово SAS для объявления массива.

  • ARRAY-NAME – это имя массива, которое следует тому же правилу, что и имена переменных.

  • SUBSCRIPT – это число значений, которые массив будет хранить.

  • ($) является необязательным параметром, который используется только в том случае, если массив будет хранить символьные значения.

  • VARIABLE-LIST – необязательный список переменных, которые являются заполнителями для значений массива.

  • ARRAY-VALUES – это фактические значения, которые хранятся в массиве. Они могут быть объявлены здесь или могут быть прочитаны из файла или данных.

ARRAY – это ключевое слово SAS для объявления массива.

ARRAY-NAME – это имя массива, которое следует тому же правилу, что и имена переменных.

SUBSCRIPT – это число значений, которые массив будет хранить.

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

VARIABLE-LIST – необязательный список переменных, которые являются заполнителями для значений массива.

ARRAY-VALUES – это фактические значения, которые хранятся в массиве. Они могут быть объявлены здесь или могут быть прочитаны из файла или данных.

Примеры декларации массива

Массивы могут быть объявлены разными способами с использованием приведенного выше синтаксиса. Ниже приведены примеры.

# Declare an array of length 5 named AGE with values.
ARRAY AGE[5] (12 18 5 62 44);

# Declare an array of length 5 named COUNTRIES with values starting at index 0.
ARRAY COUNTRIES(0:8) A B C D E F G H I;

# Declare an array of length 5 named QUESTS which contain character values.
ARRAY QUESTS(1:5) $ Q1-Q5;

# Declare an array of required length as per the number of values supplied.
ARRAY ANSWER(*) A1-A100;

Доступ к значениям массива

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

DATA array_example;
INPUT a1 $ a2 $ a3 $ a4 $ a5 $;
ARRAY colours(5) $ a1-a5;
mix = a1||'+'||a2;
DATALINES;
yello pink orange green blue
;
RUN;
PROC PRINT DATA = array_example;
RUN;

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

array_character_2_result

Использование оператора OF

Оператор OF используется при анализе данных формата Array для выполнения вычислений по всей строке массива. В приведенном ниже примере мы применяем сумму и среднее значение в каждой строке.

DATA array_example_OF;
   INPUT A1 A2 A3 A4;
   ARRAY A(4) A1-A4;
   A_SUM = SUM(OF A(*));
   A_MEAN = MEAN(OF A(*));
   A_MIN = MIN(OF A(*));
   DATALINES;
   21 4 52 11
   96 25 42 6
   ;
   RUN;
   PROC PRINT DATA = array_example_OF;
   RUN;

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

array_of_result

Использование оператора IN

Доступ к значению в массиве также можно получить с помощью оператора IN, который проверяет наличие значения в строке массива. В приведенном ниже примере мы проверяем наличие цвета «Желтый» в данных. Это значение чувствительно к регистру.

DATA array_in_example;
   INPUT A1 $ A2 $ A3 $ A4 $;
   ARRAY COLOURS(4) A1-A4;
   IF 'yellow' IN COLOURS THEN available = 'Yes';ELSE available = 'No';
   DATALINES;
   Orange pink violet yellow
   ;
   RUN;
   PROC PRINT DATA = array_in_example;
   RUN;

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

array_in_result

SAS – Числовые форматы

SAS может обрабатывать различные форматы числовых данных. Эти форматы используются в конце имен переменных для применения определенного числового формата к данным. SAS использует два вида числовых форматов. Один для чтения определенных форматов числовых данных, который называется informat, и другой для отображения числовых данных в определенном формате, называемом выходным форматом .

Синтаксис

Синтаксис для числовой информации –

Varname Formatnamew.d

Ниже приведено описание используемых параметров:

  • Varname – это имя переменной.

  • Formatname – это имя имени числового формата, примененного к переменной.

  • w – максимальное количество столбцов данных (включая цифры после десятичной точки и саму десятичную точку), разрешенных для хранения для переменной.

  • d – количество цифр справа от десятичной дроби.

Varname – это имя переменной.

Formatname – это имя имени числового формата, примененного к переменной.

w – максимальное количество столбцов данных (включая цифры после десятичной точки и саму десятичную точку), разрешенных для хранения для переменной.

d – количество цифр справа от десятичной дроби.

Чтение Числовых форматов

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

Числовые форматы ввода

Формат использование
п.

Максимальное количество столбцов “n” без десятичной точки.

н.п.

Максимальное количество столбцов с n-кратными точками “n”.

COMMAn.p

Максимальное число столбцов «n» с десятичными знаками «p», которое удаляет любые запятые или знаки доллара

COMMAn.p

Максимальное число столбцов «n» с десятичными знаками «p», которое удаляет любые запятые или знаки доллара

Максимальное количество столбцов “n” без десятичной точки.

Максимальное количество столбцов с n-кратными точками “n”.

Максимальное число столбцов «n» с десятичными знаками «p», которое удаляет любые запятые или знаки доллара

Максимальное число столбцов «n» с десятичными знаками «p», которое удаляет любые запятые или знаки доллара

Отображение числовых форматов

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

Числовые форматы вывода

Формат использование
п.

Запишите максимальное количество цифр «n» без десятичной точки.

н.п.

Запишите максимальное число столбцов «np» с десятичными точками «p».

DOLLARn.p

Запишите максимальное число столбцов с «n» с p десятичными знаками, начальным знаком доллара и запятой на тысячном месте.

Запишите максимальное количество цифр «n» без десятичной точки.

Запишите максимальное число столбцов «np» с десятичными точками «p».

Запишите максимальное число столбцов с «n» с p десятичными знаками, начальным знаком доллара и запятой на тысячном месте.

Пожалуйста, обратите внимание –

  • Если количество цифр после десятичной точки меньше спецификатора формата, то в конце будут добавлены нули .

  • Если количество цифр после десятичной точки больше, чем спецификатор формата, то последняя цифра округляется .

Если количество цифр после десятичной точки меньше спецификатора формата, то в конце будут добавлены нули .

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

Примеры

Ниже приведены примеры, иллюстрирующие приведенные выше сценарии.

DATA MYDATA1;
input x 6.; /*maxiiuum width of the data*/
format x 6.3;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA1;
RUN;

DATA MYDATA2;
input x 6.; /*maximum width of the data*/
format x 5.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA2;
RUN;
DATA MYDATA3;
input x 6.; /*maximum width of the data*/
format x DOLLAR10.2;
datalines;
8722
93.2
.1122
15.116
PROC PRINT DATA = MYDATA3;
RUN;

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

# MYDATA1.
Obs 	x
1 	8722.0 # Display 6 columns with zero appended after decimal.
2 	93.200 # Display 6 columns with zero appended after decimal.
3 	0.112  # No integers before decimal, so display 3 available digits after decimal.
4 	15.116 # Display 6 columns with 3 available digits after decimal.

# MYDATA2
Obs 	x
1 	8722  # Display 5 columns. Only 4 are available.
2 	93.20 # Display 5 columns with zero appended after decimal.
3 	0.11  # Display 5 columns with 2 places after decimal.
4 	15.12 # Display 5 columns with 2 places after decimal.

# MYDATA3
Obs 	x
1 	$8,722.00 # Display 10 columns with leading $ sign, comma at thousandth place and zeros appended after decimal.
2 	$93.20    # Only 2 integers available before decimal and one available after the decimal.
3 	$0.11	  # No integers available before decimal and two available after the decimal.
4 	$15.12    # Only 2 integers available before decimal and two available after the decimal.

SAS – Операторы

Оператор в SAS – это символ, который используется в математическом, логическом или сравнительном выражении. Эти символы встроены в язык SAS, и многие операторы могут быть объединены в одном выражении для получения окончательного результата.

Ниже приведен список операторов категории SAS.

  • Арифметические Операторы
  • Логические Операторы
  • Операторы сравнения
  • Минимальные / максимальные операторы
  • Оператор конкатенации

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

Арифметические Операторы

В приведенной ниже таблице описаны подробности арифметических операторов. Предположим, две переменные данных V1 и V2 со значениями 8 и 4 соответственно.

оператор Описание пример
+ прибавление V1 + V2 = 12
Вычитание V1-V2 = 4
* умножение V1, V2, * = 32
/ разделение V1 / V2 = 2
** Возведение V1, V2, ** = 4096

пример

DATA MYDATA1;
input @1 COL1 4.2	@7 COL2 3.1; 
Add_result = COL1+COL2;
Sub_result = COL1-COL2;
Mult_result = COL1*COL2;
Div_result = COL1/COL2;
Expo_result = COL1**COL2;
datalines;
11.21 5.3
3.11  11
;
PROC PRINT DATA = MYDATA1;
RUN;

Запустив приведенный выше код, мы получим следующий вывод.

operators_arithmrtic

Логические Операторы

В приведенной ниже таблице описаны детали логических операторов. Эти операторы оценивают значение Истины выражения. Таким образом, результатом логических операторов всегда является 1 или 0. Предположим, что две переменные данных V1 и V2 со значениями 8 и 4 соответственно.

оператор Описание пример
& Оператор AND Если оба значения данных имеют значение true, то результат равен 1, иначе он равен 0. (V1> 2 и V2> 3) дает 0.
| Оператор ИЛИ. Если какое-либо из значений данных оценивается как истинное, то результатом будет 1, иначе 0. (V1> 9 и V2> 3) равно 1.
~ НЕ оператор. Результат оператора NOT в форме выражения, значение которого равно FALSE или отсутствует, равен 1, в противном случае он равен 0. НЕ (V1> 3) равно 1.

пример

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
and_=(COL1 > 10 & COL2 > 5 );
or_ = (COL1 > 12 | COL2 > 15 );
not_ = ~( COL2 > 7 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

Запустив приведенный выше код, мы получим следующий вывод.

operators_logical

Операторы сравнения

В приведенной ниже таблице описаны подробности операторов сравнения. Эти операторы сравнивают значения переменных, и результатом является значение истинности, представленное 1 для ИСТИНЫ и 0 для Ложного. Предположим, две переменные данных V1 и V2 со значениями 8 и 4 соответственно.

оператор Описание пример
знак равно РАВНЫЙ Оператор. Если оба значения данных равны, то результат равен 1, иначе он равен 0. (V1 = 8) дает 1.
^ = НЕ РАВНЫЙ оператор. Если оба значения данных неравны, то результат равен 1, иначе это 0. (V1 ^ = V2) дает 1.
< Меньше чем оператор. (V2 <V2) дает 1.
<= МЕНЬШЕ, ЧЕМ ИЛИ РАВНОЕ Оператору. (V2 <= 4) дает 1.
> БОЛЬШЕ, ЧЕМ Оператор. (V2> V1) дает 1.
> = БОЛЬШЕ, ЧЕМ или РАВНО ДЛЯ Оператора. (V2> = V1) дает 0.
В Оператор IN. Если значение переменной равно любому из значений в данном списке значений, то оно возвращает 1, иначе оно возвращает 0. V1 в (5,7,9,8) дает 1.

пример

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1; 
EQ_ = (COL1 = 11.21);
NEQ_= (COL1 ^= 11.21);
GT_ = (COL2 => 8);
LT_ = (COL2 <= 12);
IN_ = COL2 in( 6.2,5.3,12 );
datalines;
11.21 5.3
3.11  11.4
;
PROC PRINT DATA = MYDATA1;
RUN;

Запустив приведенный выше код, мы получим следующий вывод.

operators_comparison

Минимальные / максимальные операторы

В приведенной ниже таблице описаны детали операторов Minimum / Maximum. Эти операторы сравнивают значения переменных в строке, и возвращается минимальное или максимальное значение из списка значений в строках.

оператор Описание пример
MIN Оператор МИН. Возвращает минимальное значение из списка значений в строке. MIN (45,2,11,6,15,41) дает 11,6
МАКСИМУМ МАКС Оператор. Возвращает максимальное значение из списка значений в строке. Макс (45,2,11,6,15,41) дает 45,2

пример

DATA MYDATA1;
input @1 COL1 5.2	@7 COL2 4.1 @12 COL3 6.3; 
min_ = MIN(COL1 , COL2 , COL3);
max_ = MAX( COL1, COl2 , COL3);
datalines;
11.21 5.3 29.012
3.11  11.4 18.512
;
PROC PRINT DATA = MYDATA1;
RUN;

Запустив приведенный выше код, мы получим следующий вывод.

operators_minmax

Оператор конкатенации

В приведенной ниже таблице описаны подробности оператора конкатенации. Этот оператор объединяет два или более строковых значения. Возвращается однозначное значение

оператор Описание пример
|| Оператор сцепления. Возвращает объединение двух или более значений. ‘Hello’ ||» Мир ‘дает Hello World

пример

DATA MYDATA1;
input  COL1 $	COL2 $  COL3 $; 
concat_ = (COL1 || COL2 || COL3);
datalines;
Tutorial s point
simple easy learning
;
PROC PRINT DATA = MYDATA1;
RUN;

Запустив приведенный выше код, мы получим следующий вывод.

operators_concate

Приоритет операторов

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

группа порядок Символы
Группа I Справа налево ** + – НЕ МИН МАКС
Группа II Слева направо * /
Группа III Слева направо + –
Группа IV Слева направо ||
Группа V Слева направо <<= => =>

SAS – Петли

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

В SAS цикл выполняется с помощью оператора DO. Это также называется DO Loop . Ниже приведен общий вид операторов цикла DO в SAS.

Схема потока

SAS_do_while_loop.jpg

Ниже приведены типы циклов DO в SAS.

Sr.No. Тип и описание петли
1 DO индекс.

Цикл продолжается от начального значения до конечного значения индексной переменной.

2 ДЕЛАТЬ ПОКА.

Цикл продолжается до тех пор, пока условие не станет ложным.

3 ДЕЛАЙТЕ ДО

Цикл продолжается до тех пор, пока условие UNTIL не станет True.

Цикл продолжается от начального значения до конечного значения индексной переменной.

Цикл продолжается до тех пор, пока условие не станет ложным.

Цикл продолжается до тех пор, пока условие UNTIL не станет True.

SAS – принятие решений

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

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

Принятие решения

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

Sr.No. Тип заявления и описание
1 Если заявление.

Оператор if состоит из условия. Если условие истинно, то выбираются конкретные данные.

2 IF-THEN-ELSE Заявление.

Оператор if, за которым следует оператор else, который выполняется, когда логическое условие ложно.

3 IF-THEN-ELSE-IF Заявление.

Оператор if, за которым следует оператор else, за которым снова следует другая пара операторов IF-THEN.

4 IF-THEN-DELETE Заявление.

Оператор if состоит из условия, которое при истечении удаляет конкретные данные из наблюдений.

Оператор if состоит из условия. Если условие истинно, то выбираются конкретные данные.

Оператор if, за которым следует оператор else, который выполняется, когда логическое условие ложно.

Оператор if, за которым следует оператор else, за которым снова следует другая пара операторов IF-THEN.

Оператор if состоит из условия, которое при истечении удаляет конкретные данные из наблюдений.

SAS – Функции

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

Синтаксис

Общий синтаксис использования функции в SAS приведен ниже.

FUNCTIONNAME(argument1, argument2...argumentn)

Здесь аргумент может быть константой, переменной, выражением или другой функцией.

Категории функций

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

  • математическая
  • Дата и время
  • символ
  • сокращение
  • Разнообразный

Математические функции

Эти функции используются для применения некоторых математических вычислений к значениям переменных.

Примеры

В приведенной ниже программе SAS показано использование некоторых важных математических функций.

data Math_functions;

v1=21; v2=42; v3=13; v4=10; v5=29;

/* Get Maximum value */
max_val = MAX(v1,v2,v3,v4,v5);

/* Get Minimum value */
min_val = MIN (v1,v2,v3,v4,v5);

/* Get Median value */
med_val = MEDIAN (v1,v2,v3,v4,v5);

/* Get a random number */
rand_val = RANUNI(0);

/* Get Square root of sum of the values */
SR_val= SQRT(sum(v1,v2,v3,v4,v5));

proc print data = Math_functions noobs;
run;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

math_funcs_result

Функции даты и времени

Эти функции используются для обработки значений даты и времени.

Примеры

В приведенной ниже программе SAS показано использование функций даты и времени.

data date_functions;
INPUT @1 date1 date9. @11 date2 date9.;
format date1 date9.  date2 date9.;

/* Get the interval between the dates in years*/
Years_ = INTCK('YEAR',date1,date2);

/* Get the interval between the dates in months*/
months_ = INTCK('MONTH',date1,date2);

/* Get the week day from the date*/
weekday_ =  WEEKDAY(date1);

/* Get Today's date in SAS date format */
today_ = TODAY();

/* Get current time in SAS time format */
time_ = time();
DATALINES;
21OCT2000 16AUG1998
01MAR2009 11JUL2012
;
proc print data = date_functions noobs;
run;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

date_time_funcs_result

Функции персонажа

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

Примеры

В приведенной ниже программе SAS показано использование символьных функций.

data character_functions;

/* Convert the string into lower case */
lowcse_ = LOWCASE('HELLO');
  
/* Convert the string into upper case */
upcase_ = UPCASE('hello');
  
/* Reverse the string */
reverse_ = REVERSE('Hello');
  
/* Return the nth word */
nth_letter_ = SCAN('Learn SAS Now',2);
run;

proc print data = character_functions noobs;
run;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

char_funcs_result

Функции усечения

Эти функции используются для усечения числовых значений.

Примеры

В приведенной ниже программе SAS показано использование функций усечения.

data trunc_functions;

/* Nearest greatest integer */
ceil_ = CEIL(11.85);
  
/* Nearest greatest integer */
floor_ = FLOOR(11.85);
  
/* Integer portion of a number */
int_ = INT(32.41);
  
/* Round off to nearest value */
round_ = ROUND(5621.78);
run;

proc print data = trunc_functions noobs;
run;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

trunc_funcs_result

Разные функции

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

Примеры

В приведенной ниже программе SAS показано использование различных функций.

data misc_functions;

/* Nearest greatest integer */
state2=zipstate('01040');
 
/* Amortization calculation */
payment = mort(50000, . , .10/12,30*12);

proc print data = misc_functions noobs;
run;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

Misc_funcs_result

SAS – Методы ввода

Методы ввода используются для чтения необработанных данных. Необработанные данные могут быть из внешнего источника или из потоковых данных. Оператор ввода создает переменную с именем, которое вы назначаете каждому полю. Таким образом, вы должны создать переменную в операторе ввода. Эта же переменная будет показана в выходных данных набора данных SAS. Ниже приведены различные методы ввода, доступные в SAS.

  • Метод ввода списка
  • Именованный метод ввода
  • Метод ввода столбца
  • Форматированный метод ввода

Детали каждого метода ввода описаны ниже.

Метод ввода списка

В этом методе переменные перечислены с типами данных. Необработанные данные тщательно анализируются, чтобы порядок объявленных переменных соответствовал данным. Разделитель (обычно пробел) должен быть одинаковым между любой парой соседних столбцов. Любые недостающие данные вызовут проблемы в выводе, поскольку результат будет неправильным.

пример

Следующий код и выходные данные показывают использование метода ввода списка.

DATA TEMP;
INPUT   EMPID ENAME $ DEPT $ ;
DATALINES;
1 Rick  IT
2 Dan  OPS
3 Tusar  IT
4 Pranab  OPS
5 Rasmi  FIN
;
PROC PRINT DATA = TEMP;
RUN;

Запустив код bove, мы получим следующий вывод.

list_n_named_input

Именованный метод ввода

В этом методе переменные перечислены с типами данных. Необработанные данные модифицируются, чтобы имена переменных объявлялись перед соответствующими данными. Разделитель (обычно пробел) должен быть одинаковым между любой парой соседних столбцов.

пример

Следующий код и выходные данные показывают использование именованного метода ввода.

DATA TEMP;
INPUT   
EMPID= ENAME= $ DEPT= $ ;
DATALINES;
EMPID = 1 ENAME = Rick  DEPT = IT
EMPID = 2 ENAME = Dan  DEPT = OPS
EMPID = 3 ENAME = Tusar  DEPT = IT
EMPID = 4 ENAME = Pranab  DEPT = OPS
EMPID = 5 ENAME = Rasmi  DEPT = FIN
;
PROC PRINT DATA = TEMP;
RUN;

Запустив код bove, мы получим следующий вывод.

list_n_named_input

Метод ввода столбца

В этом методе переменные перечисляются с типами данных и шириной столбцов, которые определяют значение одного столбца данных. Например, если имя сотрудника содержит максимум 9 символов, а имя каждого сотрудника начинается с 10-го столбца, то ширина столбца для переменной имени сотрудника будет 10-19.

пример

Следующий код показывает использование метода ввода столбцов.

DATA TEMP;
INPUT   EMPID 1-3 ENAME $ 4-12 DEPT $ 13-16;
DATALINES;
14 Rick     IT 
241Dan      OPS 
30 Sanvi    IT 
410Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA = TEMP;
RUN;

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

column_n_formatted_input

Форматированный метод ввода

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

пример

Следующий код показывает использование форматированного метода ввода

DATA TEMP;
INPUT   @1 EMPID $ @4 ENAME $ @13 DEPT $ ;
DATALINES;
14 Rick     IT 
241 Dan      OPS 
30 Sanvi    IT 
410 Chanchal OPS 
52 Piyu     FIN 
;
PROC PRINT DATA = TEMP;
RUN;

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

column_n_formatted_input

SAS – Макросы

SAS имеет мощную функцию программирования под названием Macros, которая позволяет нам избегать повторяющихся участков кода и использовать их снова и снова, когда это необходимо. Это также помогает создавать в коде динамические переменные, которые могут принимать разные значения для разных экземпляров прогона одного и того же кода. Макросы также могут быть объявлены для блоков кода, которые будут многократно использоваться аналогично макропеременным. Мы увидим оба из них в следующих примерах.

Макропеременные

Это переменные, которые содержат значение, которое будет снова и снова использоваться программой SAS. Они объявляются в начале программы SAS и вызываются позже в основной части программы. Они могут быть глобальными или локальными по объему.

Глобальная макро-переменная

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

пример

Ниже приведен пример переменной SAS с именем SYSDATE, которая представляет системную дату. Рассмотрим сценарий для печати системной даты в заголовке отчета SAS каждый день, когда отчет генерируется. Заголовок покажет текущую дату и день без кодирования каких-либо значений для них. Мы используем встроенный набор данных SAS под названием CARS, доступный в библиотеке SASHELP.

proc print data = sashelp.cars;
where make = 'Audi' and type = 'Sports' ;
 TITLE "Sales as of &SYSDAY &SYSDATE";
run;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

global_macro_result

Локальная переменная макроса

Эти переменные могут быть доступны для программ SAS, в которых они объявлены как часть программы. Они, как правило, используются для предоставления разных varaibels одним и тем же операторам SAS, чтобы они могли обрабатывать разные наблюдения набора данных.

Синтаксис

Локальные переменные имеют декальтарный синтаксис.

% LET (Macro Variable Name) = Value;

Здесь поле «Значение» может принимать любое числовое, текстовое значение или значение даты, как того требует программа. Имя макрокоманды – это любая допустимая переменная SAS.

пример

Переменные используются операторами SAS с использованием символа &, добавляемого в начале имени переменной. Ниже программа собирает все наблюдения за маркой «Ауди» и типом «Спорт». В случае, если мы хотим получить результат другого make , нам нужно изменить значение переменной make_name без изменения какой-либо другой части программы. В случае программ переноса эта переменная может быть снова и снова указана в любых операторах SAS.

%LET make_name = 'Audi';
%LET type_name = 'Sports';
proc print data = sashelp.cars;
where make = &make_name and type = &type_name ;
 TITLE "Sales as of &SYSDAY &SYSDATE";
run;

Когда приведенный выше код выполняется, мы получаем тот же вывод, что и предыдущая программа. Но давайте изменим имя типа на «Wagon» и запустим ту же программу. Мы получим следующий результат.

local_macro_result

Макро Программы

Макрос – это группа операторов SAS, на которые ссылается имя и которые можно использовать в программе где угодно, используя это имя. Он начинается с оператора% MACRO и заканчивается оператором% MEND.

Синтаксис

Локальные переменные объявлены с синтаксисом ниже.

# Creating a Macro program.
%MACRO <macro name>(Param1, Param2,….Paramn);

Macro Statements;

%MEND;

# Calling a Macro program.
%MacroName (Value1, Value2,…..Valuen);

пример

Приведенная ниже программа декальзирует группу STAT-сетей SAT под макросом с именем ‘show_result’; Этот макрос вызывается другими операторами SAS.

%MACRO show_result(make_ , type_);
proc print data = sashelp.cars;
where make = "&make_" and type = "&type_" ;
TITLE "Sales as of &SYSDAY &SYSDATE";
run;
%MEND;

%show_result(BMW,SUV);

Когда приведенный выше код выполняется, мы получаем следующий вывод.

program_macro_result

Обычно используемые макросы

SAS имеет много операторов MACRO, которые встроены в язык программирования SAS. Они используются другими программами SAS без явного объявления их. Общими примерами являются: завершение программы при выполнении какого-либо условия или запись значения переменной времени выполнения в журнал программы. Ниже приведены некоторые примеры.

Макро% PUT

Этот оператор макроса записывает текстовую или макропеременную информацию в журнал SAS. В приведенном ниже примере значение переменной «сегодня» записывается в журнал программы.

data _null_;
CALL SYMPUT ('today',
TRIM(PUT("&sysdate"d,worddate22.)));
run;
%put &today;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

macro_put

Макро% ВОЗВРАТ

Выполнение этого макроса вызывает нормальное завершение текущего выполняющегося макроса, когда определенное условие оценивается как истинное. В приведенном ниже примере, когда значение переменной «val» становится равным 10, макрос завершается, в противном случае он продолжается.

%macro check_condition(val);
   %if &val = 10 %then %return;

   data p;
      x = 34.2;
   run;  

%mend check_condition;  

%check_condition(11)  ;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

macro_return

Макро% КОНЕЦ

Это макроопределение содержит цикл % DO% WHILE, который заканчивается, как требуется, оператором% END. В приведенном ниже примере макрос с именем test принимает пользовательский ввод и запускает цикл DO, используя это входное значение. Завершение цикла DO достигается с помощью оператора% end, в то время как конец макроса достигается с помощью оператора% mend.

%macro test(finish);
   %let i = 1;
   %do %while (&i <&finish);
      %put the value of i is &i;
      %let i=%eval(&i+1);
   %end;
%mend test;
%test(5)

Когда приведенный выше код выполняется, мы получаем следующий вывод.

macro_do_finish

SAS – дата и время

IN SAS даты являются частным случаем числовых значений. Каждому дню присваивается определенное числовое значение, начиная с 1 января 1960 года. Этой дате присваивается значение даты 0, а следующей дате присваивается значение даты 1 и т. Д. Предыдущие дни до этой даты представлены -1, -2 и так далее. При таком подходе SAS может представлять любую дату в будущем и любую дату в прошлом.

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

SAS Date Informat

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

Дата ввода Ширина даты Informat
03/11/2014 10 mmddyy10.
03/11/14 8 mmddyy8.
11 декабря 2012 г. 20 worddate20.
14mar2011 9 date9.
14-мар-2011 11 date11.
14-мар-2011 15 anydtdte15.

пример

Код ниже показывает чтение различных форматов даты. Обратите внимание, что все выходные значения являются просто числами, так как мы не применили никакого оператора формата к выходным значениям.

DATA TEMP;
INPUT @1 Date1 date11. @12 Date2 anydtdte15. @23 Date3 mmddyy10.   ;
DATALINES;
02-mar-2012 3/02/2012 3/02/2012
;
PROC PRINT DATA = TEMP;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

date_time_1

Формат вывода даты SAS

Даты после прочтения могут быть преобразованы в другой формат в соответствии с требованиями дисплея. Это достигается с помощью оператора формата для типов даты. Они принимают те же форматы, что и информаторы.

пример

В приведенном ниже примере дата читается в одном формате, но отображается в другом формате.

DATA TEMP;
INPUT  @1 DOJ1 mmddyy10. @12 DOJ2 mmddyy10.;
format  DOJ1 date11.  DOJ2 worddate20. ;
DATALINES;
01/12/2012 02/11/1998 
;
PROC PRINT DATA = TEMP;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

date_time_2

SAS – чтение необработанных данных

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

  • ASCII (текстовый) набор данных
  • Данные с разделителями
  • Данные Excel
  • Иерархические данные

Чтение ASCII (текстового) набора данных

Это файлы, которые содержат данные в текстовом формате. Данные обычно разделяются пробелом, но также могут быть разные типы разделителей, с которыми может работать SAS. Давайте рассмотрим файл ASCII, содержащий данные о сотрудниках. Мы читаем этот файл, используя инструкцию Infile, доступную в SAS.

пример

В приведенном ниже примере мы читаем файл данных с именем emp_data.txt из локальной среды.

data TEMP; 
   infile 
   '/folders/myfolders/sasuser.v94/TutorialsPoint/emp_data.txt'; 
   input empID empName $ Salary Dept $ DOJ date9. ;
   format DOJ date9.;
   run;
   PROC PRINT DATA = TEMP;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

read_raw_data1

Чтение данных с разделителями

Это файлы данных, в которых значения столбцов разделены символом-разделителем, таким как запятая, конвейер и т. Д. В этом случае мы используем опцию dlm в операторе infile .

пример

В приведенном ниже примере мы читаем файл данных с именем emp.csv из локальной среды.

data TEMP; 
   infile 
   '/folders/myfolders/sasuser.v94/TutorialsPoint/emp.csv' dlm=","; 
   input empID empName $ Salary Dept $ DOJ date9. ;
   format DOJ date9.;
   run;
   PROC PRINT DATA = TEMP;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

read_raw_data1

Чтение данных Excel

SAS может напрямую читать файл Excel с помощью средства импорта. Как видно из главы «Наборы данных SAS», он может обрабатывать самые разные типы файлов, включая MS Excel. Предполагая, что файл emp.xls доступен локально в среде SAS.

пример

FILENAME REFFILE
"/folders/myfolders/TutorialsPoint/emp.xls"
TERMSTR = CR;

PROC IMPORT DATAFILE = REFFILE
DBMS = XLS
OUT = WORK.IMPORT;
GETNAMES = YES;
RUN;
PROC PRINT DATA = WORK.IMPORT RUN;

Приведенный выше код считывает данные из файла Excel и выдает тот же вывод, что и выше, для двух типов файлов.

Чтение Иерархических Файлов

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

В приведенном ниже файле перечислены данные каждого сотрудника в каждом отделе. Первая запись – это запись заголовка с указанием отдела, а следующая запись, несколько записей, начинающихся с DTLS, – запись сведений.

DEPT:IT 
DTLS:1:Rick:623 
DTLS:3:Mike:611 
DTLS:6:Tusar:578 
DEPT:OPS
DTLS:7:Pranab:632
DTLS:2:Dan:452
DEPT:HR
DTLS:4:Ryan:487
DTLS:2:Siyona:452

пример

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

data employees(drop = Type);
   length Type $ 3  Department
      empID $ 3 empName $ 10 Empsal 3 ;
   retain Department;
   infile 
   '/folders/myfolders/TutorialsPoint/empdtls.txt' dlm = ':';
   input Type $ @;
   if Type = 'DEP' then 
      input Department $;
   else do;
      input empID  empName $ Empsal ;
      output;
   end;
run;

   PROC PRINT DATA = employees;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод.

read_heirarchial_data2

SAS – запись наборов данных

Подобно чтению наборов данных, SAS может записывать наборы данных в разных форматах. Он может записывать данные из файлов SAS в обычный текстовый файл. Эти файлы могут быть прочитаны другими программами. SAS использует PROC EXPORT для записи наборов данных.

ПРОЦ ЭКСПОРТ

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

Синтаксис

Основной синтаксис для написания процедуры в SAS –

PROC EXPORT 
DATA = libref.SAS data-set (SAS data-set-options)
OUTFILE = "filename" 
DBMS = identifier LABEL(REPLACE);

Ниже приведено описание используемых параметров:

  • Набор данных SAS – это имя набора данных, который экспортируется. SAS может обмениваться наборами данных из своей среды с другими приложениями, создавая файлы, которые могут быть прочитаны различными операционными системами. Он использует встроенную функцию EXPORT для вывода файлов набора данных в различных форматах. В этой главе мы увидим написание наборов данных SAS с использованием proc export вместе с опциями dlm и dbms .

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

  • filename – это имя файла, в который записываются данные.

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

  • Опция LABEL используется для указания имени переменных, записанных в файл.

Набор данных SAS – это имя набора данных, который экспортируется. SAS может обмениваться наборами данных из своей среды с другими приложениями, создавая файлы, которые могут быть прочитаны различными операционными системами. Он использует встроенную функцию EXPORT для вывода файлов набора данных в различных форматах. В этой главе мы увидим написание наборов данных SAS с использованием proc export вместе с опциями dlm и dbms .

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

filename – это имя файла, в который записываются данные.

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

Опция LABEL используется для указания имени переменных, записанных в файл.

пример

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

proc export data = sashelp.cars
   outfile = '/folders/myfolders/sasuser.v94/TutorialsPoint/car_data.txt'
   dbms = dlm;
   delimiter = ' ';
   run;

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

write_data_set_result

Написание файла CSV

Чтобы записать файл с разделителями-запятыми, мы можем использовать опцию dlm со значением “csv”. Следующий код записывает файл car_data.csv.

proc export data = sashelp.cars
   outfile = '/folders/myfolders/sasuser.v94/TutorialsPoint/car_data.csv'
   dbms = csv;
   run;

Выполнив приведенный выше код, мы получим следующий вывод.

write_data_set_csv

Написание файла с разделителями табуляции

Чтобы написать файл с разделителями табуляции, мы можем использовать опцию dlm со значением «tab». Следующий код записывает файл car_tab.txt.

proc export data = sashelp.cars
   outfile = '/folders/myfolders/sasuser.v94/TutorialsPoint/car_tab.txt'
   dbms = csv;
   run;

Данные также могут быть записаны в виде HTML-файла, который мы увидим в главе «Система доставки вывода».

SAS – объединенные наборы данных

Несколько наборов данных SAS могут быть объединены для получения одного набора данных с помощью оператора SET . Общее количество наблюдений в объединенном наборе данных является суммой количества наблюдений в исходных наборах данных. Порядок наблюдений является последовательным. За всеми наблюдениями из первого набора данных следуют все наблюдения из второго набора данных и т. Д.

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

Синтаксис

Основной синтаксис для оператора SET в SAS –

SET data-set 1 data-set 2 data-set 3.....;

Ниже приведено описание используемых параметров:

  • data-set1, data-set2 – это имена наборов данных, записанные одно за другим.

data-set1, data-set2 – это имена наборов данных, записанные одно за другим.

пример

Рассмотрим данные о сотрудниках организации, которые доступны в двух разных наборах данных: один для ИТ-отдела, а другой для не-ИТ-отдела. Чтобы получить полную информацию обо всех сотрудниках, мы объединяем оба набора данных с помощью инструкции SET, показанной ниже.

DATA ITDEPT; 
   INPUT empid name $ salary  ; 
DATALINES; 
1 Rick 623.3 
3 Mike 611.5 
6 Tusar 578.6 
; 
RUN; 
DATA NON_ITDEPT; 
   INPUT empid name $ salary  ; 
DATALINES; 
2 Dan 515.2 
4 Ryan 729.1 
5 Gary 843.25 
7 Pranab 632.8 
8 Rasmi 722.5 
RUN; 
DATA All_Dept; 
   SET ITDEPT NON_ITDEPT; 
RUN; 
PROC PRINT DATA = All_Dept; 
RUN;  

Когда приведенный выше код выполняется, мы получаем следующий вывод.

concateate1

Сценарии

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

Разное количество переменных

Если один из исходных наборов данных имеет большее количество переменных, чем другой, тогда наборы данных по-прежнему объединяются, но в меньшем наборе данных эти переменные отображаются как отсутствующие.

пример

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

DATA ITDEPT; 
   INPUT empid name $ salary DOJ date9.  ; 
DATALINES; 
1 Rick 623.3 02APR2001
3 Mike 611.5 21OCT2000
6 Tusar 578.6 01MAR2009  
; 
RUN; 
DATA NON_ITDEPT; 
   INPUT empid name $ salary  ; 
DATALINES; 
2 Dan 515.2 
4 Ryan 729.1 
5 Gary 843.25 
7 Pranab 632.8 
8 Rasmi 722.5 
RUN; 
DATA All_Dept; 
   SET ITDEPT NON_ITDEPT; 
RUN; 
PROC PRINT DATA = All_Dept; 
RUN;  

Когда приведенный выше код выполняется, мы получаем следующий вывод.

concateate2

Другое имя переменной

В этом сценарии наборы данных имеют одинаковое количество переменных, но имя переменной отличается между ними. В этом случае нормальная конкатенация произведет все переменные в наборе результатов и даст недостающие результаты для двух переменных, которые отличаются. Хотя мы не можем изменить имя переменной в исходных наборах данных, мы можем применить функцию RENAME в объединенном наборе данных, который мы создаем. Это даст тот же результат, что и при обычной конкатенации, но, конечно, с одним новым именем переменной вместо двух разных имен переменных, присутствующих в исходном наборе данных.

пример

В приведенном ниже примере набора данных ITDEPT имеет имя переменной ename, тогда как набор данных NON_ITDEPT имеет имя переменной empname. Но обе эти переменные представляют один и тот же тип (символ). Мы применяем функцию RENAME в операторе SET, как показано ниже.

DATA ITDEPT; 
   INPUT empid ename $ salary  ; 
DATALINES; 
1 Rick 623.3 
3 Mike 611.5 
6 Tusar 578.6 
; 
RUN; 
DATA NON_ITDEPT; 
   INPUT empid empname $ salary  ; 
DATALINES; 
2 Dan 515.2 
4 Ryan 729.1 
5 Gary 843.25 
7 Pranab 632.8 
8 Rasmi 722.5 
RUN; 
DATA All_Dept; 
   SET ITDEPT(RENAME =(ename = Employee) ) NON_ITDEPT(RENAME =(empname = Employee) ); 
RUN; 
PROC PRINT DATA = All_Dept; 
RUN;  

Когда приведенный выше код выполняется, мы получаем следующий вывод.

concateate3

Различные переменные длины

Если длины переменных в двух наборах данных отличаются, то объединенный набор данных будет иметь значения, в которых некоторые данные усекаются для переменной с меньшей длиной. Это происходит, если первый набор данных имеет меньшую длину. Чтобы решить эту проблему, мы применяем большую длину к обоим наборам данных, как показано ниже.

пример

В приведенном ниже примере переменная ename имеет длину 5 в первом наборе данных и 7 во втором. При конкатенации мы применяем оператор LENGTH в конкатенированном наборе данных, чтобы установить длину ename равной 7.

DATA ITDEPT; 
   INPUT  empid 1-2 ename $ 3-7 salary 8-14  ; 
DATALINES; 
1 Rick  623.3 
3 Mike  611.5 
6 Tusar 578.6 
; 
RUN;
DATA NON_ITDEPT; 
   INPUT  empid 1-2 ename $ 3-9  salary 10-16 ; 
DATALINES; 
2 Dan    515.2 
4 Ryan   729.1 
5 Gary   843.25
7 Pranab 632.8 
8 Rasmi  722.5 
RUN; 
DATA All_Dept; 
   LENGTH ename $ 7   ;
   SET ITDEPT  NON_ITDEPT ; 
RUN; 
PROC PRINT DATA = All_Dept; 
RUN;  

Когда приведенный выше код выполняется, мы получаем следующий вывод.

concateate4

SAS – объединение наборов данных

Несколько наборов данных SAS могут быть объединены на основе определенной общей переменной, чтобы получить один набор данных. Это делается с помощью оператора MERGE и оператора BY . Общее количество наблюдений в объединенном наборе данных часто меньше, чем сумма количества наблюдений в исходных наборах данных. Это связано с тем, что переменные из обоих наборов данных объединяются в одну запись на основе совпадения значения общей переменной.

Ниже приведены две предпосылки для объединения наборов данных:

  • входные наборы данных должны иметь хотя бы одну общую переменную для объединения.
  • входные наборы данных должны быть отсортированы по общей переменной (переменным), которая будет использоваться для объединения.

Синтаксис

Основной синтаксис для операторов MERGE и BY в SAS –

MERGE Data-Set 1 Data-Set 2
BY Common Variable

Ниже приведено описание используемых параметров:

  • Data-set1, Data-set2 – это имена наборов данных, записанные один за другим.

  • Общая переменная – это переменная, в зависимости от значений которой будут объединены наборы данных.

Data-set1, Data-set2 – это имена наборов данных, записанные один за другим.

Общая переменная – это переменная, в зависимости от значений которой будут объединены наборы данных.

Объединение данных

Давайте разберемся со слиянием данных на примере.

пример

Рассмотрим два набора данных SAS, один из которых содержит идентификатор сотрудника с именем и зарплатой, а другой – идентификатор сотрудника с идентификатором сотрудника и отделом. В этом случае, чтобы получить полную информацию для каждого сотрудника, мы можем объединить эти два набора данных. Окончательный набор данных будет по-прежнему иметь одно наблюдение на сотрудника, но он будет содержать как зарплату, так и переменные отдела.

# Data set 1	
ID NAME SALARY	
1 Rick 623.3		 
2 Dan 515.2 		
3 Mike 611.5 		
4 Ryan 729.1 
5 Gary 843.25 
6 Tusar 578.6 
7 Pranab 632.8 
8 Rasmi 722.5 

# Data set 2
ID DEPT
1 IT 
2 OPS
3 IT 
4 HR 
5 FIN 
6 IT 
7 OPS
8 FIN 

# Merged data set
ID NAME SALARY DEPT	
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 

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

DATA SALARY; 
   INPUT empid name $ salary  ; 
DATALINES; 
1 Rick 623.3		 
2 Dan 515.2 		
3 Mike 611.5 		
4 Ryan 729.1 
5 Gary 843.25 
6 Tusar 578.6 
7 Pranab 632.8 
8 Rasmi 722.5 
;
RUN; 
DATA DEPT; 
   INPUT empid dEPT $ ; 
DATALINES; 
1 IT 
2 OPS
3 IT 
4 HR 
5 FIN 
6 IT 
7 OPS
8 FIN 
;
RUN; 
DATA All_details;
MERGE SALARY DEPT;
BY (empid);
RUN;
PROC PRINT DATA = All_details; 
RUN;  

Отсутствующие значения в соответствующей колонке

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

пример

Рассмотрим случай, когда идентификатор 3 сотрудника отсутствует в наборе данных о заработной плате, а идентификатор 6 сотрудника отсутствует в наборе данных DEPT. Когда приведенный выше код применяется, мы получаем следующий результат.

ID NAME SALARY DEPT	
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 .		.		IT
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   .
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 

Слияние только матчей

Чтобы избежать пропущенных значений в результате, мы можем рассмотреть сохранение только наблюдений с совпадающими значениями для общей переменной. Это достигается с помощью оператора IN . Заявление о слиянии программы SAS необходимо изменить.

пример

В приведенном ниже примере значение IN = сохраняет только наблюдения, в которых совпадают значения из обоих наборов данных SALARY и DEPT .

DATA All_details;
MERGE SALARY(IN = a) DEPT(IN = b);
BY (empid);
IF a = 1 and b = 1;
RUN;
PROC PRINT DATA = All_details; 
RUN;  

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

1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 

SAS – Поднабор данных

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

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

Подмножество переменных

В этом методе мы извлекаем только несколько переменных из всего набора данных.

Синтаксис

Основной синтаксис для поднабора переменных в SAS –

KEEP var1 var2 ... ;
DROP var1 var2 ... ;

Ниже приведено описание используемых параметров:

  • var1 и var2 – это имена переменных из набора данных, которые необходимо сохранить или удалить.

var1 и var2 – это имена переменных из набора данных, которые необходимо сохранить или удалить.

пример

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

DATA Employee; 
   INPUT empid ename $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3 	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
DATA OnlyDept;
   SET Employee;
   KEEP ename DEPT;
   RUN;
   PROC PRINT DATA = OnlyDept; 
RUN; 

Когда приведенный выше код выполняется, мы получаем следующий вывод.

subsetting1

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

DATA Employee; 
   INPUT empid ename $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3 	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
DATA OnlyDept;
   SET Employee;
   DROP empid salary;
   RUN;
   PROC PRINT DATA = OnlyDept; 
RUN; 

Подмножество наблюдений

В этом методе мы извлекаем только несколько наблюдений из всего набора данных.

Синтаксис

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

Синтаксис для поднаборов наблюдений –

IF Var Condition THEN DELETE ;

Ниже приведено описание используемых параметров:

  • Var – это имя переменной, в зависимости от значения которой наблюдения будут удаляться с использованием указанного условия.

Var – это имя переменной, в зависимости от значения которой наблюдения будут удаляться с использованием указанного условия.

пример

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

DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
DATA OnlyDept;
   SET Employee;
   IF salary < 700 THEN DELETE;
   RUN;
   PROC PRINT DATA = OnlyDept; 
RUN; 

Когда приведенный выше код выполняется, мы получаем следующий вывод.

subsetting2

SAS – формат данных

Иногда мы предпочитаем отображать проанализированные данные в формате, который отличается от формата, в котором они уже присутствуют в наборе данных. Например, мы хотим добавить знак доллара и два знака после запятой в переменную, которая имеет информацию о цене. Или мы можем захотеть показать текстовую переменную, все в верхнем регистре. Мы можем использовать FORMAT для применения встроенных форматов SAS, а PROC FORMAT – для применения пользовательских форматов. Также один формат может быть применен к нескольким переменным.

Синтаксис

Основной синтаксис для применения встроенных форматов SAS:

format variable name format name

Ниже приведено описание используемых параметров:

  • имя переменной – это имя переменной, используемой в наборе данных.

  • имя формата – это формат данных, который будет применен к переменной.

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

имя формата – это формат данных, который будет применен к переменной.

пример

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

DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 
   format name $upcase9. ;
DATALINES; 
1 Rick 623.3	IT 		 
2 Dan 515.2 	OPS	
3 Mike 611.5 	IT 	
4 Ryan 729.1    HR 
5 Gary 843.25   FIN 
6 Tusar 578.6   IT 
7 Pranab 632.8  OPS
8 Rasmi 722.5   FIN 
;
RUN;
   PROC PRINT DATA = Employee; 
RUN; 

Когда приведенный выше код выполняется, мы получаем следующий вывод.

формат 1

Использование PROC FORMAT

Мы также можем использовать PROC FORMAT для форматирования данных. В приведенном ниже примере мы присваиваем новые значения переменной DEPT, добавляя название отдела.

DATA Employee; 
   INPUT empid name $ salary DEPT $ ; 

DATALINES; 
1 Rick 623.3 IT 		 
2 Dan 515.2 OPS
3 Mike 611.5 IT 	
4 Ryan 729.1 HR 
5 Gary 843.25 FIN 
6 Tusar 578.6 IT 
7 Pranab 632.8 OPS
8 Rasmi 722.5 FIN 
;
proc format;
value $DEP 'IT' = 'Information Technology'
      'OPS'= 'Operations' ;
RUN;
   PROC PRINT DATA = Employee; 
   format name $upcase9. DEPT $DEP.; 
RUN; 

Когда приведенный выше код выполняется, мы получаем следующий вывод.

ФОРМАТ2

SAS – SQL

SAS предлагает обширную поддержку большинству популярных реляционных баз данных, используя SQL-запросы внутри программ SAS. Большая часть синтаксиса ANSI SQL поддерживается. Процедура PROC SQL используется для обработки операторов SQL. Эта процедура может не только вернуть результат запроса SQL, но и создать таблицы и переменные SAS. Пример всех этих сценариев описан ниже.

Синтаксис

Основной синтаксис для использования PROC SQL в SAS –

PROC SQL;
SELECT Columns
FROM TABLE
WHERE Columns
GROUP BY Columns
;
QUIT;

Ниже приведено описание используемых параметров:

  • SQL-запрос записывается под оператором PROC SQL, за которым следует оператор QUIT.

SQL-запрос записывается под оператором PROC SQL, за которым следует оператор QUIT.

Ниже мы увидим, как эту процедуру SAS можно использовать для операций CRUD (создание, чтение, обновление и удаление) в SQL.

Операция создания SQL

Используя SQL, мы можем создать новый набор данных из необработанных данных. В приведенном ниже примере сначала мы объявляем набор данных с именем TEMP, содержащий необработанные данные. Затем мы пишем SQL-запрос для создания таблицы из переменных этого набора данных.

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC SQL;
CREATE TABLE EMPLOYEES AS
SELECT * FROM TEMP;
QUIT;

PROC PRINT data = EMPLOYEES;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий результат –

SQL_create_table

Операция чтения SQL

Операция чтения в SQL включает в себя написание запросов SQL SELECT для чтения данных из таблиц. В приведенной ниже программе запрашивается набор данных SAS с именем CARS, доступный в библиотеке SASHELP. Запрос выбирает некоторые из столбцов набора данных.

PROC SQL;
SELECT make,model,type,invoice,horsepower
FROM 
SASHELP.CARS
;
QUIT;

Когда приведенный выше код выполняется, мы получаем следующий результат –

SQL1

SQL SELECT с предложением WHERE

Приведенная ниже программа запрашивает набор данных CARS с предложением where . В результате мы получаем только те наблюдения, которые обозначены как «Ауди», а тип – как «Спорт».

PROC SQL;
SELECT make,model,type,invoice,horsepower
FROM 
SASHELP.CARS
Where make = 'Audi'
and Type = 'Sports'
;
QUIT;

Когда приведенный выше код выполняется, мы получаем следующий результат –

SQL_where_clause

Операция SQL UPDATE

Мы можем обновить таблицу SAS с помощью оператора SQL Update. Ниже мы сначала создаем новую таблицу с именем EMPLOYEES2, а затем обновляем ее с помощью оператора SQL UPDATE.

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC SQL;
CREATE TABLE EMPLOYEES2 AS
SELECT ID as EMPID,
Name as EMPNAME ,
SALARY as SALARY,
DEPARTMENT as DEPT,
SALARY*0.23 as COMMISION
FROM TEMP;
QUIT;

PROC SQL;
UPDATE EMPLOYEES2
      SET SALARY = SALARY*1.25;
   QUIT;
      PROC PRINT data = EMPLOYEES2;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий результат –

proc_sql_update.JPG

Операция SQL DELETE

Операция удаления в SQL включает удаление определенных значений из таблицы с помощью оператора SQL DELETE. Мы продолжаем использовать данные из приведенного выше примера и удаляем строки из таблицы, в которой зарплата сотрудников превышает 900.

PROC SQL;
DELETE FROM EMPLOYEES2
      WHERE SALARY > 900;
QUIT;
      PROC PRINT data = EMPLOYEES2;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий результат –

proc_sql_delete.JPG

SAS – ODS

Вывод программы SAS можно преобразовать в более удобные для пользователя формы, такие как .html или PDF. Это делается с помощью оператора ODS, доступного в SAS. ODS обозначает систему доставки продукции. Он в основном используется для форматирования выходных данных программы SAS в красивые отчеты, которые хорошо смотреть и понимать. Это также помогает делиться выводом с другими платформами и программными продуктами. Он также может объединять результаты нескольких операторов PROC в одном файле.

Синтаксис

Основной синтаксис для использования оператора ODS в SAS –

ODS outputtype
PATH path name
FILE = Filename and Path
STYLE = StyleName
;
PROC some proc
;
ODS outputtype CLOSE;

Ниже приведено описание используемых параметров:

  • PATH представляет оператор, используемый в случае вывода HTML. В других типах вывода мы включаем путь в имя файла.

  • Стиль представляет собой один из встроенных стилей, доступных в среде SAS.

PATH представляет оператор, используемый в случае вывода HTML. В других типах вывода мы включаем путь в имя файла.

Стиль представляет собой один из встроенных стилей, доступных в среде SAS.

Создание вывода HTML

Мы создаем вывод HTML, используя оператор ODS HTML. В приведенном ниже примере мы создаем HTML-файл по нашему желаемому пути. Мы применяем стиль, доступный в библиотеке стилей. Мы можем увидеть выходной файл по указанному пути и загрузить его для сохранения в среде, отличной от среды SAS. Обратите внимание, что у нас есть два SQL-оператора proc, и оба их вывода записываются в один файл.

ODS HTML 
   PATH = '/folders/myfolders/sasuser.v94/TutorialsPoint/'
   FILE = 'CARS2.html'
   STYLE = EGDefault;
proc SQL;
select make, model, invoice 
from sashelp.cars
where make in ('Audi','BMW')
and type = 'Sports'
;
quit;

proc SQL;
select make,mean(horsepower)as meanhp
from sashelp.cars
where make in ('Audi','BMW')
group by make;
quit;

ODS HTML CLOSE; 

Когда приведенный выше код выполняется, мы получаем следующий результат –

ods_html_output

Создание вывода PDF

В приведенном ниже примере мы создаем файл PDF по нашему желаемому пути. Мы применяем стиль, доступный в библиотеке стилей. Мы можем увидеть выходной файл по указанному пути и загрузить его для сохранения в среде, отличной от среды SAS. Обратите внимание, что у нас есть два SQL-оператора proc, и оба их вывода записываются в один файл.

ODS PDF 
   FILE = '/folders/myfolders/sasuser.v94/TutorialsPoint/CARS2.pdf'
   STYLE = EGDefault;
proc SQL;
select make, model, invoice 
from sashelp.cars
where make in ('Audi','BMW')
and type = 'Sports'
;
quit;

proc SQL;
select make,mean(horsepower)as meanhp
from sashelp.cars
where make in ('Audi','BMW')
group by make;
quit;

ODS PDF CLOSE; 

Когда приведенный выше код выполняется, мы получаем следующий результат –

ods_pdf_output.JPG

Создание TRF (Word) вывода

В приведенном ниже примере мы создаем файл RTF по нашему желаемому пути. Мы применяем стиль, доступный в библиотеке стилей. Мы можем увидеть выходной файл по указанному пути и загрузить его для сохранения в среде, отличной от среды SAS. Обратите внимание, что у нас есть два SQL-оператора proc, и оба их вывода записываются в один файл.

ODS RTF 
FILE = '/folders/myfolders/sasuser.v94/TutorialsPoint/CARS.rtf'
STYLE = EGDefault;
proc SQL;
select make, model, invoice 
from sashelp.cars
where make in ('Audi','BMW')
and type = 'Sports'
;
quit;

proc SQL;
select make,mean(horsepower)as meanhp
from sashelp.cars
where make in ('Audi','BMW')
group by make;
quit;

ODS rtf CLOSE; 

Когда приведенный выше код выполняется, мы получаем следующий результат –

ods_rtf_output

SAS – Симуляторы

Моделирование – это вычислительная техника, которая использует повторяющиеся вычисления для множества различных случайных выборок для оценки статистической величины. Используя SAS, мы можем моделировать сложные данные, которые имеют определенные статистические свойства в реальной системе. Мы используем программное обеспечение для построения модели системы и численно генерируем данные, которые можно использовать для лучшего понимания поведения реальной системы. Часть искусства проектирования компьютерной имитационной модели заключается в определении того, какие аспекты реальной системы необходимо включить в модель, чтобы данные, сгенерированные моделью, могли использоваться для принятия эффективных решений. Из-за этой сложности SAS имеет специальный программный компонент для моделирования.

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

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

  • МОДЕЛЬНЫЕ ДАННЫЕ ОТ НЕПРЕРЫВНОГО РАСПРЕДЕЛЕНИЯ
  • МОДЕЛЬНЫЕ ДАННЫЕ ОТ ДИСКРЕТНОГО РАСПРЕДЕЛЕНИЯ
  • МОДЕЛИРОВАННЫЕ ДАННЫЕ ИЗ СМЕСИ РАСПРЕДЕЛЕНИЙ
  • МОДЕЛЬНЫЕ ДАННЫЕ ОТ КОМПЛЕКСНОГО РАСПРЕДЕЛЕНИЯ
  • МОДЕЛЬНЫЕ ДАННЫЕ ОТ МНОГОМЕРНОГО РАСПРЕДЕЛЕНИЯ
  • ПРИМЕРИТЕ РАСПРЕДЕЛЕНИЕ ОБРАЗЦОВ
  • ОЦЕНИТЬ ОЦЕНКУ РЕГРЕССИИ

SAS – гистограммы

Гистограмма – это графическое отображение данных с использованием столбцов разной высоты. Он группирует различные числа в наборе данных во множество диапазонов. Он также представляет оценку вероятности распределения непрерывной переменной. В SAS PROC UNIVARIATE используется для создания гистограмм с указанными ниже параметрами.

Синтаксис

Основной синтаксис для создания гистограммы в SAS –

PROC UNIVARAITE DATA = DATASET;
HISTOGRAM variables;
RUN;

Ниже приведено описание используемых параметров:

  • DATASET – это имя используемого набора данных.

  • переменные – это значения, используемые для построения гистограммы.

DATASET – это имя используемого набора данных.

переменные – это значения, используемые для построения гистограммы.

Простая гистограмма

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

пример

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

proc univariate data = sashelp.cars;
   histogram horsepower
   / midpoints = 176 to 350 by 50;
run;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

histogram1

Гистограмма с кривой

Мы можем вписать некоторые кривые распределения в гистограмму, используя дополнительные параметры.

пример

В приведенном ниже примере мы подгоняем кривую распределения со значениями среднего и стандартного отклонения, упомянутыми как EST. Эта опция использует и оценку параметров.

proc univariate data = sashelp.cars noprint;
histogram horsepower
/ 
normal ( 
   mu = est
   sigma = est
   color = blue
   w = 2.5 
)
barlabel = percent
midpoints = 70 to 550 by 50;
run;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

histogram2

SAS – гистограммы

Гистограмма представляет данные в прямоугольных столбцах, длина столбца которых пропорциональна значению переменной. SAS использует процедуру PROC SGPLOT для создания гистограмм. Мы можем нарисовать как простые, так и сложенные столбцы на гистограмме. В гистограмме каждому из баров могут быть даны разные цвета.

Синтаксис

Основной синтаксис для создания гистограммы в SAS –

PROC SGPLOT DATA = DATASET;
VBAR variables;
RUN;

Ниже приведено описание используемых параметров:

  • DATASET – это имя используемого набора данных.

  • переменные – это значения, используемые для построения гистограммы.

DATASET – это имя используемого набора данных.

переменные – это значения, используемые для построения гистограммы.

Простая гистограмма

Простая гистограмма – это гистограмма, в которой переменная из набора данных представлена ​​в виде столбцов.

пример

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

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc SGPLOT data = work.cars1;
vbar length ;
title 'Lengths of cars';
run;
quit;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

barchart1

Гистограмма с накоплением

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

пример

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

proc SGPLOT data = work.cars1;
vbar length /group = type ;
title 'Lengths of Cars by Types';
run;
quit;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

barchart2

Кластерная гистограмма

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

пример

Приведенный ниже скрипт создаст кластерную гистограмму, в которой длина автомобилей сгруппирована вокруг типа автомобиля. Итак, мы видим два соседних столбца длиной 191, один для типа автомобиля «Седан», а другой для типа автомобиля «Вагон» ,

proc SGPLOT data = work.cars1;
vbar length /group = type GROUPDISPLAY = CLUSTER;
title 'Cluster of Cars by Types';
run;
quit;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

barchart3

SAS – круговые диаграммы

Круговая диаграмма – это представление значений в виде кусочков круга разных цветов. Срезы помечены, и числа, соответствующие каждому срезу, также представлены на диаграмме.

В SAS круговая диаграмма создается с использованием PROC TEMPLATE, который принимает параметры для управления процентами, метками, цветом, заголовком и т. Д.

Синтаксис

Основной синтаксис для создания круговой диаграммы в SAS –

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = variable /
            DATALABELLOCATION = OUTSIDE
            CATEGORYDIRECTION = CLOCKWISE
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = ' ';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;

Ниже приведено описание используемых параметров:

  • Переменная – это значение, для которого мы создаем круговую диаграмму.

Переменная – это значение, для которого мы создаем круговую диаграмму.

Простая круговая диаграмма

На этой круговой диаграмме мы берем одну переменную из набора данных. Круговая диаграмма создается со значением срезов, представляющих долю числа переменных по отношению к общему значению переменной.

пример

В приведенном ниже примере каждый срез представляет собой долю типа автомобиля от общего количества автомобилей.

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
 FROM 
SASHELP.CARS
WHERE make in ('Audi','BMW')
;
RUN;

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = type /
            DATALABELLOCATION = OUTSIDE
            CATEGORYDIRECTION = CLOCKWISE
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = 'Car Types';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
PROC SGRENDER DATA = cars1
            TEMPLATE = pie;
RUN;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

piechart1

Круговая диаграмма с метками данных

На этой круговой диаграмме мы представляем как дробное значение, так и процентное значение для каждого среза. Мы также меняем расположение метки, чтобы она находилась внутри графика. Стиль внешнего вида диаграммы изменяется с помощью опции DATASKIN. Он использует один из встроенных стилей, доступных в среде SAS.

пример

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = type /
            DATALABELLOCATION = INSIDE
            DATALABELCONTENT = ALL
            CATEGORYDIRECTION = CLOCKWISE
            DATASKIN = SHEEN 
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = 'Car Types';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
PROC SGRENDER DATA = cars1
            TEMPLATE = pie;
RUN;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

piechart2

Круговая диаграмма

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

пример

В приведенном ниже примере мы группируем диаграмму по переменной с именем «Make». Поскольку доступны два значения («Audi» и «BMW»), мы получаем два концентрических круга, каждый из которых представляет срезы типов автомобилей своей марки.

PROC TEMPLATE;
   DEFINE STATGRAPH pie;
      BEGINGRAPH;
         LAYOUT REGION;
            PIECHART CATEGORY = type / Group = make
            DATALABELLOCATION = INSIDE
            DATALABELCONTENT = ALL
            CATEGORYDIRECTION = CLOCKWISE
            DATASKIN = SHEEN 
            START = 180 NAME = 'pie';
            DISCRETELEGEND 'pie' /
            TITLE = 'Car Types';
         ENDLAYOUT;
      ENDGRAPH;
   END;
RUN;
PROC SGRENDER DATA = cars1
            TEMPLATE = pie;
RUN;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

piechart3

SAS – точечные диаграммы

Диаграмма рассеяния – это тип графика, который использует значения двух переменных, построенных на декартовой плоскости. Обычно используется для выяснения связи между двумя переменными. В SAS мы используем PROC SGSCATTER для создания графиков рассеяния.

Обратите внимание, что мы создаем набор данных с именем CARS1 в первом примере и используем тот же набор данных для всех последующих наборов данных. Этот набор данных остается в рабочей библиотеке до конца сеанса SAS.

Синтаксис

Основной синтаксис для создания точечной диаграммы в SAS –

PROC sgscatter  DATA = DATASET;
   PLOT VARIABLE_1 * VARIABLE_2
   / datalabel = VARIABLE group = VARIABLE;
RUN;

Ниже приведено описание используемых параметров:

  • DATASET – это имя набора данных.

  • VARIABLE – это переменная, используемая из набора данных.

DATASET – это имя набора данных.

VARIABLE – это переменная, используемая из набора данных.

Простое Scatterplot

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

пример

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
FROM 
SASHELP.CARS
WHERE make in ('Audi','BMW')
;
RUN;

TITLE 'Scatterplot - Two Variables';
PROC sgscatter  DATA = CARS1;
   PLOT horsepower*Invoice 
   / datalabel = make group = type grid;
   title 'Horsepower vs. Invoice for car makers by types';
RUN; 

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

sactter_plot1

Scatterplot с предсказанием

мы можем использовать параметр оценки, чтобы предсказать степень корреляции между ними, нарисовав эллипс вокруг значений. Мы используем дополнительные параметры в процедуре, чтобы нарисовать эллипс, как показано ниже.

пример

proc sgscatter data = cars1; 
compare y = Invoice  x = (horsepower length)  
         / group = type  ellipse =(alpha = 0.05 type = predicted); 
title
'Average Invoice vs. horsepower for cars by length'; 
title2
'-- with 95% prediction ellipse --'
; 
format
Invoice dollar6.0;
run;

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

sactter_plot_eliipse

Scatter Matrix

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

пример

PROC sgscatter  DATA = CARS1;
   matrix horsepower invoice length
   / group = type;

   title 'Horsepower vs. Invoice vs. Length for car makers by types';
RUN; 

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

sactter_plot_matrix

SAS – Коробочные участки

Boxplot – графическое представление групп числовых данных через их квартили. Коробчатые участки также могут иметь линии, проходящие вертикально от прямоугольников (усов), указывающих на изменчивость за пределами верхнего и нижнего квартилей. Дно и верх коробки всегда являются первым и третьим квартилями, а полоса внутри коробки – всегда вторым квартилем (медиана). В SAS простой Boxplot создается с помощью PROC SGPLOT, а панельный boxplot создается с помощью PROC SGPANEL .

Обратите внимание, что мы создаем набор данных с именем CARS1 в первом примере и используем тот же набор данных для всех последующих наборов данных. Этот набор данных остается в рабочей библиотеке до конца сеанса SAS.

Синтаксис

Основной синтаксис для создания боксплота в SAS –

PROC SGPLOT  DATA = DATASET;
   VBOX VARIABLE / category = VARIABLE;
RUN; 

PROC SGPANEL  DATA = DATASET;;
PANELBY VARIABLE;
   VBOX VARIABLE> / category = VARIABLE;
RUN; 

Ниже приведено описание используемых параметров:

  • DATASET – это имя используемого набора данных.

  • VARIABLE – это значение, используемое для построения Boxplot.

DATASET – это имя используемого набора данных.

VARIABLE – это значение, используемое для построения Boxplot.

Простой боксплот

В простом Boxplot мы выбираем одну переменную из набора данных, а другую – для формирования категории. Значения первой переменной классифицируются по количеству групп по числу различных значений во второй переменной.

пример

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

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

PROC SGPLOT  DATA = CARS1;
   VBOX horsepower 
   / category = type;

   title 'Horsepower of cars by types';
RUN; 

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

box_plot_1

Boxplot в вертикальных панелях

Мы можем разделить Boxplots переменной на множество вертикальных панелей (столбцов). Каждая панель содержит поля для всех категориальных переменных. Но блокпосты далее группируются с использованием другой третьей переменной, которая делит график на несколько панелей.

пример

В приведенном ниже примере мы обрисовали график с помощью переменной ‘make’. Так как есть два разных значения make, мы получаем две вертикальные панели.

PROC SGPANEL  DATA = CARS1;
PANELBY MAKE;
   VBOX horsepower   / category = type;

   title 'Horsepower of cars by types';
RUN; 

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

box_plot_2

Boxplot в горизонтальных панелях

Мы можем разделить Boxplots переменной на множество горизонтальных панелей (рядов). Каждая панель содержит поля для всех категориальных переменных. Но блокпосты далее группируются с использованием другой третьей переменной, которая делит график на несколько панелей. В приведенном ниже примере мы обрисовали график с помощью переменной ‘make’. Поскольку есть два разных значения make, мы получаем две горизонтальные панели.

PROC SGPANEL  DATA = CARS1;
PANELBY MAKE / columns = 1 novarname;

   VBOX horsepower   / category = type;

   title 'Horsepower of cars by types';
RUN; 

Когда мы выполняем приведенный выше код, мы получаем следующий вывод:

box_plot_3

SAS – среднее арифметическое

Среднее арифметическое – это значение, полученное путем суммирования числовых переменных с последующим делением суммы на количество переменных. Это также называется Средний. В SAS среднее арифметическое рассчитывается с использованием PROC MEANS . Используя эту процедуру SAS, мы можем найти среднее значение всех переменных или некоторых переменных набора данных. Мы также можем формировать группы и находить средние значения переменных, характерных для этой группы.

Синтаксис

Основной синтаксис для вычисления среднего арифметического в SAS –

PROC MEANS DATA = DATASET;
CLASS Variables ;
VAR Variables;

Ниже приведено описание используемых параметров:

  • DATASET – это имя используемого набора данных.

  • Переменные – это имя переменной из набора данных.

DATASET – это имя используемого набора данных.

Переменные – это имя переменной из набора данных.

Среднее из набора данных

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

пример

В приведенном ниже примере мы находим среднее значение всех числовых переменных в наборе данных SAS с именем CARS. Мы указываем, что максимальные цифры после десятичного знака равны 2, а также находим сумму этих переменных.

PROC MEANS DATA = sashelp.CARS Mean SUM MAXDEC=2;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

Имею в виду

Среднее из выбранных переменных

Мы можем получить среднее значение некоторых переменных, указав их имена в опции var .

пример

Ниже мы вычисляем среднее значение трех переменных.

PROC MEANS DATA = sashelp.CARS mean SUM MAXDEC=2 ;
var horsepower invoice EngineSize;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

Mean_select_variables

Имеется в виду по классу

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

пример

В приведенном ниже примере мы находим среднее значение переменной мощности для каждого типа под каждой маркой автомобиля.

PROC MEANS DATA = sashelp.CARS mean SUM MAXDEC=2;
class make type;
var horsepower;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий вывод:

mean_with_class

SAS – стандартное отклонение

Стандартное отклонение (SD) является мерой того, насколько разнообразны данные в наборе данных. Математически он измеряет, насколько далеко или близко каждое значение от среднего значения набора данных. Значение стандартного отклонения, близкое к 0, указывает, что точки данных, как правило, очень близки к среднему значению набора данных, а высокое стандартное отклонение указывает, что точки данных распределены по более широкому диапазону значений.

В SAS значения SD измеряются с помощью PROC MEAN, а также PROC SURVEYMEANS.

Использование PROC MEANS

Для измерения SD с помощью средств proc мы выбираем параметр STD на шаге PROC. Он выводит значения SD для каждой числовой переменной, присутствующей в наборе данных.

Синтаксис

Основной синтаксис для расчета стандартного отклонения в SAS –

PROC means DATA = dataset STD;

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

Набор данных – это имя набора данных.

пример

В приведенном ниже примере мы создаем набор данных CARS1 из набора данных CARS в библиотеке SASHELP. Мы выбираем вариант STD с шагом PROC означает.

PROC SQL;
create table CARS1 as
SELECT make, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc means data = CARS1 STD;
run;

Когда мы выполняем приведенный выше код, он дает следующий вывод –

SD_1.JPG

Использование PROC SURVEYMEANS

Эта процедура также используется для измерения SD наряду с некоторыми дополнительными функциями, такими как измерение SD для категориальных переменных, а также для получения оценок отклонений.

Синтаксис

Синтаксис использования PROC SURVEYMEANS –

PROC SURVEYMEANS options statistic-keywords ;
BY variables ;
CLASS variables ;
VAR variables ;

Ниже приведено описание используемых параметров:

  • BY – указывает переменные, используемые для создания групп наблюдений.

  • CLASS – указывает переменные, используемые для категориальных переменных.

  • VAR – указывает переменные, для которых будет рассчитываться SD.

BY – указывает переменные, используемые для создания групп наблюдений.

CLASS – указывает переменные, используемые для категориальных переменных.

VAR – указывает переменные, для которых будет рассчитываться SD.

пример

В приведенном ниже примере описано использование опции класса, которая создает статистику для каждого из значений в переменной класса.

proc surveymeans data = CARS1 STD;
class type;
var type horsepower;
ods output statistics = rectangle;
run;
proc print data = rectangle;
run;

Когда мы выполняем приведенный выше код, он дает следующий вывод –

SD_2.JPG

Использование опции BY

Приведенный ниже код дает пример опции BY. В нем результат группируется для каждого значения в опции BY.

пример

proc surveymeans data = CARS1 STD;
var horsepower;
BY make;
ods output statistics = rectangle;
run;
proc print data = rectangle;
run;

Когда мы выполняем приведенный выше код, он дает следующий вывод –

Результат для make = “Audi”

SD_3.JPG

Результат для марки = “BMW”

SD_3.JPG

SAS – Распределение частот

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

SAS предоставляет процедуру PROC FREQ для расчета частотного распределения точек данных в наборе данных.

Синтаксис

Основной синтаксис для вычисления распределения частот в SAS –

PROC FREQ DATA = Dataset ;
TABLES Variable_1 ;
BY Variable_2 ;

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

  • Переменные_1 – это имена переменных набора данных, распределение частот которого необходимо рассчитать.

  • Переменные_2 – это переменные, которые классифицировали результат распределения частоты.

Набор данных – это имя набора данных.

Переменные_1 – это имена переменных набора данных, распределение частот которого необходимо рассчитать.

Переменные_2 – это переменные, которые классифицировали результат распределения частоты.

Распределение частоты одной переменной

Мы можем определить распределение частоты одной переменной с помощью PROC FREQ. В этом случае результат покажет частоту каждого значения переменной. Результат также показывает процентное распределение, совокупную частоту и совокупный процент.

пример

В приведенном ниже примере мы находим частотное распределение переменной лошадиной силы для набора данных с именем CARS1, который создается из библиотеки SASHELP.CARS. Мы можем видеть результат, разделенный на две категории результатов. Один для каждой марки автомобиля.

PROC SQL;
create table CARS1 as
SELECT make, model, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc FREQ data = CARS1 ;
tables horsepower; 
by make;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

FREQ_By2

Многократное частотное распределение

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

пример

В приведенном ниже примере мы рассчитываем распределение частоты для марки автомобиля, сгруппированного по типу автомобиля, а также распределение частоты для каждого типа автомобиля, сгруппированного по каждой марке.

proc FREQ data = CARS1 ;
tables make type; 
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

FREQ_tables1

Распределение частот с весом

С помощью опции веса мы можем рассчитать распределение частоты, смещенное с весом переменной. Здесь значение переменной берется как количество наблюдений, а не как количество значений.

пример

В приведенном ниже примере мы рассчитываем распределение частот переменных и типа с весом, назначенным для лошадиных сил.

proc FREQ data = CARS1 ;
tables make type; 
weight horsepower;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

FREQ_tables3

SAS – кросс-таблицы

Кросс-табуляция включает в себя создание кросс-таблиц, также называемых условными таблицами, с использованием всех возможных комбинаций двух или более переменных. В SAS он создается с помощью PROC FREQ вместе с опцией TABLES . Например – если нам нужна частота каждой модели для каждой марки в каждой категории автомобилей, то нам нужно использовать опцию TABLES в PROC FREQ.

Синтаксис

Основной синтаксис для применения кросс-табуляции в SAS –

PROC FREQ DATA = dataset;
TABLES variable_1*Variable_2;

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

  • Переменная_1 и Переменная_2 – это имена переменных набора данных, распределение частот которых необходимо рассчитать.

Набор данных – это имя набора данных.

Переменная_1 и Переменная_2 – это имена переменных набора данных, распределение частот которых необходимо рассчитать.

пример

Рассмотрим случай определения количества типов автомобилей под каждой маркой автомобилей из набора данных cars1, созданного из SASHELP.CARS, как показано ниже. В этом случае нам нужны отдельные значения частоты, а также сумма значений частоты по маркам и типам. Мы можем наблюдать, что результат показывает значения по строкам и столбцам.

PROC SQL;
create table CARS1 as
SELECT make, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc FREQ data = CARS1;
tables make*type; 
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

cross_tab_1

Перекрестная таблица из 3 переменных

Когда у нас есть три переменные, мы можем сгруппировать 2 из них и скрестить каждую из этих двух с третьим допустимым. Таким образом, в результате мы имеем два кросс-таблицы.

пример

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

proc FREQ data = CARS2 ;
tables make * (type model)  / nocol norow nopercent;   
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

cross_tab_2

Перекрестная таблица из 4 переменных

С 4 переменными количество парных комбинаций увеличивается до 4. Каждая переменная из группы 1 соединяется с каждой переменной из группы 2.

пример

В приведенном ниже примере мы находим частоту длины автомобиля для каждой марки и каждой модели. Аналогично частота лошадиных сил для каждой марки и каждой модели.

proc FREQ data = CARS2 ;
tables (make model) * (length  horsepower)  / nocol norow nopercent;   
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

cross_tab_3

SAS – T Тесты

T-тесты выполняются для вычисления доверительных интервалов для одного или двух независимых образцов путем сравнения их средних и средних различий. Процедура SAS с именем PROC TTEST используется для проведения t-тестов для одной переменной и пары переменных.

Синтаксис

Основной синтаксис применения PROC TTEST в SAS –

PROC TTEST DATA = dataset;
VAR variable;
CLASS Variable;
PAIRED Variable_1 * Variable_2;

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

  • Переменная_1 и Переменная_2 – это имена переменных набора данных, используемого в t-тесте.

Набор данных – это имя набора данных.

Переменная_1 и Переменная_2 – это имена переменных набора данных, используемого в t-тесте.

пример

Ниже мы видим один пример t-теста, в котором находят оценку t-теста для переменной мощности с 95-процентным доверительным интервалом.

PROC SQL;
create table CARS1 as
SELECT make, type, invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc ttest data = cars1 alpha = 0.05 h0 = 0;
 	var horsepower;
   run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

t_test_1

Парный Т-тест

Парный T-тест проводится для проверки того, являются ли две зависимые переменные статистически отличными друг от друга или нет.

пример

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

proc ttest data = cars1 ;
   paired weight*length;
   run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

t_test_2

Два образца t-теста

Этот t-тест предназначен для сравнения средних значений одной и той же переменной между двумя группами.

пример

В нашем случае мы сравниваем среднее значение переменной мощности для двух разных марок автомобилей («Ауди» и «БМВ»).

proc ttest data = cars1 sides = 2 alpha = 0.05 h0 = 0;
   title "Two sample t-test example";
   class make; 
   var horsepower;
   run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

t_test_3

SAS – корреляционный анализ

Корреляционный анализ имеет дело с отношениями между переменными. Коэффициент корреляции является мерой линейной связи между двумя переменными. Значения коэффициента корреляции всегда находятся между -1 и +1. SAS предоставляет процедуру PROC CORR для нахождения коэффициентов корреляции между парой переменных в наборе данных.

Синтаксис

Основной синтаксис для применения PROC CORR в SAS –

PROC CORR DATA = dataset options;
VAR variable;

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

  • Опции – это дополнительная опция с такой процедурой, как построение матрицы и т. Д.

  • Переменная – это имя переменной набора данных, используемого для нахождения корреляции.

Набор данных – это имя набора данных.

Опции – это дополнительная опция с такой процедурой, как построение матрицы и т. Д.

Переменная – это имя переменной набора данных, используемого для нахождения корреляции.

пример

Коэффициенты корреляции между парой переменных, доступных в наборе данных, можно получить, используя их имена в выражении VAR. В приведенном ниже примере мы используем набор данных CARS1 и получаем результат, показывающий коэффициенты корреляции между лошадиными силами и весом.

PROC SQL;
create table CARS1 as
SELECT invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;

proc corr data = cars1 ;
VAR horsepower weight ;
BY make;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

corr_ana_2

Корреляция между всеми переменными

Коэффициенты корреляции между всеми переменными, доступными в наборе данных, можно получить, просто применив процедуру с именем набора данных.

пример

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

proc corr data = cars1 ;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

corr_ana_1

Матрица корреляции

Мы можем получить матрицу рассеяния между переменными, выбрав опцию для построения матрицы в операторе PROC .

пример

В приведенном ниже примере мы получаем матрицу между лошадиными силами и весом.

proc corr data = cars1 plots = matrix ;
VAR horsepower weight ;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

corr_ana_3

SAS – линейная регрессия

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

Затем используются различные тесты, чтобы определить, является ли модель удовлетворительной. Если это так, оцененное уравнение регрессии может использоваться для прогнозирования значения зависимой переменной с учетом значений для независимых переменных. В SAS процедура PROC REG используется для нахождения модели линейной регрессии между двумя переменными.

Синтаксис

Основной синтаксис для применения PROC REG в SAS –

PROC REG DATA = dataset;
MODEL variable_1 = variable_2;

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

  • variable_1 и variable_2 являются именами переменных набора данных, используемого при поиске корреляции.

Набор данных – это имя набора данных.

variable_1 и variable_2 являются именами переменных набора данных, используемого при поиске корреляции.

пример

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

PROC SQL;
create table CARS1 as
SELECT invoice, horsepower, length, weight
   FROM 
   SASHELP.CARS
   WHERE make in ('Audi','BMW')
;
RUN;
proc reg data = cars1;
model horsepower = weight ;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

regression_1

Приведенный выше код также дает графическое представление различных оценок модели, как показано ниже. Будучи продвинутой процедурой SAS, она просто не останавливается на выдаче значений перехвата в качестве вывода.

regression_2

SAS – Мягкий Альтман Анализ

Анализ Бланда-Альтмана – это процесс проверки степени согласия или несогласия между двумя методами, предназначенными для измерения одних и тех же параметров. Высокая корреляция между методами указывает на то, что при анализе данных была выбрана достаточно хорошая выборка. В SAS мы создаем график Бланда-Альтмана, вычисляя среднее, верхний и нижний пределы значений переменных. Затем мы используем PROC SGPLOT для создания сюжета Бланда-Альтмана.

Синтаксис

Основной синтаксис применения PROC SGPLOT в SAS –

PROC SGPLOT DATA = dataset;
SCATTER X = variable Y = Variable;
REFLINE value;

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

  • Оператор SCATTER создает график графика рассеяния значения, представленного в форме X и Y.

  • REFLINE создает горизонтальную или вертикальную контрольную линию.

Набор данных – это имя набора данных.

Оператор SCATTER создает график графика рассеяния значения, представленного в форме X и Y.

REFLINE создает горизонтальную или вертикальную контрольную линию.

пример

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

Результат показывает график Бланда-Альтмана как график рассеяния.

data mydata;
input new old;
datalines;
31 45
27 12
11 37
36 25
14 8
27 15
3 11
62 42
38 35
20 9
35 54
62 67
48 25
77 64
45 53
32 42
16 19
15 27
22 9
8 38
24 16
59 25
;

data diffs ;
set mydata ;
/* calculate the difference */
diff = new-old ;
/* calculate the average */
mean = (new+old)/2 ;
run ;
proc print data = diffs;
run;

proc sql noprint ;
select mean(diff)-2*std(diff),  mean(diff)+2*std(diff)
into   :lower,  :upper 
from diffs ;
quit;

proc sgplot data = diffs ;
scatter x = mean y = diff;
refline 0 &upper &lower / LABEL = ("zero bias line" "95% upper limit" "95%
lower limit");
TITLE 'Bland-Altman Plot';
footnote 'Accurate prediction with 10% homogeneous error'; 
run ;
quit ;

Когда приведенный выше код выполняется, мы получаем следующий результат –

bland_altman_1

Улучшенная модель

В расширенной модели вышеуказанной программы мы получаем подгонку кривой уровня достоверности 95%.

proc sgplot data = diffs ;
reg x = new y = diff/clm clmtransparency = .5;
needle x = new y = diff/baseline = 0;
refline 0 / LABEL = ('No diff line');
TITLE 'Enhanced Bland-Altman Plot';
footnote 'Accurate prediction with 10% homogeneous error'; 
run ;
quit ;

Когда приведенный выше код выполняется, мы получаем следующий результат –

bland_altman_2

SAS – Площадь Чи

Критерий хи-квадрат используется для изучения связи между двумя категориальными переменными. Его можно использовать для проверки как степени зависимости, так и степени независимости между переменными. SAS использует PROC FREQ вместе с опцией chisq для определения результата теста хи-квадрат.

Синтаксис

Основной синтаксис для применения PROC FREQ для теста хи-квадрат в SAS –

PROC FREQ DATA = dataset;
TABLES variables 
/CHISQ TESTP = (percentage values);

Ниже приведено описание используемых параметров:

  • Набор данных – это имя набора данных.

  • Переменные – это имена переменных набора данных, которые используются в тесте хи-квадрат.

  • Процентные значения в операторе TESTP представляют процентное содержание уровней переменной.

Набор данных – это имя набора данных.

Переменные – это имена переменных набора данных, которые используются в тесте хи-квадрат.

Процентные значения в операторе TESTP представляют процентное содержание уровней переменной.

пример

В приведенном ниже примере мы рассмотрим критерий хи-квадрат для переменной с именем type в наборе данных SASHELP.CARS. Эта переменная имеет шесть уровней, и мы назначаем процент каждому уровню в соответствии с дизайном теста.

proc freq data = sashelp.cars;
tables type 
/chisq 
testp = (0.20 0.12 0.18 0.10 0.25 0.15);
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

chi_square_1

Мы также получаем гистограмму, показывающую отклонение типа переменной, как показано на следующем снимке экрана.

chi_square_2

Двухсторонний хи-квадрат

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

пример

В приведенном ниже примере мы применяем критерий хи-квадрат к двум переменным с именем type и origin. Результат показывает табличную форму всех комбинаций этих двух переменных.

proc freq data = sashelp.cars;
tables type*origin 
/chisq 
;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

chi_square_3

SAS – Точные тесты Fishers

Точный критерий Фишера – это статистический тест, используемый для определения наличия неслучайных ассоциаций между двумя категориальными переменными. В SAS это выполняется с использованием PROC FREQ . Мы используем опцию Таблицы, чтобы использовать две переменные, подвергнутые точному тесту Фишера.

Синтаксис

Основной синтаксис для применения теста Fisher Exact в SAS –

PROC FREQ DATA = dataset ;
TABLES Variable_1*Variable_2 / fisher;

Ниже приведено описание используемых параметров:

  • набор данных – это имя набора данных.

  • Переменная_1 * Переменная_2 – это переменные из набора данных.

набор данных – это имя набора данных.

Переменная_1 * Переменная_2 – это переменные из набора данных.

Применение точного теста Фишера

Чтобы применить точный тест Фишера, мы выбираем две категориальные переменные с именами Test1 и Test2 и их результат. Мы используем PROC FREQ, чтобы применить тест, показанный ниже.

пример

data temp;
input  Test1 Test2 Result @@;
datalines;
1 1 3 1 2 1 2 1 1 2 2 3
;
proc freq; 
tables Test1*Test2 / fisher;
run;

Когда приведенный выше код выполняется, мы получаем следующий результат –

fisher_exact_1

SAS – анализ повторных измерений

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

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

В SAS PROC GLM используется для анализа повторных измерений.

Синтаксис

Основной синтаксис для PROC GLM в SAS –

PROC GLM DATA = dataset;
   CLASS variable;
   MODEL variables = group / NOUNI;
   REPEATED TRIAL n;

Ниже приведено описание используемых параметров:

  • набор данных – это имя набора данных.

  • КЛАСС дает переменным переменную, используемую в качестве классификационной переменной.

  • MODEL определяет модель для подгонки, используя определенные переменные из набора данных.

  • REPEATED определяет количество повторных измерений каждой группы для проверки гипотезы.

набор данных – это имя набора данных.

КЛАСС дает переменным переменную, используемую в качестве классификационной переменной.

MODEL определяет модель для подгонки, используя определенные переменные из набора данных.

REPEATED определяет количество повторных измерений каждой группы для проверки гипотезы.

пример

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

DATA temp;
   INPUT person group $ r1 r2 r3 r4;
CARDS;
1 A  2  1  6  5
2 A  5  4 11  9
3 A  6 14 12 10
4 A  2  4  5  8
5 A  0  5 10  9
6 B  9 11 16 13
7 B  12 4 13 14
8 B  15 9 13  8
9 B  6  8 12  5
10 B 5  7 11  9
;
RUN;

PROC PRINT DATA = temp ;
RUN;

   PROC GLM DATA = temp;
   CLASS group;
   MODEL r1-r4 = group / NOUNI ;
   REPEATED trial 5;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий результат –

repeated_measure_analysis

SAS – One Way Anova

ANOVA расшифровывается как дисперсионный анализ. В SAS это делается с помощью PROC ANOVA . Он выполняет анализ данных из широкого спектра экспериментальных проектов. В этом процессе переменная непрерывного отклика, известная как зависимая переменная, измеряется в экспериментальных условиях, определенных классификационными переменными, известными как независимые переменные. Предполагается, что вариация в ответе обусловлена ​​влиянием классификации, а оставшаяся вариация учитывает случайную ошибку.

Синтаксис

Основной синтаксис применения PROC ANOVA в SAS –

PROC ANOVA dataset ;
CLASS Variable;
MODEL Variable1 = variable2 ;
MEANS ;

Ниже приведено описание используемых параметров:

  • набор данных – это имя набора данных.

  • КЛАСС дает переменным переменную, используемую в качестве классификационной переменной.

  • MODEL определяет модель для подгонки, используя определенные переменные из набора данных.

  • Переменная_1 и Переменная_2 – это имена переменных набора данных, используемого в анализе.

  • СРЕДСТВО определяет тип расчета и сравнения средств.

набор данных – это имя набора данных.

КЛАСС дает переменным переменную, используемую в качестве классификационной переменной.

MODEL определяет модель для подгонки, используя определенные переменные из набора данных.

Переменная_1 и Переменная_2 – это имена переменных набора данных, используемого в анализе.

СРЕДСТВО определяет тип расчета и сравнения средств.

Применяя ANOVA

Давайте теперь разберемся с концепцией применения ANOVA в SAS.

пример

Давайте рассмотрим набор данных SASHELP.CARS. Здесь мы изучаем зависимость между переменным типом автомобиля и их лошадиными силами. Поскольку тип автомобиля является переменной с категориальными значениями, мы принимаем ее как переменную класса и используем обе эти переменные в МОДЕЛИ.

PROC ANOVA DATA = SASHELPS.CARS;
CLASS type;
MODEL horsepower = type;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий результат –

anova_1

Применение ANOVA со средствами

Давайте теперь поймем концепцию применения ANOVA со средствами в SAS.

пример

Мы также можем расширить модель, применив инструкцию MEANS, в которой мы используем турецкий метод Studentized для сравнения средних значений различных типов автомобилей. Категории типов автомобилей перечислены со средним значением лошадиных сил в каждой категории вместе с некоторыми дополнительными значениями, такими как среднеквадратичная ошибка и т. д.

PROC ANOVA DATA = SASHELPS.CARS;
CLASS type;
MODEL horsepower = type;
MEANS type / tukey lines;
RUN;

Когда приведенный выше код выполняется, мы получаем следующий результат –

anova_3

SAS – Проверка гипотез

Проверка гипотез – это использование статистики для определения вероятности того, что данная гипотеза верна. Обычный процесс проверки гипотез состоит из четырех этапов, как показано ниже.

Шаг 1

Сформулируйте нулевую гипотезу H0 (обычно, что наблюдения являются результатом чистой случайности) и альтернативную гипотезу H1 (обычно, что наблюдения показывают реальный эффект в сочетании с компонентом случайного изменения).

Шаг 2

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

Шаг 3

Вычислите P-значение, которое является вероятностью того, что тестовая статистика, по крайней мере, столь же значимая, как и наблюдаемая, будет получена при условии, что нулевая гипотеза верна. Чем меньше значение P, тем сильнее доказательства против нулевой гипотезы.

Шаг 4

Сравните значение p с приемлемым значением значимости альфа (иногда называемым значением альфа). Если р <= альфа, то наблюдаемый эффект является статистически значимым, нулевая гипотеза исключается, и альтернативная гипотеза верна.

Язык программирования SAS имеет функции для проведения различных типов проверки гипотез, как показано ниже.

Установка или настройка

SAS можно запускать в клиент-серверной модели с использованием либо толстого клиента Enterprise Guide, либо тонкого (веб-интерфейса) клиента SAS Studio, либо в режиме «локального сервера», где на локальном компьютере присутствует полностью функциональная система SAS (Windows или рабочий стол или сервер Unix / Linux, работающие в интерактивном режиме) и запускаются либо в режиме Диспетчерский режим (локальный клиент), либо через одного из клиентов клиент-сервер выше (подключенных к локально установленному серверу).

Установка SAS обычно выполняется администратором SAS, который будет устанавливать программное обеспечение из программного склада, настроенного для сайта (и часто предоставляемого напрямую Институтом SAS).

Для обучения SAS существует также бесплатная версия SAS University Edition, которая может быть установлена ​​бесплатно для образовательных целей любым пользователем на компьютере под управлением Windows, Mac или Unix / Linux. Он доступен непосредственно из SAS, в настоящее время на странице SAS University Edition , либо путем запуска экземпляра AWS (на свободном уровне), либо путем загрузки виртуальной машины локально. См. Руководство по установке на SAS.com для получения последних инструкций или ниже для текущих (июль 2016) инструкций.

Чтобы установить его локально, сначала загружайте и устанавливайте Oracle Virtualbox 5.0 (Windows / Mac / Linux) . Затем загрузите новейший образ диска SAS University Edition , который составляет около 2 ГБ и требует настройки профиля SAS.com.

Как только вы это сделаете, вам нужно настроить виртуальную машину в VirtualBox. Импортируйте SAS VM в качестве устройства («Импорт устройства» в VirtualBox). Создайте папку для SAS, которая будет использоваться в качестве ее локального хранилища (чтобы вы могли помещать файлы в местоположение, которое SAS может их видеть), и установите это как общую папку в диалоговом окне настроек машины. Установите его для автоматического монтирования.

Затем запустите виртуальную машину SAS, и после ее запуска вы можете подключиться через ваш веб-браузер, подключившись к http: // localhost: 10080 /, если вы использовали настройки по умолчанию.

Если у вас есть проблемы, форумы сообщества SAS — Analytics U — это форумы поставщиков для получения поддержки или задайте вопрос о переполнении стека .

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

  • ввод данных, поиск и управление
  • создание отчетов и графический дизайн
  • статистический и математический анализ
  • бизнес-прогнозирование и поддержка принятия решений
  • исследования операций и управление проектами
  • разработка приложений

Как вы используете SAS, зависит от того, что вы хотите выполнить. Некоторые люди используют многие возможности SAS System, а другие используют лишь некоторые из них.

Привет, мир!

Из-за структуры SAS существует три основных способа создания «Hello World!». Примеры:

  1. В течение шага данных, чтобы поместить сообщение в журнал SAS ( _null_ означает, что не нужно создавать выходной набор данных):
data _null_;
    put "Hell" "o World!";
run;
  1. В рамках шага данных для хранения «Hello World!» внутри переменной ( foo означает, что должен быть создан выходной набор данных, называемый foo , который содержит только одну запись и b) содержит только одну переменную: bar , которая имеет значение Hello World! ):
data foo ;
    bar="Hello" ;
    put bar= "World!";
run ;
  1. Через язык макросов SAS (в «открытом коде» за пределами любых шагов данных). & идентифицирует вызов макропеременной и . определяет конец переменной (если символ пробела не нужен):
%let foo=Hello;
%put &foo.o World!;
  1. Гибрид: использование макропеременной в шаге данных:
%let foo=Hello;

data _null_ ;
  put "&foo World!";
run ;

Архитектура сервера SAS

Обзор . Обычно существуют два типа развертываний SAS:

  1. Установка только SAS Foundation (BASE SAS). Обычно это устанавливается на ПК. Он не запускает серверное программное обеспечение.

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

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

Замечание по установке 44320: Использование планов развертывания при установке SAS®

Архитектура сервера SAS

Среда сервера SAS разбита на 3 разных уровня:

  1. Сервер (ы) метаданных SAS. Сервер метаданных SAS отвечает за управление средой сервера SAS, включая библиотеки, пользователей и конфигурацию сервера.

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

3. Средний уровень SAS = средний уровень SAS — это, прежде всего, ваш веб-уровень, который запускает ваши веб-приложения.

4. Клиентский уровень . Клиентский уровень — это клиентские приложения ваших пользователей, которые они используют для подключения к среде, такой как SAS Enterprise Guide.

Бумага 363-2011 | Понимание анатомии развертывания SAS®: что находится в моем серфинге? Марк Шнайдер, Донна Беннетт и Конни Робисон, SAS Institute Inc., Кэри, Северная Каролина

Топология:

Уровни метаданных SAS, уровень сервера приложений SAS и средний уровень SAS могут быть установлены на одном сервере или распределены между несколькими серверами. Это определяется файлом плана, который у вас есть, он должен соответствовать желаемой топологии для вашего развертывания.

Обычно большинство, если не весь клиентский уровень, являются приложениями на базе Windows, поэтому клиентский уровень будет на ваших рабочих станциях пользователей SAS. Возможно, они, возможно, также будут установлены на сервере (ах), если они основаны на Windows.

Поддерживаемые операционные системы SAS

Versioning

Основными текущими версиями SAS являются 9.4 и 9.3, это версии базового двигателя SAS, наиболее часто используемые сегодня. Ссылка на примечания к выпуску для версий 9.1 + и другая соответствующая документация приведены ниже.

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

  • SAS 9.4 — Основные документы и примечания к выпуску
  • SAS 9.3 — Основные документы и примечания к выпуску
  • SAS 9.2 — Основные документы и примечания к выпуску
  • SAS 9.1.x — Основные документы и примечания к выпуску

Время на прочтение
8 мин

Количество просмотров 62K

Привет! Я Анна Добрыченко, преподаватель учебного центра 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 Base можно на бесплатном интерфейсе под названием SAS University Edition или сокращенно SAS UE.

 
SAS UE — это мощный инструмент, который предоставляется SAS Institute. Пользовательский интерфейс для SAS UE (известный как SAS Studio) основан на web-браузере – это web-клиент. Скачать его можно на сайте SAS абсолютно бесплатно. На ПК SAS UE запускается под виртуальной машиной и требует установки программного обеспечения виртуализации. Для Windows подойдет Oracle VM VirtualBox и Vmware Player. Всю информацию по установке можно изучить вот в этом документе.

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

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

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

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

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

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

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

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

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

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

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

Вы можете открыть справку (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 (сам синтаксис мы рассмотрим позже):

data people;
infile datalines dlm=' ' dsd missover;
length Id 8 Fist_Name $12 Last_Name $20 Phone_number $20;
input Id Fist_Name Last_Name Phone_number;
datalines;
125001 Gregory Backer +1-567-244-5678
245002 Albert Hardman +1-862-444-3333
126003 Amanda Wesley 
. Gloria Carter +1-963-542-2154
111005 Colin +1-964-584-1111
;

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

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

data time;
Current_date=Today();
Current_time=Time();
Current_datetime=Datetime();
run;

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

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

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

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

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

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

data _null_;
word1='SAS Institute';
LEN=length(word1);
putlog 'Length of word1 is ' LEN;
run;

Фрагмент Log:

Имена переменных, как и наборов данных, задаются самостоятельно. Есть ряд правил именования переменных 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 представлен ниже:

data new;
set sasuser.ads;
run;

proc print data=new;
run;

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

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

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

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

  • Закомментированный оператор — *оператор;

data new;
set sasuser.ads;
run;

proc print data=new;
*var Sales;
run;

Фрагмент Log:

  • Комментарий — /*комментарий*/

/*Create new data set*/
data new;
set sasuser.ads;
run;

/*Create new report*/
proc print data=new;
run;

Фрагмент Log:

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

  • Опечатка в ключевом слове data или proc.

daat new;
set sasuser.ads;
run;

proc print data=new;
run;

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

  • Отсутствие «точки с запятой».

data new;
set sasuser.ads;
run;

proc print data=new
run;

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

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

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

data test;
infile datalines dlm=',;
input x y z;
datalines;
1,2,3
;

При непарных кавычках срабатывает подсветка и в Log заносится в этом случае следующее сообщение (фрагмент Log):

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

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

IBM BladeCenter S SAS RAID Controller Module Installation And User Manual

  • Contents

  • Table of Contents

  • Troubleshooting

  • Bookmarks

Quick Links

IBM SAS RAID Controller Module

Installation and User’s Guide

IBM BladeCenter S SAS RAID Controller Module

loading

Related Manuals for IBM BladeCenter S SAS RAID Controller Module

Summary of Contents for IBM BladeCenter S SAS RAID Controller Module

  • Page 1
    IBM SAS RAID Controller Module Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 3
    IBM SAS RAID Controller Module Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 4
    Before using this information and the product it supports, read the information in the “Notices” on page 191 section. Fourteenth Edition (July 2013) © Copyright IBM Corporation 2008, 2013. US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  • Page 5: Table Of Contents

    Module….19 locate . . 68 Installation and setup . . 19 list features . 71 The IBM BladeCenter Start Now Advisor method . 21 mountpolicy . . 71 The Advanced Management Module method . . 21 mountstate .

  • Page 6
    Replacing a single controller in a dual controller People’s Republic of China Class A electronic configuration using the CLI . 164 emission statement . 198 IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 7
    Taiwan Class A compliance statement . . 199 Index ….201 Contents…
  • Page 8
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 9: Tables

    Tables Interfaces and functions . Tape devices supported by the IBM Important notes BladeCenter S SAS RAID Controller Module . 95 Features . Light path diagnostics LED details . . 98 Battery Backup Unit part number . . 13 Alert types generated by the RAID Controller 106 RAID levels and characteristics .

  • Page 10
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 11: Chapter 1. Introduction

    IBM Storage Configuration Manager (SCM) The IBM Storage Configuration Manager is a web-based system management application that you can use to update firmware on the IBM BladeCenter S SAS RAID Controller Module, DSM, and DDM, as well as manage and configure ®…

  • Page 12: Product Description And Package Contents

    IBM BladeCenter S SAS RAID Controller Module. This guide is updated periodically, so check this location for the latest copy: https://www.ibm.com/ systems/support/supportsite.wss/docdisplay?lndocid=MIGR-5073016 &brandind=5000020. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 13: System Requirements

    The IBM BladeCenter S SAS RAID Controller Module functions only within the IBM BladeCenter S chassis. The following are also required: v One or two IBM BladeCenter S SAS RAID Controller Modules. If you install two SAS RAID Modules, you must install them in I/O module bay 3 and I/O module bay 4.

  • Page 14: Workflow Notes

    1 and bay 2 of the media tray. You can obtain up-to-date information about the SAS RAID Modules and other IBM products at http://www.ibm.com/systems/support/ IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 15: Preinstallation Safety Information

    The major components topic contains an illustration that shows the location of the SAS RAID Modules labels. Note: This information is required when you register the SAS RAID Modules with IBM. Preinstallation safety information This topic contains important safety information. Read before installing this product.

  • Page 16
    Antes de instalar este produto, leia as Informações sobre Segurança. Antes de instalar este producto, lea la información de seguridad. Läs säkerhetsinformationen innan du installerar den här produkten. Statement 1 IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 17
    Statement 2 CAUTION: When replacing the lithium battery, use only IBM Part Number 33F8354 or an equivalent type battery recommended by the manufacturer. If your system has a module containing a lithium battery, replace it only with the same module type made by the same manufacturer.
  • Page 18: Handling Static-Sensitive Devices

    Take additional care when handling devices during cold weather. Heating reduces indoor humidity and increases static electricity. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 19: Hardware Features And Specifications

    Hardware features and specifications This section provides a summary of the features and specifications for the IBM BladeCenter S SAS RAID Controller Module. The SAS RAID Modules support the following features: v 6 internal 1X SAS 3.0 Gb host connectivity to 6 blade slots v 2 internal 4X SAS 3.0Gb to 2 disk storage module (DSM) systems…

  • Page 20: Component Illustrations

    The following illustrations show the front and rear views of an IBM BladeCenter S chassis. Your hardware might have labels not shown in the following illustrations. Figure 1. Front view of an IBM BladeCenter S chassis IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 21: Logical Identifiers And Physical Location Codes

    The connectivity module option package contains the following items: v One IBM BladeCenter S SAS RAID Controller Module v One Battery Backup Unit (45W5002) is bundled with each IBM BladeCenter S SAS RAID Controller Module. v The RAID Controller Getting Started Guide v The Support CD, which includes: –…

  • Page 22: Related Documentation

    IBM Planning and Installation Guide for your BladeCenter unit to help you prepare for system installation and configuration. For more information, see http://www.ibm.com/systems/support/. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 23: Chapter 2. Prerequisite Hardware

    Note: Like all batteries, Battery Backup Units degrade over time. You should install Battery Backup Units within 90 days of the date of purchase so that they can begin recharging, and do not take them out of the IBM BladeCenter S chassis for extended periods of time.

  • Page 24: Quick Facts About Battery Backup Units

    Lit (green). The Battery Backup Units is being charged. Off. Fault Lit (amber). The Battery Backup Units has a failure. If the Fault LED is lit, replace the Battery Backup Units. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 25: Installing The Battery Backup Unit

    This topic shows the mechanics of performing a physical installation of the Battery Backup Units. The Replacing a battery section of this document details the steps to take to prepare the IBM BladeCenter S SAS RAID Controller Module for a battery replacement.

  • Page 26
    Procedure 1. Open the release handle (rotate the handle down) 2. Slide the battery backup unit out of the media tray. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 27: Chapter 3. Understanding The Telnet Interface

    IP assigned to it. If you are using the default IP address your management system (the computer you are using to manage your IBM BladeCenter S components) must be physically connected through an Ethernet cable to the Advanced Management Module .

  • Page 28
    10. At the Password prompt, type the initial default password, PASSW0RD (the sixth character is a zero). 11. Click OK. The Command Line Interface Shell screen opens. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 29: Chapter 4. Installing The Ibm Bladecenter S Sas Raid Controller Module

    Chapter 4. Installing the IBM BladeCenter S SAS RAID Controller Module This topic details the IBM BladeCenter S SAS RAID Controller Module installation and setup procedures. Before you begin Before you begin, do the following: 1. Install a SAS Expansion Card (CFFv) for IBM BladeCenter (Part Number — 39Y9190) into each Blade server that you want to communicate with the RAID Controller.

  • Page 30
    A non-guided manual configuration using a direct connection to the Advanced Management Module. Log into the Advanced Management Module and perform the rest of the setup tasks. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 31: The Ibm Bladecenter Start Now Advisor Method

    The Advanced Management Module method About this task After you install the IBM BladeCenter S SAS RAID Controller Module, you can log into the Advanced Management Module and set the parameters of the modules so that you can begin configuring your integrated storage.

  • Page 32
    What to do next If you experience any problems with setting these parameters, review the advanced verification procedures in the Troubleshooting section of this document. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 33: Installing Ibm Storage Configuration Manager

    5. When prompted to choose an install type, select SCM Full Install for all devices. 6. After you install the IBM Storage Configuration Manager, you are prompted to restart your workstation. TheIBM Storage Configuration Manager service starts automatically upon restart.

  • Page 34: Resetting The Passwords On An Sas Raid Module

    Module in bay 4 successfully powers on. The On message will be displayed in the Pwr column, and the message POST results available: Module completed POST successfully will display in POST Status column. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 35: Configuring Storage Through The Cli

    Slide the RAID Controller into the module bay until it stops. c. Close the release handle by rotating the handle up. d. Connect all cables to the module. Chapter 4. Installing the IBM BladeCenter S SAS RAID Controller Module…

  • Page 36
    LUNs Mapped : ___________________________________________________________ Permission Volume |_________|_____________________|___________________________| ACCESS_READWRITE| Raid10_Pool:r10_vol_1| ACCESS_READWRITE| Raid10_Pool:r10_vol_10| ACCESS_READWRITE| Raid10_Pool:r10_vol_4| ACCESS_READWRITE| Raid10_Pool:r10_vol_3| ACCESS_READWRITE| Raid10_Pool:r10_vol_2| ACCESS_READWRITE| Raid10_Pool:r10_vol_9| ACCESS_READWRITE| Raid10_Pool:r10_vol_8| ACCESS_READWRITE| Raid10_Pool:r10_vol_7| ACCESS_READWRITE| Raid10_Pool:r10_vol_6| IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 37
    <CLI> hostlun -map -volume Raid10_Pool:r10_vol_8 -permission rw -wwn 500062b00007e569 -name CliHost1 -lun 6 Working … Host LUN 6 for host 500062b00007e569 and host name CliHost1 mapped to volume ’r10_vol_8’ in ’Raid10_Pool’ Chapter 4. Installing the IBM BladeCenter S SAS RAID Controller Module…
  • Page 38
    HostWWN 500062b00007e569, HostName CliHost1 : LUNs Mapped : ___________________________________________________________ Permission Volume |_________|_____________________|___________________________| ACCESS_READWRITE| Raid10_Pool:r10_vol_1| ACCESS_READWRITE| Raid10_Pool:r10_vol_2| ACCESS_READWRITE| Raid10_Pool:r10_vol_3| ACCESS_READWRITE| Raid10_Pool:r10_vol_4| ACCESS_READWRITE| Raid10_Pool:r10_vol_10| ACCESS_READWRITE| Raid10_Pool:r10_vol_9| ACCESS_READWRITE| Raid10_Pool:r10_vol_8| IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 39
    ACCESS_READWRITE| Raid10_Pool:r10_vol_7| ACCESS_READWRITE| Raid10_Pool:r10_vol_6| ACCESS_READWRITE| Raid10_Pool:r10_vol_5| |_________|_____________________|___________________________| If the upgrade did not complete successfully, collect the logs and contact IBM. Chapter 4. Installing the IBM BladeCenter S SAS RAID Controller Module…
  • Page 40
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 41: Chapter 5. Disconnecting Power To The Bladecenter Unit

    Note: A 9401 alert event is logged in the system if one of the following occurs: v The IBM BladeCenter S SAS RAID Controller Module is not turned off and the chassis is disconnected from the power source for more than 72 hours…

  • Page 42
    Note: After you disconnect the BladeCenter S chassis from power, wait at least 30 seconds before you connect the BladeCenter S chassis to power again. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 43: Chapter 6. Updating Firmware

    Controller Module and the Advanced Management Module. After completing the installation procedures, check the current firmware level shipped on the IBM BladeCenter S SAS RAID Controller Module and visit the IBM BladeCenter support Web site to ensure that it is operating with the latest version of firmware.

  • Page 44: Subscribing To Notifications

    IBM Support website at http://www.ibm.com/support/. Follow the instructions attached to the code package to install and configure firmware updates. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 45: Chapter 7. Working With Storage Pools And Volumes

    RAID level to it which will provide a redundancy level. You can create a storage pool using IBM Storage Configuration Manager or by using the create pool command in the RAID Controller command line interface (see “create pool”…

  • Page 46: Understanding Raid Levels

    RAID 10 uses a process called striping across mirrors. This process requires a set of even numbered disks, with four disks being the minimum number required. The IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 47: Understanding The Predefined Storage Configuration

    (4,6,8,10,12 drives). Understanding the predefined storage configuration When you install your IBM BladeCenter S SAS RAID Controller Module, a predefined configuration is available to get you started. This topic details the specifics of that predefined configuration. Canned configuration The predefined configuration packaged with IBM BladeCenter S SAS RAID Controller Module is referred to as a canned config within the interface itself.

  • Page 48: Configuring Volumes For Use With Vmware

    | Slot 0 | 3832GB| 366GB|Viable| ONV | | 1 | 1|raid1| | Slot 1 | 279GB| 247GB|Viable| ONV | |____ |__|_____|________|_________|________|________|______|_____|________| Using IBM Storage Configuration Manager (SCM) IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 49
    a. From the SCM navigation panel, select Health > Physical View, then select the Controllers tab. Select each controller and ensure both controllers have a status of Normal (Online). b. From the SCM navigation panel, select Configuration > Storage, then select the Storage Pools tab.
  • Page 50: Configuring Blades For Microsoft Cluster Service

    SAS Expansion Card, you can temporarily disable the Onboard SAS Controller by pressing F1 during the boot; this removes the Onboard SAS Controller from IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 51
    the Adapter List screen and the remaining entry will be the SAS Expansion Card. HS20 and LS20 blade types will have a single SAS entry by default as the internal hard drive is connected using SCSI. Figure 4. Adapter List screen showing Onboard SAS Controller and SAS Expansion Card 2.
  • Page 52
    Devices and I/O Ports screen displays. Figure 9. Devices and I/O Ports screen 2. Press Esc to exit the Devices and I/O Ports screen. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 53
    3. When the <<<Press Ctrl-C to start LSI Logic Configuration Utility>>> prompt displays during system boot, press Ctrl+C to enter the LSI Logic Configuration Utility. The Adapter List screen displays, similar to Figure 10. Figure 10. Adapter List screen showing SAS Expansion Card 4.
  • Page 54
    LUN1 or higher. If you start the drive mapping at LUN0, a boot delay will occur. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 55
    For blades that have the SAS Connectivity Card and are configured to be booted from an external SAS drive, the internal hard drive must be removed. Except for the requirements to remove the internal disk and to map a boot volume to the blade, the configuration for internal hard drive boot and external SAS boot is identical.
  • Page 56
    URL field. If you have the Advanced Management Module connected to your network, log in using the network IP assigned to it. If IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 57
    IP address your management system (the computer you are using to manage your IBM BladeCenter S components) must be physically connected through an Ethernet cable to the Advanced Management Module . Note: The default IP address for the Advanced Management Module is 192.168.70.125.
  • Page 58
    5. For IGMP settings, select Disable from the list of options. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 59: Chapter 8. Using The Raid Controller Command Line Interface

    Display help for commands If any <CLI> command is issued with the -help option, a contextual help page is displayed. Type help at the <CLI> command prompt to display the list of available commands. © Copyright IBM Corp. 2008, 2013…

  • Page 60: Display Commands

    BBU Firmware Revision : 58.0 BBU Expiration Date : Sat Jul 23 12:00:00 2016 Charging state information BBU Charging : False BBU Capacity (Hours) : 72+ IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 61: Detail Drive

    | Mount State |Ctl0|Ctl1| RPM |FW level| |_____________|____|____|_______|________| Online| 7200| BC1D| |_____________|____|____|_______|________| Drive SAS Address : 5000c5000d218b73 Vendor / Manufacturer ID : IBM-ESXS IBM Option Number : 42D0546 IBM FRU Number : 42D0548 IBM Part Number : 42C0279 Interface Type : SAS Disk Speed : 7200…

  • Page 62: Detail Pool

    If the missing drive comes back to make the pool viable, the state automatically changes to MV. When you acknowledge the alert, the state of the pool becomes UN. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 63: Detail Volume

    Information about a drive in the primary section is as follows: __________________________________________________________________________________________ | Slot | SerialNo | Cap | Grp | Usage | State | Mount State | Ctl0 | Ctl1 | |________|______________ ___|_______|________|_______|_______|_____________|______|______| 1:5| DQR9P6C00D3F| 33GB| DG2| GRP| Mounted| |________|__ _______________|_______|________|_______|_______|_____________|______|______| Information about a drive in the secondary section is as follows: _________________________________________________________________________________________…

  • Page 64
    784875485454| READWRITE| |_____________________|___________|__________________| Pool information: ___________________________________________________________________________________________ | ID | Name |RaidType|OwnerCtlr|TotalCap|AvailCap| Status | State | Degraded |____|___________|________|_________|________|________|____________|__________|____________| pool1| IO 3| 33GB| 28GB| Viable| |____|___________|________|_________|________|________|____________|__________|____________| IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 65: Detail Volume Verbose

    detail volume verbose The detail volume verbose command creates output detailing information about all of the Logical Unit Numbers (LUNs). A LUN is a number assigned to a logical unit. Command arguments: <CLI> detail volume verbose Example: <CLI> detail volume verbose ______________________________________________________________________ Name |RaidType| HostWWN…

  • Page 66: List Drive

    |Drive# | E:T | SerialNo | Cap | Pool | Usage | State | Mount State | Ctl1 | Ctl2 | RPM | |_______|______|______________|_______|______|_______|_______|_____________|______|______|______| IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 67: List Pool

    1:4| DQR9P6C00D1H| 33GB| UNA| Dismounted| 1:5| DQR9P6C00D3F| 33GB| DG2| GRP| Mounted| 2:6| DQR9P6C00D8S| 33GB| DG2| GRP| Mounted| 2:2| DQR9P6C00D8U| 33GB| UNA| Mounted| 2:1| DQR9P6C00D8V| 33GB| UNA| Mounted| 2:3| DQR9P6C00D9A| 33GB| UNA| Mounted| 1:6| DQR9P6C00DBK| 33GB| UNA| Mounted| 1:3| J3XU3MVK| 33GB| UNA| Mounted| 1:1|…

  • Page 68: List Volume

    [-savehistory] : Saves alert history into a file. -code : alert code of the alert you want to take action on. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 69: Battery

    : id of the alert message to be taken action on . -ctlr : slotID of the controller where you want the action to be taken place on an alert message. [-create] : This option can be used to create a generic alert with the alert code specified by ’-code’…

  • Page 70: Cache Settings

    If you specify the –get option, the system default setting is displayed. If you specify the –ctlrsetting option, the write cache settings for the controller are set. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 71: Chpasswd

    chpasswd Use this command to change the password for the selected user on an SAS RAID Module. If the firmware level of your RAID controllers is older than 1.2.x.xxx, you need to change the password on both SAS RAID Modules at the same time. If the firmware level of your RAID controllers is 1.2.x.xxx or newer, then changing the password on one SAS RAID Module automatically changes the password on the other SAS RAID Module.

  • Page 72: Configure Access

    SSH| ENABLED| |____________________|_______________________| <CLI> configure access -set -disable telnet <CLI> configure access -get _____________________________________________ Access Protocol | Status |____________________|_______________________| TELNET| DISABLED| SSH| ENABLED| |____________________|_______________________| IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 73: Configure Alert

    configure alert The configure alert command selects the alert messages to send by email. Previously configured messages display as configured and can be cleared. Use the -get option to display the list of alerts and to build a local list of system alerts before using the –set option to configure the alerts.

  • Page 74: Configure Pool

    An error appears if you issue the -set option while the list is empty or if the timeout value is invalid. Command arguments: <CLI> configure timeout -[get | set <HR:MIN:SEC> | help] -help option IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 75: Controller Config

    <CLI> configure timeout -[get | set <HR:MIN:SEC> | help] Usage : configure timeout -[get | set <HR:MIN:SEC> | help] [-get] : Displays the CLI session timeout settings [-set] : Sets the CLI session timeout period. : Number of hours. The number must be less than two digits. : Number of minites.

  • Page 76: Email Alert

    : Deletes specific email id EMAIL : EmailId of the person who wants to get the alerts. SERVER : IP address of the SMTP server . IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 77: Enclosure Reporting

    PORT : Port number on which SMTP server listens . SENDER : Sender’s full IP address. SMTP domain name is extracted from it so it must be valid for email to work.The format of this input should be in user@domain format.

  • Page 78: Event Log

    If the selected object is a drive, the LED on that drive is litup. If the selected object is a pool or a volume, LEDs on all the drives making up that IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 79
    object light up. The object can be specified using either the name or sequence number in the list returned by ’-getobject’ command. [-getobject] : This command with ’-getobject’ option is used to get a list of all the objects of that type. [-off] : Turns off the LEDs on all components Examples:…
  • Page 80
    <CLI> locate –setobject –drive all <CLI> locate –getobject –volume Vol# VolName# GrpName# Capacity# HostLUN# Host-WWN testVol0 Grp1 1024 23abcd testVol1 Grp2 3590 abdef3 <CLI> locate –setobject –number 2 IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 81: List Features

    list features Use this command to display currently enabled feature fields. Command arguments: <CLI> list features Example: <CLI> list features Current Machine Local Time: 08/26/2008 03:25:34 PM ____________________________________________________ | S.No | Features Availability |______|_________________________|___________________| Base Features | Enabled | Bound Mode | Enabled | Volume Copy | Disabled |…

  • Page 82
    A dual controller reboot is required to bring the pool back online. <CLI> mountstate -setobject -dismount -pool my_pool IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 83: Post Result

    Note: Once a pool is dismounted, the pool can not be mounted using the mountstate -setobject command. A dual controller reboot is required to bring the pool back online. <CLI> mountstate -setobject -dismount -bbu 1 <CLI> mountstate -setobject -mount -bbu 1 <CLI>…

  • Page 84: Service Mode Conditions

    Command arguments: <CLI> service mode –getreason Reason details : string Recovery Hints : string IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 85: Shellscript

    Where: v -getreason lists any appropriate recovery options. Example: <CLI> service mode –getreason Current Machine Local Time: 08/26/2008 03:35:15 PM The reason for service mode is “DRV_MISMATCH_RB”. Reason details : “Rebinder does not see the same drives as survivor.” Recovery Hints : “Reboot or Replace the controller” shellscript The shellscript command runs a shell script in the RAID controller.

  • Page 86: Shutdown

    ’-state online’ option to the active controller. If the controller to which this CLI session is connected to is being requested to be powered off,the user will lose the CLI session. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 87: Swversion

    swversion The swversion command retrieves and displays the software version. Command arguments: <CLI> swversion Example: <CLI> swversion Current Machine Local Time: 11/27/2009 11:27:09 PM Software version : H-2.0.2.6 UBoot version : H-1.1.4.5 OS version : H-2.4.20.11 SES version : 0105 BMC version : S0BT07c 011A 06/30/2009…

  • Page 88: Validate Key

    [POOL_NAME] — Specifies the name of the drive pool. v [ENCLOSURE]:[TRAY] — Specifies the drive bay number by enclosure number and tray number. Example: <CLI> add mirror -pool Grp1 -drives 1:1 1:3 IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 89: Assimilate Drive

    assimilate drive Use this command with foreign drives, which are drives that were written on another system using the controller software or a system using another vendor’s software. By running this command with the -set option, you can record the information pertinent to this controller in the drive region reserved for metadata.

  • Page 90: Copyback

    PORT : Port value can be either ’0’ or ’1’. POOL_NAME : Pass a unique name for this Drive Pool Pool name is maximum of 12 characters and contains only alphanumeric and underscores. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 91: Create Volume

    Where: v [ENCLOSURE]:[TRAY] — Specifies the drive bay number by enclosure number and tray number. v [0|1|10|5] — Allows selection of raid type. v [0|1] — Allows selection of port. v [POOL_NAME] — Defines the name of the pool. A drive pool is a defined set of drives. Each volume that is exposed to host systems is completely contained within a drive pool.

  • Page 92: Delete Pool

    An error message is displayed if the target pool is not found. Example: <CLI> delete pool –name Group0 No such drive pool Please re-execute the command with valid pool name available IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 93: Delete Volume

    delete volume This command deletes a master volume. Command arguments: <CLI> delete volume –name poolname:volumename Where: v poolname:volumename — Specifies pool name and volume name. Volume name can be up to 12 characters long and contain alphanumeric and underscores; it must be unique across the pool on which it is created.

  • Page 94: Host

    <CLI> host –get HostWWN 784875485454 : LUNs Mapped Permission Volume ACCESS_READWRITE pool1:vol1 HostWWN 123456789abcdef0 : No LUNs Mapped HostWWN 123456789abcdef1 : No LUNs Mapped IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 95: Hostlun

    hostlun Use this command to map or unmap a volume to a host using the specified LUN number or to get a list of all host LUNs. Important: When using this command with the -unmap argument to unmap a volume to a host, the command requires you to end all application I/O processes on the LUN that is being unmapped and to shut down any active Blade servers in accordance with the recommended non-concurrent practices.

  • Page 96: Volume Services Commands

    (tray) number. You can add one or more drives to the pool. Example: <CLI> add capacity –pool Group0 –drivelist 1:3 Capacity added successfully IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 97: Datascrub

    datascrub The datascrub command views or sets the datascrub policy. The -auto flag specifies whether background scrub should be enabled. If a problem is found, the policy to fix it or create bad blocks is defined in the flash configuration file. Command arguments: <CLI>…

  • Page 98: Initialize

    3:5000c5000a832023| 5000c5000a832021| 5000c5000a832021| 1:4:0| 3:500000e0177202d0| 500000e0177202d2| 500000e0177202d2| 1:3:0| 3:5000c5000a83b72f| 5000c5000a83b72d| 5000c5000a83b72d| 1:2:0| 3:5000c5000a832023| 5000c5000a832022| 5000c5000a832022| 1:4:0| 3:500000e0177202d0| 500000e0177202d3| 500000e0177202d3| 1:3:0| 3:5000c5000a83b72f| 5000c5000a83b72e| 5000c5000a83b72e| |_________|_____________________|_______________________|_______________________| IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 99: Synchronize Volume

    synchronize volume The synchronize volume command synchronizes a volume immediately to ensure that redundant information is valid. You can also use this command to perform a parity check on RAID 5 volumes and a mirror consistency check on mirrored volumes. Any errors found during the check are handled according to the defined datascrub policy found in the flash configuration file.

  • Page 100: Using The Command Line To Configure Storage

    -map -volume A2R5:V2 -permission rw -wwn 500062B00007E0D0 -lun 1 hostlun -map -volume A2R5:V2 -permission rw -wwn 500062B00007E0D1 -lun 1 8. Verify host mapping IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 101
    host -get Chapter 8. Using the RAID Controller command line interface…
  • Page 102
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 103: Chapter 9. Configuring Zones

    Due to the nature of RAID technology, the default predefined zone used with the IBM BladeCenter S chassis is set so that all the Blade Servers can communicate with all of the disk storage. In the course of troubleshooting, you might want to isolate a Blade Server as a diagnostic tool, but it is recommended that you maintain the default zoning settings for regular operations.

  • Page 104
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 105: Chapter 10. Attaching An External Tape Device To The Sas Raid Module

    SAS storage tape device. This chapter describes the installation process for the following supported tape devices: Table 8. Tape devices supported by the IBM BladeCenter S SAS RAID Controller Module Supported tape devices IBM System Storage TS2230 Tape Drive Express Model…

  • Page 106: Updating Firmware Prior To Connecting A Tape Device

    8. If the tape device is not visible after completing these steps, contact IBM support. For additional information about the supported tape devices, go to http://www.ibm.com/support. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 107: Chapter 11. Troubleshooting

    Controller into service mode, see the «Shutdown and Recover» topic in the IBM Storage Configuration Manager online help. Understanding LEDs This topic describes what the LED lights on your IBM BladeCenter S SAS RAID Controller Module signify. Power – OK LED Power Indicators are used on each component to indicate the status of the power distribution network within that component.

  • Page 108: Light Path Diagnostics Led Details

    Manager to provide a notification that the storage system is in a state that requires attention. The system information LED is also used by the Light IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 109
    Manager to provide an external indication that the SAS RAID Module storage system has an activity in progress that might prevent access to the SAS RAID Module management facilities through the user interfaces. Valid States: OFF, SOLID, SLOW BLINK OFF – There are no conditions that require attention. SOLID –…
  • Page 110
    FLASHING – The flash rate of the Activity LED indicates SAS RAID Module a rate proportional to the level of SAS interface (host and/or device) activity as determined by the SAS Bridge Device. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 111
    Figure 22. SAS RAID Module light path indicators Battery backup unit light path indicators and valid states The SAS RAID Module relies on each battery backup unit to provide power to preserve its respective SAS RAID Module cache memory. Each battery backup unit supports the following light path indicators and valid states.
  • Page 112
    OFF – There have been no faults or conditions detected by the SAS RAID Module with the DSM that can be serviced using the light IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 113
    path diagnostics indicators. The DSM is not in a condition that permits a repair/replacement activity. SOLID – There has been a fault / condition detected by the SAS RAID Module with the DSM that can be serviced using light path diagnostics indicators.
  • Page 114: Performing Advanced Verification Procedures

    Using a secure shell, log into the RAID Controller. v The default username is: USERID v The default password is: PASSW0RD (the sixth position is the numeral zero) IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 115: Understanding Ibm Bladecenter S Sas Raid Controller Module Alerts

    This topic details how to read alerts you might see while administering your RAID Controller. The IBM BladeCenter S SAS RAID Controller Module displays alert information that keeps you informed as to the state of your system while providing for advanced diagnosis and guidance to correct errors and device failures.

  • Page 116: Alert Types Generated By The Raid Controller

    0xxx – System Status Information Alert Codes v 1xxx – Failure Detected or Predicted Alert Codes v 2xxx – Ready for Service Alert Codes IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 117: Alert Attribute Descriptions

    v 4xxx – Warning – Action Required Alert Codes v 5xxx – Warning – Possible Action Required Alert Codes v 9xxx – Critical Status Notification Alert Codes Note: The thousands digit indicates the severity and user action. The hundreds digit indicates the RAID Subsystem component associated with the alert: v 0xx Enclosure v 1xx Controller HW-FW…

  • Page 118: System Enclosure Alerts

    See “Replacing a single controller using the CLI” on page 154 or “Replacing a single controller using the SCM” on page 155. This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 119
    5001 • 9000 5001 Controller warning — power supply voltage out of range Explanation: Power supply voltage is not yet critical, but is out of the normal operating range. Potential causes are power supply failure and controller sensor failure. System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is notified of this alert by e-mail.
  • Page 120: Drive Enclosure Alerts

    System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail. Alert clears automatically after 120 seconds. Operator response: Acknowledge to clear the alert immediately. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 121
    0004 • 4010 0004 Drive enclosure enclosure_ID firmware updated Explanation: Drive enclosure firmware has been successfully updated. The controller updates drive enclosure firmware as part of the controller firmware update process initiated by the user or automatically whenever a non-matching drive enclosure firmware revision is detected during controller system boot. System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail.
  • Page 122
    “Replacing a Disk Storage Module (non-concurrent procedure)” on page 161). This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 123
    5013 • 9004 5013 Drive enclosure enclosure_ID warning — power supply current out of range Explanation: Drive enclosure power supply current is not yet critical, but is out of the normal operating range. Potential causes are power supply failure and current sensor failure. System action: By default, the SAS RAID Module system information indicator is turned on and the operator is notified of this alert by e-mail.
  • Page 124
    To avoid indeterminate data loss, ensure that the “data in cache” indicator is not illuminated before removing any controller or battery. Do not restart the system with any previously connected drive missing. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 125: Controller Informational Alert History Log Events

    0101 • 0111 Controller informational alert history log events The alerts in this section are generated for logging controller status. These operator never sees them as active alerts. 0101 Disorderly shutdown detected — System restored from battery backup Explanation: The controller backup battery system allows for recovery of cached write data when power fails unexpectedly.

  • Page 126: Controller Informational Alerts

    This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. Masking the alert does not prevent the controller fault light from illuminating. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 127: Controller Warning Alerts

    0102 • 1101 Controller warning alerts The alerts in this section are generated as controller state warning messages. 0102 Controller in survivor mode — Redundant controller controller_ID is offline Explanation: In a redundant controller system, if one controller enters service mode and the other survivor controller assumes ownership of all LUNs, the surviving operational controller generates this alert.

  • Page 128
    Operator response: Use manual to determine proper drive configuration for Zero Step Setup. If the alert is still active more than 60 seconds after you ensure that the correct drive configuration exists, perform a Disk Connectivity Diagnosis. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 129
    4101 • 5002 This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. 4101 Controller diagnostic information available. Please collect controller logs. Explanation: Uncollected cdump image exists and overwrite protection delay has not expired. System action: By default, the SAS RAID Module system information indicator is turned on and the operator is notified of this alert by e-mail.
  • Page 130: Controller Critical Alerts

    If alert 1104 is generated again after the reboot, replace the controller. See “Replacing a single controller using the CLI” on page 154 or “Replacing a single controller using the SCM” on page 155. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 131
    1105 • 1107 1105 Controller controller_ID critical failure detected — Unrecoverable HW error Explanation: An unrecoverable hardware error has been detected in the controller. The controller continually monitors the health of the RAID Storage Processor and microprocessor subsystem. When this alert is generated, the controller can no longer continue normal operation.
  • Page 132
    The alert clears automatically when the controller enters redundant operation or reboots as a survivor controller. Operator response: Look for additional alerts to determine the reason why the controllers cannot bind. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 133: Battery Informational Alert History Log Events

    9100 • 9103 9100 Controller controller_ID FW update failed Explanation: The controller firmware update process has failed. System action: By default, the SAS RAID Module system information indicator is turned on and the operator is notified of this alert by e-mail. Alert clears when a firmware update completes successfully. Operator response: Perform the following steps: 1.

  • Page 134
    System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail. Alert clears automatically. Operator response: None. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 135: Battery Alerts

    0206 • 0210 0206 Battery battery_ID connected to memory Explanation: Battery has been connected to memory and will provide some amount of battery backup. System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail.

  • Page 136
    Operator response: Correct the problem. Ensure that a working battery is in place (see “Replacing a Battery Backup Unit” on page 177). This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 137
    4200 • 5201 4200 Battery missing Explanation: Configuration supports a battery, but no battery is detected by the SES controller. System action: By default, the SAS RAID Module system information indicator is turned on and the operator is notified of this alert by e-mail. Alert clears when a battery is inserted. Operator response: Insert a battery (see “Replacing a Battery Backup Unit”…
  • Page 138: Disk Drive Informational Alerts

    System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail. Alert clears automatically after 120 seconds. Operator response: Acknowledge to clear the alert immediately. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 139
    0308 • 2000 0308 Replacement drive drive_ID detected, and assigned as global spare Explanation: A new replacement drive has been detected and assigned as a spare. System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail.
  • Page 140
    Operator response: Replace the battery (see “Replacing a Battery Backup Unit” on page 177). This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 141: Disk Drive Alerts

    2300 • 0317 2300 Drive drive_ID ready for service Explanation: Drive is ready for removal. Possible causes: v Dismount request from operator v Presence of an unreliable drive (failed or undiscoverable yet detected by SES) v Presence of an unsupported drive System action: Drive fault light turns on, indicating «ready to remove»…

  • Page 142
    Operator response: Replace the failed drive (see “Replacing a failed drive” on page 167). This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 143
    1301 • 1307 1301 Drive drive_ID failure detected — Previous drive status was unassigned Explanation: Drive failure condition caused controller to fail an unassigned, foreign, or IM drive. System action: Drive mount state is set to DISMOUNTED. By default, the SAS RAID Module system information indicator is turned on and the operator is notified of this alert by e-mail.
  • Page 144
    SAS RAID Module system information indicator is turned on and the operator is notified of this alert by e-mail. Alert clears when the unsupported drive is removed. Operator response: Remove the unsupported drive. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 145
    4301 • 4304 4301 Unmasked drive firmware level is unsupported Explanation: A disk drive with an unsupported firmware level is detected by the controller. System action: The controller will not configure the disk drive. Operator response: Remove the disk drive with the unsupported firmware level, or upgrade the disk drive firmware level.
  • Page 146
    Alert clears automatically when at least one drive is discovered. Operator response: Acknowledge to clear the alert immediately. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 147
    5305 • 5311 5305 Unreliable drive drive_ID detected. Explanation: Unreliable drive discovered. System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is notified of this alert by e-mail. Alert clears when the drive is removed. Operator response: Acknowledge to clear the alert immediately.
  • Page 148
    System action: By default, the SAS RAID Module system information indicator is turned on and the operator is not notified of this alert by e-mail. Alert clears automatically after 120 seconds. Operator response: Acknowledge to clear the alert immediately. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 149: Drive Group Alerts

    9304 • 0400 9304 One or more outstanding alert 9302 conditions exist. Acknowledge to proceed with shutdown. Explanation: System shutdown initiated with outstanding 9302 alerts. System action: By default, the SAS RAID Module system information indicator is turned on and the operator is not notified of this alert by e-mail.

  • Page 150
    Operator response: This alert can be masked so that it does not trigger the SAS RAID Module system information indicator. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 151
    4010 • 5403 4010 No viable drive groups available in system Explanation: At least one configured drive group member drive is discovered, but no viable drive groups exist in the system. Non-viable drive groups cannot expose LUNs to any host because the controller cannot create a complete data set from the drives that are present.
  • Page 152
    Note: In the R1 release, you must reboot the system with the missing drives in place in order to return the group and its associated volumes to the mounted viable state with mapped LUNs online and accessible. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 153
    5720 • 9406 5720 Spare drive carrier tray_ID has been disqualified, drive carrier spare drives converted to global spares Explanation: A group is created such that an existing spare tray is no longer qualified as a spare tray. System action: By default, the SAS RAID Module system information indicator is turned on and the operator is not notified of this alert by e-mail.
  • Page 154
    Operator response: Acknowledge to clear the alert immediately. Note: Acknowledging the alert causes the affected drive group to be removed from the MG list. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 155: Volume Alerts

    9412 • 3500 9412 Drive group group_ID volume migration in progress and destination group is missing. Volumes not completely migrated to destination have been deleted. Explanation: Volume migrate was suspended or interrupted, and the destination group is not available at system reboot time.

  • Page 156
    System action: By default, the SAS RAID Module system information indicator is turned on and the operator is not notified of this alert by e-mail. The volume is deleted. Operator response: Acknowledge to clear the alert immediately. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 157: Host And Connectivity Alerts

    9511 • 5600 9511 Volume volume_ID data redundancy error encountered — Bad blocks created in LBA range LBA1 to LBA2 Explanation: Redundancy scan found and corrected incoherency, but created bad blocks. System action: By default, the SAS RAID Module system information indicator is turned on and the operator is notified of this alert by e-mail.

  • Page 158: Controller Configuration Alerts

    System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail. Alert clears automatically. Operator response: None. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 159
    0703 • 5701 0703 Controller identity updated Explanation: Other controller and backplane WWNs match each other, but the WWN of this controller does not match them. System action: By default, the SAS RAID Module system information indicator is not turned on and the operator is not notified of this alert by e-mail.
  • Page 160
    Operator response: Perform the following steps: 1. Correct the problem. 2. Reboot the controller. 3. If the problem persists, perform a concurrent controller firmware update. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 161: Understanding The Logs

    The collected files are aggregated into a single tar file. The tar file is named using the date, time and the IBM BladeCenter S chassis serial number. An example for a file collected on June 2, 2008 (20080602) at 3:17:42 PM (151742 in 24-hour time) from the RAID Controllers in IBM BladeCenter S chassis 23A6789 is as follows: 20080602.151742.23A6789.tar…

  • Page 162: Command Line Parameters

    FTDC Utility and enter this parameter. Keep in mind that the First Time Data Capture Utility may disrupt host I/O operation. Do not enter this parameter unless directed to do so by the program. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 163
    -ldir This optional parameter supplies the name of a subdirectory where the program stores the tar file. If you do not supply the parameter, the program places the tar file in a subdirectory named ftdc_files. Note: The directory name supplied with this parameter must be valid for the operating system in use (Windows or Linux).
  • Page 164: Non-Concurrent Repair Procedures

    |_____________|________________|____________________|_________|_________| 6. At the <CLI> prompt, enter shutdown –ctlr <CONTROLLER 0 OR 1> –state servicemode –readytoremove and press Enter to prepare the controller for IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 165: Replacing A Single Controller Using The Scm

    3. Remove any externally attached devices that are connected to any of the four SAS ports on the RAID Controller that is being replaced. 4. Log into the IBM Storage Configuration Manager. 5. From the navigation panel, select BC-S SAS RAID Module > Health >…

  • Page 166
    Click Off next to Location. The blue chassis identification LED will turn off. Results If the problem is not resolved, collect the logs and contact IBM. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 167: Replacing Both Controllers

    7. Verify that the SAS RAID Modules are operating in a dual configuration mode. a. Log into IBM Storage Configuration Manager. b. Select BCS SAS RAID Module > Health > All Resources. c. Verify that the status is Normal (Online).

  • Page 168: Replacing 6-Disk Storage Module With 12-Disk Storage Module From Command Line Interface (Cli)

    | Ports | LUNs |_____________|________________|____________________|_________|_________| Ctlr0| PRIMARY| Ctlr1| SECONDARY| |_____________|________________|____________________|_________|_________| <CLI> shutdown -system -state servicemode Current Machine Local Time: 03/04/2013 04:37:16 PM Shutdown Command Successful IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 169
    4. Remove the 6-DSM from the chassis. a. Open the release handles on the DSM (rotate the top handle up and the bottom handle down) to disengage the DSM from the IBM BladeCenter S chassis. b. Slide the DSM out of the IBM BladeCenter S chassis.
  • Page 170: Updating Controller Firmware

    Go to Shutdown and Recover page to reboot both controllers. This message indicates that the SAS Switch firmware update completed successfully. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 171: Replacing A Disk Storage Module (Non-Concurrent Procedure)

    DSM. If at least one IBM BladeCenter SAS Connectivity Module is installed in the IBM BladeCenter S chassis, the location of each drive is determined by the IBM BladeCenter SAS Connectivity Module zoning configuration that you have selected for the IBM BladeCenter S system.

  • Page 172: Replacing A Media Tray

    Make a note of the Current IP Configuration for SAS Switch Subsystem. The values to note are: v IP Address v Subnet Mask IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 173
    8. Insert the new Media Tray into the chassis. a. Slide the media tray into the IBM BladeCenter S chassis until it stops. b. Close the release handles (rotate the top handle down and the bottom handle up).
  • Page 174: Concurrent Repair Procedures

    |_____________|________________|____________________|_________|_________| 5. At the <CLI> prompt, enter shutdown –ctlr <CONTROLLER 0 OR 1> –state servicemode –readytoremove and press Enter to prepare the controller for IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 175
    Click Monitors > LEDs > Media Tray and Rear Panel LEDs. c. Click Off next to Location. The blue chassis identification LED will turn off. Results If the problem is not resolved, collect the logs and contact IBM. Chapter 11. Troubleshooting and support…
  • Page 176: Replacing A Single Controller In A Dual Controller Configuration Using The Scm

    19. Ensure that no additional warnings or critical alerts are generated for the replacement controller. 20. Connect any externally attached devices that were previously connected to any of the four SAS ports on the RAID Controller. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 177: Replacing A Failed Drive

    8. To verify that the alerts related to the failed drive are no longer in the Active Alert List, select BCS SAS RAID Module > Health > Active Alerts. 9. If the problem is not resolved, collect the logs and contact IBM. Chapter 11. Troubleshooting and support…

  • Page 178: Replacing A Disk Storage Module

    |RaidType|OwnerCtlr|TotalCap|AvailCap| Status | State | Degraded |____|_____________|________|_________|________|________|_________|__________|____________| | 1 | RAID10_Pool | 10 | Slot 1 | 2095GB | 1975GB | Viable | ONV | No IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 179
    |____|_____________|________|_________|________|________|_________|__________|____________| State: OFN/SN=Offline Non-viable/Service Non-viable ONF/OFF/SF=Online Failed/Offline Failed/ Service Failed ONV/OFV/SV= Online Viable/Offline Viable/Service Viable ONN=Online Non-viable/Pending Non-Viable; one or more drives are missing in this pool. The pool state changes to ONV if missing drive(s) comes back to the pool. The pool state changes to OFN if the user acknowledges the alert.
  • Page 180
    |——————————————————————————————| | Msg: Drive 01:02 ready for removal |=========================================================================================| | 2300 | 39 | 20090915141523 | 1 | Info |5005076b0741417f| 0 | Unmasked | IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 181
    State: OK=healthy M=missing P=PFA predicted failure U=unreliable (M/P/U can be combined) INI=initialized UNS=unsupported (non-IBM) drive PM=path missing IMD=incompatible metadata with this software version; either assimilate drive or update controller firmware. UNF=firmware version unsupported for drive 11. Enter list pool and press Enter to list the pool summary for each storage pool.
  • Page 182
    DSM, alert 5014 will generate to indicate that the DSM firmware versions are not equivalent. To resolve this condition and clear the alert, perform a non-concurrent system reboot or non-concurrent firmware update. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 183: Removing And Reinserting An Active Controller

    UNF=firmware version unsupported for drive What to do next If the problem is not resolved, collect the logs and contact IBM. Removing and reinserting an active controller You can resolve some software problems associated with an IBM BladeCenter S SAS RAID Controller Module by removing and reinserting the same RAID Controller without significant interruption to the server.

  • Page 184
    4. In the Inactive session timeout value field, select the timeout value for this Web session and click Continue. The Advanced Management Module window opens. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 185: Replacing A Media Tray

    Slide the RAID Controller into the module bay until it stops. c. Close the release handle by rotating the handle up. d. Connect all cables to the module. The IBM BladeCenter S will detect that you have reinserted the RAID Controller and automatically powers it on. Replacing a media tray Perform the following steps to concurrently replace the IBM BladeCenter S chassis media tray using the RAID Controller command line interface.

  • Page 186
    Existing Alerts : _____________________________________________________________________________________ |AlertCode| Id | Time |SlotID| Severity | | Ackable |MaskState| |=====================================================================================| 6 | 180 |20100219131844| Info |5005076b07419fff| 1 |Unmasked | IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 187: Replacing A Battery Backup Unit

    | Msg: Media tray was removed or swapped |=====================================================================================| 10. Insert the new media tray into the chassis. a. Slide the media tray into the IBM BladeCenter S chassis until it stops. b. Close the release handles (rotate the top handle down and the bottom handle up).

  • Page 188
    7. Remove the Battery Backup Unit from the media tray. a. Open the release handle (rotate the handle down). b. Slide the Battery Backup Unit out of the media tray. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 189
    Click Monitors > LEDs > Media Tray and Rear Panel LEDs. c. Click Off next to Location. The blue chassis identification LED will turn off. If the problem is not resolved, collect the logs and contact IBM. Replacing a Battery Backup Unit using the IBM Storage Configuration Manager Perform the following steps to concurrently replace the Battery Backup Unit (BBU) using the IBM Storage Configuration Manager.
  • Page 190: Troubleshooting Known Issues

    In configurations where outage due to brown outs are unacceptable, ensure your system is protected with an Uninterrupted Power Supply (UPS) or other similar solution. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 191: Data Package Collection In The Intermediate State

    Data package collection in the intermediate state Issue: If you are using the IBM Storage Configuration Manager to collect a data package and one or more of your RAID Controllers is in an intermediate state you will not be able to collect this package, and the following message appears: The Collect Support Data operation is complete, with errors.

  • Page 192: Post And Tcp/Xml Communication Error Upon Startup Or Reboot

    3. Verify no critical or warning alerts exist. If there are critical or warning alerts, resolve the issues that caused them before starting the firmware update process. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 193: How To Reset The Sas Raid Controllers To The Factory Defaults

    How to reset the SAS RAID controllers to the factory defaults This section contains information about how to reset the SAS RAID Module to the factory defaults. Before you reset the SAS RAID Module to the factory defaults, you must end all application I/O processes and shut down any active Blade servers in accordance with the recommended non-concurrent practices.

  • Page 194: Resolving Dsm Firmware Mismatch Issue When Dsm_Sff Is Installed

    Figure 26. Alert 9004 is caused by controller failed to flash the DSM firmware due to the firmware downgrade preventing mechanism of DSM_SFF module IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 195
    Figure 27. <CLI> list controller 2. Perform RSSM firmware upgrade to the latest version of firmware (version 1.3.x.xxx or above). Please refer to IBM BladeCenter S SAS RAID Controller Module Installation and User’s Guide Chapter 6 and 11 for detail instructions.
  • Page 196
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 197: Appendix. Getting Help And Technical Assistance

    Appendix. Getting help and technical assistance If you need help, service, or technical assistance or just want more information about IBM products, you will find a wide variety of sources available from IBM to assist you. Use this information to obtain additional information about IBM and IBM products, determine what to do if you experience a problem with your IBM system or optional device, and determine whom to call for service, if it is necessary.

  • Page 198: Using The Documentation

    Standard upload with the system serial number: http://www.ecurep.ibm.com/ app/upload_hw v Secure upload: http://www.ibm.com/de/support/ecurep/ send_http.html#secure v Secure upload with the system serial number: https://www.ecurep.ibm.com/ app/upload_hw IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 199: Creating A Personalized Support Web Page

    Software service and support Through IBM Support Line, you can get telephone assistance, for a fee, with usage, configuration, and software problems with your IBM products. For information about which products are supported by Support Line in your country or region, see http://www.ibm.com/services/supline/products.

  • Page 200
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 201: Notices

    Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead.

  • Page 202: Trademarks

    Therefore, a solid-state device has a maximum number of write cycles that it can be subjected to, expressed as “total bytes written” (TBW). A IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 203: Particulate Contamination

    IBM makes no representations or warranties with respect to non-IBM products. Support (if any) for the non-IBM products is provided by the third party, not IBM. Some software might differ from its retail version (if available) and might not include user manuals or all program functionality.

  • Page 204: Documentation Format

    Further certification may be required by law prior to making any such connection. Contact an IBM representative or reseller for any questions. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 205: Electronic Emission Notices

    Properly shielded and grounded cables and connectors must be used in order to meet FCC emission limits. IBM is not responsible for any radio or television interference caused by using other than recommended cables and connectors or by unauthorized changes or modifications to this equipment.

  • Page 206: European Union Emc Directive Conformance Statement

    Verträglichkeit von Geräten Dieses Produkt entspricht dem “Gesetz über die elektromagnetische Verträglichkeit von Geräten (EMVG)”. Dies ist die Umsetzung der EU-Richtlinie 2004/108/EG in der Bundesrepublik Deutschland. IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 207: Japan Vcci Class A Statement

    914-499-1900 Der verantwortliche Ansprechpartner des Herstellers in der EU ist: IBM Deutschland GmbH Technical Regulations, Abteilung M372 IBM-Allee 1, 71139 Ehningen, Germany Telephone: +49 7032 15 2941 Email: lugi@de.ibm.com Generelle Informationen: Das Gerät erfüllt die Schutzanforderungen nach EN 55024 und EN 55022 Klasse…

  • Page 208: Japan Electronics And Information Technology Industries Association (Jeita) Statement

    This is for any areas other than home. Russia Electromagnetic Interference (EMI) Class A statement People’s Republic of China Class A electronic emission statement IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…

  • Page 209
    Taiwan Class A compliance statement Notices…
  • Page 210
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 211
    73, 97 Canada Class A electronic emission replacing 167 service mode command 97 statement 195 DSA, sending data to IBM 188 shellscript 75 capturing with FTDC utility 151 DSM 1 show raid levels 75 chassis replacing 161, 168…
  • Page 212
    56 United States FCC Class A notice 195 Russia Class A electronic emission list features command 71 statement 198 list killedpaths command 88 IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 213
    validate key command 78 view long running tasks command 89 VMware 38 volumes 35, 38 create volume command 81 delete all command 87 delete volume command 83 detail volume command 53 detail volume verbose command 55 expand -volumel command 87 global spare command 83 list volume command 58 synchronize volume command 89…
  • Page 214
    IBM SAS RAID Controller Module: Installation and User’s Guide IBM BladeCenter S SAS RAID Controller Module…
  • Page 216
    Part Number: 00D9332 Printed in USA (1P) P/N: 00D9332…

Как пользоваться?

Наша цель — обеспечить Вам самый быстрый доступ к руководству по эксплуатации устройства SAS Safety Scalable Performance Data Server 4.5`. Пользуясь просмотром онлайн Вы можете быстро просмотреть содержание и перейти на страницу, на которой найдете решение своей проблемы с SAS Safety Scalable Performance Data Server 4.5`.

Для Вашего удобства

Если просмотр руководства SAS Safety Scalable Performance Data Server 4.5` непосредственно на этой странице для Вас неудобен, Вы можете воспользоваться двумя возможными решениями:

  • Полноэкранный просмотр -, Чтобы удобно просматривать инструкцию (без скачивания на компьютер) Вы можете использовать режим полноэкранного просмотра. Чтобы запустить просмотр инструкции SAS Safety Scalable Performance Data Server 4.5` на полном экране, используйте кнопку Полный экран.
  • Скачивание на компьютер — Вы можете также скачать инструкцию SAS Safety Scalable Performance Data Server 4.5` на свой компьютер и сохранить ее в своем архиве. Если ты все же не хотите занимать место на своем устройстве, Вы всегда можете скачать ее из ManualsBase.

Руководство по эксплуатации SAS Safety Scalable Performance Data Server 4.5`

Печатная версия

Многие предпочитают читать документы не на экране, а в печатной версии. Опция распечатки инструкции также предусмотрена и Вы можете воспользоваться ею нажав на ссылку, находящуюся выше — Печатать инструкцию. Вам не обязательно печатать всю инструкцию SAS Safety Scalable Performance Data Server 4.5` а только некоторые страницы. Берегите бумагу.

Резюме

Ниже Вы найдете заявки которые находятся на очередных страницах инструкции для SAS Safety Scalable Performance Data Server 4.5`. Если Вы хотите быстро просмотреть содержимое страниц, которые находятся на очередных страницах инструкции, Вы воспользоваться ими.

Понравилась статья? Поделить с друзьями:
  • Chela mag b6 junior инструкция на русском языке
  • Скачать образец инструкции по эксплуатации оборудования
  • Руководство к опытной психологии
  • Мастизим шприц инструкция по применению в ветеринарии для коров
  • Q энзим q10 цена инструкция по применению