Блок управления sas что это
Переменные и атрибуты
У переменных в SAS есть ряд атрибутов, давайте познакомимся с некоторыми из них.
Длина переменной — это количество байт, приходящихся на один символ.
Данный код демонстрирует вышеизложенное:
Имена переменных, как и наборов данных, задаются самостоятельно. Есть ряд правил именования переменных SAS:
- Имена не должны превышать 32 символов.
- Имена должны начинаться только с буквы или символа нижнего подчеркивания.
- Имена могут содержать только буквы, цифры или символы нижнего подчеркивания.
- В именах переменных нельзя использовать специальные символы, в том числе и пробел.
- Имена могут содержать как прописные, так и строчные буквы, так как SAS не чувствителен к регистру при именовании сущностей (переменные, наборы данных, библиотеки и так далее). Обращаться в коде к переменной вы можете в любом регистре. Но! Важно то, что SAS запоминает первое появление названия переменной в программе и при формировании отчета использует именно его.
В последующих статьях мы подробнее познакомимся с атрибутом формат.
Ярлык переменной используется в отчетах вместо имен переменных. Ярлык может содержать до 256 символов, включая специальные символы, в том числе и знак пробела. В последующих статьях мы рассмотрим, виды ярлыков и как они используются в программном коде, а также приемы, когда в имени переменной может быть использован, например, пробел.
Добываем инструменты
Научиться программировать на SAS Base можно на бесплатном интерфейсе под названием SAS University Edition или сокращенно SAS UE.
При запуске программы или задачи SAS Studio подключается к серверу SAS для обработки кода. Сервер SAS может быть размещен в облачной среде, локальной среде или же на локальном компьютере. После обработки кода результаты возвращаются в SAS Studio в вашем браузере.
SAS Studio поддерживает несколько веб-браузеров: Microsoft Internet Explorer, Apple Safari, Mozilla Firefox, and Google Chrome.
Sas7bdat и данные
Начнем с того, что SAS Base работает только с особым форматом данных, который называется SAS Data Set (набор данных SAS). Но помимо всего прочего SAS является очень гибким инструментом и может считывать практически любые данные, преобразовывая в SAS Data Set. Набор данных SAS представляет собой обычную плоскую таблицу, состоящую из строк и столбцов. Набор данных SAS хранится как файл с расширением .sas7bdat.
С точки зрения традиционной терминологии SAS наборы данных состоят из переменных (variables) и наблюдений (observations). Проведя аналогию с терминологией реляционных баз данных, переменные являются столбцами, а наблюдения – строками.
Рассмотрим на примере описанное выше.
Представленная программа создает таблицу people (сам синтаксис мы рассмотрим позже):
Исходные данные могут иметь различный вид, SAS упростил эту задачу. В SAS существует всего два типа данных числовой (numeric) и символьный (character). В наборе данных people переменные First_Name, Last_Name, Phone_Number имеют символьный тип, а переменная Id – числовой. Стоит отметить, что даты в SAS — это тоже числа.
Данная программа создает набор данных time, содержащий текущие дату, время и дату и время (datetime) в формате SAS:
Возможный вид набора данных представлен ниже:
Все три значения – это даты в формате SAS. Итак, дата в формате SAS – это количество дней, начиная с 01 января 1960 до текущей даты, время в формате SAS – это количество секунд, начиная с полуночи текущей даты, дата и время – это количество секунд, начиная с полуночи 1960 года. Именно в таком виде хранятся даты в формате SAS в наборах данных.
Иногда данные могут быть неполными, как в наборе данных people: в нем отсутствуют некоторые значения. В SAS существует понятие missing – пропущенное значение. По факту, пропущенное значение – это тип значения для переменной, которая не содержит данных для конкретной строки или столбца. По умолчанию SAS записывает недостающее числовое значение в виде точки и отсутствующее значение текстовой переменной в качестве пробела. При сравнении «миссинг» всегда равен «миссингу», при этом в операторах сравнения «миссинг» — самое минимальное значение.
Кроме фактических значений, набор данных SAS имеет такие данные, как тип переменной, длину, имя, ярлыки, форматы, называемые атрибутами набора данных.
Конфигурация блока управления SAS
С помощью функции считывания/сохранения
Примечание:
При выполнении конфигурации необходимо считать специфическую информацию с блока управления SAS перед его заменой. Подключить прибор M-MDS к разъему автомобиля и выполнить идентификацию автомобиля перед снятием блока управления SAS с автомобиля. Специфическая информация автомобиля временно сохраняется в приборе M-MDS.
1. Подключить прибор M-MDS к разъему DLC-2.
2. После идентификации автомобиля выбрать параметр "Module Programming" (программирование модуля) из исходного экрана прибора M-MDS.
3. После этого выбрать параметры из экранного меню в следующей последовательности:
1) Выбрать “Programmable Module Installation” (установка программируемого модуля).
4. Выполнить конфигурацию согласно подсказкам на экране.
Внимание:
При выполнении конфигурации соединение CAN между блоком управления полным приводом и прочими блоками управления, соединенными шиной CAN, может быть временно прервано с появлением соответствующего кода неисправности. После выполнения конфигурации необходимо проверить наличие кодов неисправностей в блоках управления, подключенных к шине CAN, и, в случае обнаружения, удалить эти коды.
5. Проверить наличие кодов неисправностей в блоках управления, подключенных к шине CAN. В случае обнаружения кодов неисправностей удалить их. После удаления кодов завершить процедуру, поскольку конфигурация окончена. Если коды неисправностей не удаляются, выполнить поиск неисправности, соответствующей обнаруженному коду.
С использованием встроенных данных
Примечание:
Если конфигурация выполняется с использованием встроенных данных, установочное значение персонализации сбрасывается до исходного (состояние поставки с завода). После завершения конфигурации с использованием встроенных данных необходимо выполнить настройки параметров персонализации.
1. Подключить прибор M-MDS к разъему DLC-2.
2. После идентификации автомобиля выбрать параметр "Module Programming" (программирование модуля) из исходного экрана прибора M-MDS.
3. После этого выбрать параметры из экранного меню в следующей последовательности:
1) Выбрать “As-Built” (встроенные данные).
4. Выполнить конфигурацию согласно подсказкам на экране.
Внимание:
При выполнении конфигурации соединение CAN между блоком управления полным приводом и прочими блоками управления, соединенными шиной CAN, может быть временно прервано с появлением соответствующего кода неисправности. После выполнения конфигурации необходимо проверить наличие кодов неисправностей в блоках управления, подключенных к шине CAN, и, в случае обнаружения, удалить эти коды.
5. Проверить наличие кодов неисправностей в блоках управления, подключенных к шине CAN. В случае обнаружения кодов неисправностей удалить их. После удаления кодов завершить процедуру, поскольку конфигурация окончена. Если коды неисправностей не удаляются, выполнить поиск неисправности, соответствующей обнаруженному коду.
Поворачиваем руль на 90 градусов в одну сторону.
Берем плоскую среднюю отвертку и вставляем в появившееся отверстие. Плоская часть должна быть по горизонту.
Нащупываем там выступ и движением вверх за рукоятку отвертки отщелкиваем одно крепление подушки безопасности. Этот факт заметите по увеличившемуся зазору. Потом поворачиваем руль также, только в противоположную сторону и делаем тоже самое со вторым креплением. Возвращаем руль в первоначальное горизонтальное положение.
Вытаскиваем подушку на себя, только не сильно. Отсоединяем клеммы с подушки безопасности.
Вот она наша спасительница. Со всем почтением откладываем ее в сторону.
Теперь откручиваем центральный болт, который держит руль и обязательно делаем отметки маркером заводского положения. Маркер лучше использовать с краской, который не стирается. Без отметок обратно можете уже руль никогда не поставить так, как было.
Здесь же отсоединяем зеленую фишку (красная стрелка).
Снимаем руль. Попутно обращаете внимание, как стояли провода на подушку безопасности относительно резиновой хреновины. Не знаю, как ее обозвать. :)
Теперь откручиваем 3 болта ТОРХ 30 и снимаем нижний кожух. Верхний кожух сдвигаем вверх, чтобы не мешал.
Видим сам модуль SAS, а также 3 винта его крепления. Выкручиваем их. Первый же выкрученный, вкручиваем в отверстие отмеченное красным кружком.
При этом в нижней левой части (в окошке на 20.00 часов) Вы должны видеть желтую метку нулевого положения модуля. Попутно отсоединяем клемму, отмеченную красной стрелкой.
Вынимаем модуль на себя. Он там держится плотно, но только за счет штырьковых разъемов.
Далее пойдет еще более скрупулезная, тонкая и аккуратная работа, т.е. разбор самого модуля SAS.
Сразу отмечу, что обязательно отмечайте маркером взаимное расположение всех элементов модуля, его колец. Кольца от исходного положение никуда не крутите, особенно, когда весь механизм в разборе.
Продолжаем…
Откручиваем 3 винта, отмеченные стрелками
После выкручиваем 3 винта центрального кольца и вынимаем верхнюю и нижнюю части его.
Вот так выглядит модуль сзади и спереди.
Теперь отщелкиваем тонкой отверткой, ланцетом все защелки по периметру.
Снимаем отщелкнутую часть вверх и видим искомый объект — сама плата модуля. Стрелкой отмечен подстроечный резистор VR1 (в последствии вернемся к нему).
Откручиваем 2 винта. И очень аккуратно, чтобы не повредить шлейф приподымаем плату. Видим 9 оптических датчиков.
А так выглядит линейный датчик.
Теперь внимательно читаем. Если у Вас появляются ошибки на малых углах поворота руля, то в большинстве случаев — это пыль на оптических датчиках. Если же ошибки сыпятся ближе к крайнему левому положению руля, то это виноват уже линейный датчик положения.
Для чистки оптических датчиков используйте ватку и желательно изопропанол (изопропиловый спирт). Ничего сложно. Только аккуратность.
Линейный датчик. В статье, которую я привел выше, указывается, что для подстройки линейного датчика нужно смещать центральное кольцо относительно шестерни линейного датчика, однако я подобным не занимался и ограничился лишь коррекцией сопротивления переменного резистора VR1 отмеченного стрелкой.
В большинстве случаев на побегавшем модуле сопротивление будет в коридоре от 250 до 315 Ом. На новом кажется 250.
Вся проблема этого линейного датчика в том, что слепнет от времени связка светодиод+матрица приема. И весь наш ремонт — это оттягивание неизбежной замены. Можно сразу открутить сопротивление на отметку 170-200 Ом. Собрать и наслаждаться.
Еще один момент связанный с линейным датчиком (см. выше). Там видны полоски. На датчиках, которые есть у меня. На одном из моих датчиков нулевое положение полосок было такое: левая полоска четко напротив второй полоски справа, а на втором, как на фото выше.
Собираете обратно и катаетесь дальше.
Остальное для маньяков, как я. :)))
Я так не стал делать и пошел изыскательским путем, чтобы понять как себя ведется этот модуль. Несколько раз снимал и ставил с подключением к Dice и отслеживанием угла поворота (без подушки и руля. Ошибки естественно появились по кнопкам руля и подушке).
Так, при значении 283 Ом. Датчик переставал отслеживать угол в левую сторону уже после 315 градусов. Рабочий диапазон составляет 1,5 оборота или 540 градусов в одну и в другую сторону. Реально же руль упирается в ограничитель уже при 484-502 градусах в обе стороны. Т.е. наша задача выставить сопротивление на таком значении, чтобы угол уходил хотя бы немного за 484-502 градуса.
Сначала попробовал выставить 200 Ом. Модуль терял угол при 476 градусах влево. Выставил 170 Ом. Модуль стал видеть до 510. На этом и остановился.
Начнем с основ. Как же работают устройства на технологи SCSI? В стандарте SCSI все построено на концепции клиент/сервер.
Клиент, называемый инициатором (англ. initiator), отправляет разные команды и дожидается их результатов. Чаще всего, разумеется, в роли клиента выступает SAS контроллер. Сегодня SAS контроллеры — это HBA и RAID-контроллеры, а также контроллеры СХД, стоящие внутри внешних систем хранения данных.
Сервер называется целевым устройством (англ. target), его задача — принять запрос инициатора, обработать его и вернуть данные или подтверждение выполнения команды обратно. В роли целевого устройства может выступать и отдельный диск, и целый дисковый массив. В этом случае SAS HBA внутри дискового массива (так называемая внешняя система хранения данных), предназначенный для подключения к нему серверов, работает в режиме Target. Каждому целевому устройству (“таргету”) присваивается отдельный идентификатор SCSI Target ID.
Для связи клиентов с сервером используется подсистема доставки данных (англ. Service Delivery Subsystem), в большинстве случаев, это хитрое название скрывает за собой просто кабели. Кабели бывают как для внешних подключений, так и для подключений внутри серверов. Кабели меняются от поколения к поколению SAS. На сегодня имеется три поколения SAS:
— SAS-1 или 3Gbit SAS
— SAS-2 или 6Gbit SAS
— SAS-3 или 12 Gbit SAS – готовится к выходу в середине 2013 года
Внутренние и внешние кабели SAS
Инициатор, соединенный с целевым устройством системой доставки данных, называют доменом. Любое SCSI устройство содержит как минимум один порт, который может быть портом инициатора, целевого устройства или совмещать обе функции. Портам могут присваиваться идентификаторы (PID).
Целевые устройства состоят из как минимум одного логического номера устройства (Logical Unit Number или LUN). Именно LUN и идентифицирует с каким из дисков или разделов данного целевого устройства будет работать инициатор. Иногда говорят, что target предоставляет инициатору LUN. Таким образом, для полной адресации к нужному хранилищу используется пара SCSI Target ID + LUN.
Как в известном анекдоте («Я не даю в долг, а Первый Национальный Банк не торгует семечками») — целевое устройство обычно не выступает в роли «посылающего команды», а инициатор — не предоставляет LUN. Хотя стоит отметить, что стандарт допускает тот факт, что одно устройство может быть одновременно и инициатором и целью, но на практике это используют мало.
Для «общения» устройств в SAS существует протокол, по «доброй традиции» и по рекомендации OSI, разделенный на несколько слоев (сверху вниз): Application, Transport, Link, PHY, Architecture и Physical.
SAS включает в себя три транспортных протокола. Serial SCSI Protocol (SSP) — используется для работы со SCSI устройствами. Serial ATA Tunneling Protocol (STP) — для взаимодействия с дисками SATA. Serial Management Protocol (SMP) — для управления SAS-фабрикой. Благодаря STP мы можем подключать диски SATA к контроллерам SAS. Благодаря SMP мы можем строить большие (до 1000 дисковых/SSD-устройств в одном домене) системы, а также использовать зонирование SAS (подробнее об этом в статье про SAS-коммутатор).
Уровень связей служит для управления соединениями и передачи фреймов. Уровень PHY — используется для таких вещей как установка скорости соединения и кодировки. На архитектурном уровне находятся вопросы расширителей и топологии. Физический уровень определяет напряжение, форму сигналов соединения и т.д.
Все взаимодействие в SCSI строится на основании команд, которые инициатор посылает целевому устройству и ожидает их результата. Команды эти посылаются в виде блоков описания команды (Command Description Block или CDB). Блок состоит из одного байта кода команды и ее параметров. Первым параметром почти всегда выступает LUN. CDB может иметь длину от 6 до 32 байт, хотя последние версии SCSI допускают CDB переменной длины.
После получения команды целевое устройство возвращает код подтверждения. 00h означает что команда принята успешно, 02h обозначает ошибку, 08h — занятое устройство.
Команды делятся на 4 большие категории. N, от английского «non-data», предназначены для операций, не относящихся к непосредственно обмену данными. W, от «write» — запись данных, полученных целевым устройством от инициатора. R, как не сложно догадаться от слова «read» используется для чтения. Наконец В — для двустороннего обмена данными.
Команд SCSI существует достаточно много, поэтому перечислим только наиболее часто используемые.
А теперь рассмотрим несколько типичных примеров организации хранения данных на SAS.
Пример первый, сервер хранения данных.
Дата-центр одной из российских Web 2.0-компаний
Процессоры и память в таких серверах задействуются не сильно. Второе – в мире Web 2.0, информация хранится географически распределено, несколько копий на различных серверах. Хранится 2-3 копии информации. Иногда, если она запрашивается часто, хранят больше копий для балансировки нагрузки. Ну и третье, исходя из первого и второго, чем дешевле – тем лучше. В большинстве случаев все вышесказанное приводит к тому, что используются Nearline SAS или SATA диски высокой емкости. Как правило, Enterprise-уровня. Это значит, что такие диски предназначены для работы 24x7 и стоят значительно дороже своих собратьев, использующихся в настольных PC. Корпус обычно выбирают такой, куда можно вставить побольше дисков. Если это 3.5’’, то 12 дисков в 2U.
Типичный 2U-сервер хранения данных
16-портовый SAS HBA
Пример второй, почтовый сервер Exchange. А также MDaemon, Notes и другие подобные сервера.
SSD- кэширующий RAID-контроллер Nytro MegaRAID
Пример третий, внешняя система хранения данных своими руками.
Итак, самое серьезное знание SAS, конечно же, требуется тем, кто производит системы хранения данных или хочет их сделать своими руками. Мы остановимся на достаточно простой СХД, программное обеспечение для которой производится компанией Open-E. Конечно же, можно делать СХД и на Windows Storage Server, и на Nexenta, и на AVRORAID, и на Open NAS, и на любом другом подходящем для этих целей софте. Я просто обозначил основные направления, а дальше вам помогут сайты производителей. Итак, если это внешняя система, то мы почти никогда не знаем, сколько же дисков потребуется конечному пользователю. Мы должны быть гибкими. Для этого есть так называемые JBOD – внешние полки для дисков. В их состав входит один или два экспандера, каждый из которых имеет вход (4-х портовый разъем SAS), выход на следующий экспандер, остальные порты разведены на разъемы, предназначенные для подключения дисков. Причем, в двухэкспандерных системах первый порт диска разведен на первый экспандер, второй порт – на второй экспандер. Это позволяет строить отказоустойчивые цепочки JBOD-ов. Головной сервер может иметь внутренние диски в своем составе, либо не иметь их совсем. В этом случае используются «внешние» контроллеры SAS. То есть контроллеры с портами «наружу». Выбор между SAS RAID-контроллером или SAS HBA зависит от управляющего ПО, которое вы выбираете. В случае Open-E, это RAID-контроллер. Можно позаботиться и об опции кэширования на SSD. Если ваша СХД будет иметь очень много дисков, то решение Daisy Chain (когда каждый последующий JBOD подключается к предыдущему, либо к головному серверу) в силу многих причин не подходит. В этом случае головной сервер либо оснащается несколькими контроллерами, либо используется устройство, которое называется SAS-коммутатор. Он позволяет подключать один или несколько серверов к одному или нескольким JBOD. Подробнее SAS-коммутаторы мы разберем в следующих статьях. Для внешних систем хранения данных настоятельно рекомендуется использовать диски только SAS (в том числе NearLine) в силу повышенных требований к отказоустойчивости. Дело в том, что протокол SAS имеет в своем составе гораздо больше функций, чем SATA. Например, контроль записываемых-считываемых данных на всем пути с помощью проверочных сумм (T.10 End-to-End protection). А путь, как мы уже знаем, бывает очень длинным.
Напоследок, хочется поделиться некоторыми сведениями о текущей адаптации SAS мировыми производителями оборудования. SAS сегодня – это стандарт де-факто для серверных систем и профессиональных рабочих станций. Серверные системы подавляющего большинства как A- так и B- брендов имеют в составе контроллеры SAS, как HBA, так и RAID. В области внешних систем хранения данных, основные производители оборудования (HP, EMC, NetApp, IBM) уже несколько лет как перевели внутренние архитектуры своих систем на SAS. Таким образом, диски Fibre Channel стали за последние пару лет настоящей экзотикой. Fibre Channel продолжает жить и развиваться, в основном, как способ подключения серверов к системам хранения данных, хотя в области Low-End, Mid-Range и профессиональных систем, SAS отвоевывает все большую долю.
На этом наш экскурс в мир истории и теории SCSI вообще и SAS в частности подошел к концу, и в следующий раз я расскажу вам более подробно о применении SAS в реальной жизни.
Привет! Я Анна Добрыченко, преподаватель учебного центра SAS в России: провожу тренинги по программированию на SAS Base, использованию SAS Enterprise Guide и SAS Visual Analytics, участвую в подготовке стажеров. Вся техническая документация и статьи продуктов и решений SAS изложены на английском языке, а локализованного материала в Рунете недостаточно.
Поэтому в нашем блоге на Хабрахабре я расскажу об основах программирования на SAS Base в цикле статей.
Язык SAS Base представляет собой основу большинства этих продуктов и решений SAS, именно ему и будут посвящены статьи. В них я познакомлю с терминологией, типами данных, с которыми работает SAS Base, со структурой кода, написанного на SAS Base, и покажу основные приемы, которые используются при написании программ SAS.
8. Блок управления SAS
Снятие блока управления SAS
Внимание:
- Неправильное обращение с блоком управления SAS может привести к случайному срабатыванию модулей подушек безопасности и преднатяжителей ремней безопасности, что может стать причиной получения серьезных травм. Перед началом работы с блоком управления SAS необходимо считать сервисные предупреждения.
- Если разъем подсоединен и включено зажигание без надлежащей фиксации блока управления SAS крепежными гайками, блок управления SAS может фиксировать удар даже при случайном легком касании, что приведет к срабатыванию модулей подушек безопасности и преднатяжителей ремней безопасности.
- Если процедура инициализации датчиков DSC не завершена, система динамической стабилизации не будет функционировать должным образом, что может стать причиной дорожно-транспортного происшествия. Поэтому, в случае замены блока управления SAS необходимо выполнять инициализацию датчиков DSC для обеспечения надлежащей работы системы.
- Если после замены блока управления SAS не будет выполнена его конфигурация, специфическая информация не сохранится в блоке управления SAS и система не сможет работать нормально.
- В случае замены блока управления SAS необходимо обязательно выполнить процедуру конфигурации перед снятием блока управления SAS. Если конфигурация не выполняется или блок управления SAS снят, отображается код неисправности B0003:53.
- Для выполнения конфигурации необходимо считать специфическую информацию автомобиля со старого блока управления SAS перед его заменой. Для этого подключить прибор M-MDS к диагностическому разъему и выполнить опознавание автомобиля перед снятием блока управления SAS. Специфическая информация автомобиля временно сохраняется в приборе M-MDS.
Примечание:
- Блок управления SAS перед заменой хранит в себе специфическую информацию автомобиля.
- Новый блок управления SAS не имеет никакой информации касательно определенного автомобиля.
- Если специфическая информация из старого блока управления SAS не была считана перед его заменой, необходимо выполнить конфигурацию блока с помощью встроенных данных.
1. В случае, если блок управления SAS подлежит замене, выполнить его конфигурацию.
2. Выключить зажигание.
3. Отсоединить отрицательную клемму аккумуляторной батареи и подождать не менее одной минуты.
4. Снять следующие части:
1) Снять боковую стенку.
2) Снять передний консольный ящик.
3) Снять панель передней напольной консоли.
4) Снять переднюю напольную консоль.
5) Снять рукоятку рычага переключения передач (модификация с МКП).
6) Снять рукоятку рычага селектора (модификация с АКП).
7) Снять панель переключения.
8) Снять переднюю консоль.
9) Снять модуль заднего нагнетателя.
5. Отсоединить электрический разъем А, как показано на рисунке.
6. Отсоединить электрический разъем В.
7. Отвернуть крепежные болты.
8. Снять блок управления SAS.
Установка блока управления SAS
1. Установку произвести в порядке обратном снятию.
2. Включить зажигание (двигатель выключен или включен).
3. Убедиться в том, что индикатор системы подушек безопасности мигает в течение 6 секунд и гаснет. Если индикатор системы подушек безопасности не загорается, выполнить проверку системы посредством бортовой самодиагностики с помощью прибора M-MDS.
Обычно пользователи нашего сайта находят эту страницу по следующим запросам:
электросхема Mazda 5 , скачать электросхему Mazda 5 , панель приборов Mazda 5 , система освещения Mazda 5 , магнитола Mazda 5 , аудиосистема Mazda 5 , стеклоочиститель Mazda 5 , регулировка фар Mazda 5 , коды ошибок Mazda 5
Структура программы SAS Base
Ознакомимся со структурой программы на языке SAS Base.
Все программы SAS состоят всего из двух шагов: шаг PROC и шаг DATA. Шаг DATA предназначен для чтения, преобразования и создания наборов данных SAS, а процедурный шаг PROC в основном – для анализа данных, формирования и печати отчетов. Шаги состоят из операторов. Индикатор окончания шага – это ключевое слово RUN (или, например, QUIT для ряда процедур), также сигналом к завершению шага может быть наличие операторов STOP и ABORT. Шаги могут размещаться в произвольном порядке, компилятор считывает последовательно шаг за шагом. Стоит отметить, что и сами шаги считываются построчно и никак иначе. Разные части программы обмениваются друг с другом данными в виде наборов данных SAS.
Синтаксис SAS Base очень прост, так же как и написание кода.
Пример простейшей программы SAS представлен ниже:
Важным требованием синтаксиса является наличие точки с запятой в конце каждого оператора. Данная программа SAS считывает набор данных ads из библиотеки sasuser (с понятием «библиотека» мы познакомимся в следующей статье), создает новый набор данных new. На следующем шаге мы создаем отчет из нового набора данных.
Стоит отметить, что у SAS Base нет требований к форматированию кода. Вы можете написать код в одну строку и код будет работать. Чтобы отформатировать код в SAS U, нажмите на кнопку «формат кода»:
Хороший тон для программиста – это пояснения к исходному тексту программы. Комментарии не влияют на семантику программы.
В SAS Base есть два вида комментариев:
Как отмечалось ранее, Log необходимо детально изучать. Давайте рассмотрим несколько самых распространенных синтаксических ошибок:
В данном случае шаг отработает с предупреждением. В Log мы увидим следующую информацию:
В данном случае run на втором шаге программы будет расценен как параметр оператора proc print.
Ошибка будет выглядеть следующим образом:
- Непарные кавычки. В SAS Base можно использовать одинарные и двойные кавычки, которые должны быть парными.
Итак, это кратко об интерфейсе SAS UE, терминологии SAS Base и основных требованиях к синтаксису SAS Base. В следующей статье мы рассмотрим библиотеки SAS и их создание, создание детализированных отчетов, рассмотрим форматирование значений и задание постоянных атрибутов переменным.
Уверена, что работа с SAS окажется интересной и увлекательной. Grow with SAS!
В чём смысл параллельного существования и развития отдельного стандарта SAS когда SATA развивается и черпает вдохновение из того же SCSI и почему SAS/SCSI-винчи имеют другие ёмкости (причём загадочной кратности) и, обычно, более высокие обороты (в то время как на ограничение пропускной способности при существовании SATA 3 это вроде как не свалить)? В каких случаях кроме брутального high-load, хостинга множества виртуалок и многопотокового видеовещания действительно имеет смысл ставить SAS и почему?
Извините если глупый вопрос. Заранее спасибо. Интересно.
Ох, сигейта нет на вас ;). Я видел отличную презентацию про отличия SAS и SATA у Игоря Макарова из Seagate. По стараюсь кратко и по существу.
2. Не все SAS диски одинаковы. Есть несколько категорий SAS и SATA.
— т.н. Enterprise SAS — обычно 10K или 15K оборотов в минуту. Объемы до 1 ТБ. Используются для СУБД и критичных к скорости приложений.
— Nearline SAS — обычно 7.2K, объемы от 1 ТБ. Механика таких устройств похожа на Enterprise SATA. Но все равно два порта и другие прелести SAS. Используются в enterprise, где нужны большие объемы.
— Enterprise SATA, иногда RAID edition SATA — почти то же самое что и NL SAS, только однопортовый SATA. Чуть дешевле NL SAS. Объемы от 1 TB
— Desktop SATA — то что ставится в PC. Самые дешевые и самые низкокачественные диски.
Первые три категории можно ставить в массивы на контроллерах от LSI и Adaptec. Последний — нельзя категорически. Проблем не оберетесь потом. И не потому, что у нас картельный сговор, а потому, что диски проектируются под разные задачи. То есть 8x5 или 24x7, например. Есть также такое понятие как максимальная допустимая задержка, после которой контроллер считает диск умершим. Для десктопных дисков она в разы больше. Это значит, что под нагрузкой рабочие Desktop SATA будут «вываливаться» из массива.
Короче, ориентируйтесь на конкретные линейки под конкретные задачи. Лучше всего смотреть на сайтах производителей. Есть например специальные мало шумящие и мало греющиеся винты для домашней электроники.
Те же подходы и к SSD, но область еще на сформировавшаяся, поэтому много тонкостей. Здесь мы ориентируемся по параметрам. Хотя все, что сказано в п., справедливо и для SSD.
"То есть 8x5 или 24x7" - думаю у оченеь многих пользователей десктопы или даже ноутбуки работают в режиме 24x7 (и вряд ли у сколько-нибудь существеной доли такиз пользователей SAS). В то же время да, издавна (ещё до появления SATA и по сей день) замечаю, что рэйды (не только на серьёзных контроллерах LSI и Adaptec, но и на контроллерах потребительского класса и просто полностью софтовые рэйды на уровне ОС) на хардах потребительского класса рушатся ну очень часто (при том, что на проверку диски оказываются исправны и работай он без рэйда никаких заметных проблем бы не возникло).
Вводная
Есть несколько вариантов изучить основы программирования на SAS Base.
- Прочитать документацию: все решения SAS хорошо задокументированы, чтобы пользоваться ими было легко даже новичку. Все справочники находятся на сайте поддержки. Из плюсов стоит отметить, что найти можно все, что интересует бесплатно, из минусов – долго, и вся информация на английском языке.
- Посмотреть бесплатный онлайн-курс в формате e-Learning. Плюсы – все подробно разъясняется с примерами и выполнением практических упражнений, минусы – долго (длительность 24 часа), курс на английском языке. Также можно посмотреть видео SAS на Youtube.
- Купить книгу, например, Little SAS Book. Книга знакомит начинающих пользователей с языком SAS Base, содержит практические примеры и упражнения. Но опять же, вся литература, выпускаемая SAS, на английском языке и имеет относительно высокую стоимость. Все книги представлены на официальном сайте SAS в разделе «Обучение», также можно воспользоваться ресурсом Amazon. Но если вы студент и участвуете, например, в нашей стажерской программе, то вам могло повезти и вы получили книгу в подарок, что не может не радовать.
- Прочитать наш курс статей, освящающий основы программирования на SAS Base. Эти статьи адресованы новым пользователям SAS, работающим в различных сферах бизнеса, по большому счету для всех, кто собирается проводить анализ данных с помощью решений SAS или писать свои программы на SAS Base.
Разбираемся в интерфейсе
Немного о том, как выглядит интерфейс SAS UE.
Слева находится панель навигации, справа – рабочая область. Три основные вкладки рабочей области – «Код», «Журнал», «Результаты».
Справка по синтаксису появляется, как только вы уменьшаете список релевантных ключевых слов. Справка по синтаксису также появляется, если щелкнуть правой кнопкой мыши на ключевое слово в программе и выбрать Syntax Help (Справка по синтаксису).
Можно перейти на страницу документации по той или иной процедуре, кликнув на ссылку «Документация по продукту».
На вкладке «Выходные данные» вы можете увидеть созданные таблицы.
На вкладке «Результаты» вы можете просматривать вывод процедур, создающих отчеты.
Если какая-то часть программы используется часто, ее можно добавить во «Фрагменты кода».
Вы можете открыть справку (SAS Help) и документацию прямо из главной панели инструментов. SAS Studio Help (Справка SAS Studio) для перехода на страницу документации по SAS Studio. Эта веб-страница содержит справку по интерфейсу SAS Studio.
Если вы только начали изучать продукты SAS, то наверняка незнакомы с некоторыми особенностями терминологии, используемой в продуктах компании.
Читайте также: