Sas data integration studio что это
Я уже писал про SAS Studio в статье. Однако теперь давайте познакомимся чуть ближе с самим продуктом. И посмотрим на что он способен.
Ниже привожу два видео, которые покажут беглый взгляд на данный продукт.
Мне понравилось, то что можно наконец-то работать из любого места, где есть просто барузер и не надо заморачиваться со служебками на установку толстого клиента SAS EG.
Также преднастроенные куски кода дают возможность быстро освоиться с тем, что тебе нужно. Даже добавлены коды на DS2, что приятно удивило.
Добываем инструменты
Научиться программировать на SAS Base можно на бесплатном интерфейсе под названием SAS University Edition или сокращенно SAS UE.
При запуске программы или задачи SAS Studio подключается к серверу SAS для обработки кода. Сервер SAS может быть размещен в облачной среде, локальной среде или же на локальном компьютере. После обработки кода результаты возвращаются в SAS Studio в вашем браузере.
SAS Studio поддерживает несколько веб-браузеров: Microsoft Internet Explorer, Apple Safari, Mozilla Firefox, and Google Chrome.
Работа
Откровенно говоря, получить работу конкретно SAS-специалисту в России будет очень сложно. Как правило, SAS идёт как жирный плюс. но не как основная специализация. Тем не менее, если вам удастся набраться практического опыта работы с SAS хотя бы в течение 2 лет, хотя бы базово освоить SQL, VB и прочие полезности, то вы сможете смело рассчитывать на зарплату не менее 80 тысяч рублей в месяц. Причём речь не только о столице, стоимость программного продукта SAS как бы подсказывает работодателю не экономить в поисках дешёвой рабочей силы. Но, как уже было сказано, нужную вакансию ещё придётся поискать.
Опыт управления данными
- Мы работаем в сфере управления данными десятилетиями, работая с тысячами компаний по всему миру, чтобы решить их проблемы с данными. Кроме того, Gartner позиционирует SAS в квадранте лидеров для интеграции данных.
Большая эффективность и улучшенные интеграционные процессы.
SAS Studio. Первый взгляд.: 9 комментариев
Мне SAS Studio понравился тем, что благодаря ему можно обучать широкую аудиторию пользователей работе в SAS, не озадачиваясь, установлен у твоего слушателя SAS или нет. Оптимален для skype-формата обучения. Оба загружаете программу в браузере, подключаете демонстрацию экрана, синхронизируйтесь и можно начинать учебный процесс. Как раз для обучения на базе SAS Studio перевели Little SAS Book. Студенты и коммерческие клиенты очень довольны. SAS Studio как нельзя лучше подходит, когда нужно оперативно обучить человека базовым навыкам работы в SAS, при этом слушатель не скован территориально, местом работы, университетом, где установлено программное обеспечение SAS. Обучение становится мобильным.
Честно говоря, если речь идет о расшаривании экрана, то можно в SAS EG показывать. Здесь разницы нет. Другое дело, когда пользователю нужно ручками попробовать код написать и у него не установлен локально SAS EG — тогда Ваш способ будет предпочтительным.
SASStudio на данный момент очень ограничен функционально, в нём нету вещей, которые так любят пользователи в EGuide, а именно возможность накликивания без какого-то понимания кода!
С своей стороны я вижу существенный недостаток — отсутствие загружать и выгружать внешние файлы напрямую в клиент SASStudio.
Пользователю любят Excel, а с SASStudio требуется хитроумный способ взаимодействия этих двух систем.
К хорошему быстро привыкаешь =)
Ну и я молчу о преднастраиваемых библиотеках на уровне администрирования в Management Console. Пока он никак не реализован.
Кстати, коллеги, сориентируйте, насколько востребован сейчас SAS EG? В сравнении с тем же SAS EM.
А от привычки "накликивания без какого-то понимания кода" надо отучать. Не устану повторять, что привычка делать все с помощью Java Enterprise до добра не доводит, за короткое время можно построить 80% модели и потом застрять, не найдя нужной кнопки.
Мне кажется вопрос некорректный.
Если речь идёт о моделировании, то SAS EM востребован. И эта востребованность со стороны аналитика-моделера.
В противном случае востребованности нет.
Сегодня задач на моделирование очень мало, в отличии от рутинных отчётов, обработки данных, презентаций и тд, с которыми хорошо справляется EG. А это задачи бизнес пользователей, иногда аналитиков.
А от привычки "накликивания без какого-то понимания кода" надо отучать.
Простите, а чему учить и кого учить?
Если кодить, то кого учить? Стоит ли эти вложения выхлопа?
А если разбираться в математике, то зачем нужен SAS?
Пока на рынке востребованности я не наблюдаю в этом направлении. А с учетом текущей ситуации не так много компаний реально могут себе позволить SAS.
Вот вы мне глаза открыли, что в России узкоспециализированные специалисты. Я всегда считал, что только в России кандидат может и модели строить и коды на 10 языках писать, а еще и машины если понадобиться чинить :). А как раз на западе предпочтение отдается узкоспециализированным кандидатам.
Что касается работы с SAS EM — то здесь практически все должны уметь работать и с SAS EG (либо в Base писать). Т.е. с точки зрения математика — множество EG включает в себя множество EM :).
Что ж Вы молчали раньше? Срочно мне этих кандидатов )
По поводу Запада и узкопрофильников. Конкретный пример — Citibank в Штатах. Идет постепенное вынедрение SAS. Production переводят на Java, моделирование — на R. Никто не плачется, никто не говорит, что он моделер, а не программер, что R жутко неудобен, что вот опять писать код. У нас же стоило Олегу Соловьеву предложить перевести проекты по скорингу на R, срач поднялся до небес. Это те самые специалисты взвыли, как бы не заставили их помимо R еще и машины чинить ) Наверно, читали эту эпическую сагу на форуме sql.ru.
По поводу SAS EM. Ключевое слово "должны уметь" )
По моим наблюдениям (а это и конкретные проекты по скорингу и образовательная практика), как правило, у тех, кто работает в SAS EM, уровень владения языком оставляет желать лучшего. Для многих вообще было откровением, что в SAS EM помимо встроенных алгоритмов можно прекрасно писать свои собственные. Я почему о коде завел речь. Если есть возможность повысить точность модели в SAS EM, а подходящей кнопки нет, можно обратиться к коду. Например вместо Maximum Normal уметь преобразование сложенный корень написать и использовать. А в большинстве случаев я вижу именно "накликивание". Особенно у начинающих моделеров, студентов ВУЗов, входящих в академическую программу. Часто это обусловлен тем, что изучение начинается с SAS EM, а не с SAS Base. И выходит, что человек кнопками построить нейросеть может, а разобраться в сгенерированном коде, выяснить, где косяк, где нужно другую нормировку (при работе с теми же нормализованными RBF-сетями) ему уже не по силам.
Да, тут три уровня знаний и умений (касательно анализа данных). По уровню значимости я бы распределил так:
1) Знание соответствующей математики.
2) Знание соответствующих алгоритмов и структур данных и умение заимплементировать их на каком-либо (любом) языке программирования.
Не обязательно все методы/алгоритмы, а хотя бы какую-то часть, чтобы иметь представление что происходит внутри
следующего — 3-го уровня, и при необходимости вносить правки и уметь интерпретировать результаты.
3) ну и потом уже идут инструменты — SAS EG/Base/EM, R, Spark, Excel etc .
Учитывая это (и если Вы согласны с пунктами), очень трудно стать хорошим аналитиком — нужно уметь сразу "всё" )
Переменные и атрибуты
У переменных в SAS есть ряд атрибутов, давайте познакомимся с некоторыми из них.
Длина переменной — это количество байт, приходящихся на один символ.
Данный код демонстрирует вышеизложенное:
Имена переменных, как и наборов данных, задаются самостоятельно. Есть ряд правил именования переменных SAS:
- Имена не должны превышать 32 символов.
- Имена должны начинаться только с буквы или символа нижнего подчеркивания.
- Имена могут содержать только буквы, цифры или символы нижнего подчеркивания.
- В именах переменных нельзя использовать специальные символы, в том числе и пробел.
- Имена могут содержать как прописные, так и строчные буквы, так как SAS не чувствителен к регистру при именовании сущностей (переменные, наборы данных, библиотеки и так далее). Обращаться в коде к переменной вы можете в любом регистре. Но! Важно то, что SAS запоминает первое появление названия переменной в программе и при формировании отчета использует именно его.
В последующих статьях мы подробнее познакомимся с атрибутом формат.
Ярлык переменной используется в отчетах вместо имен переменных. Ярлык может содержать до 256 символов, включая специальные символы, в том числе и знак пробела. В последующих статьях мы рассмотрим, виды ярлыков и как они используются в программном коде, а также приемы, когда в имени переменной может быть использован, например, пробел.
Рекомендую также прочесть:
Структура программы SAS Base
Ознакомимся со структурой программы на языке SAS Base.
Все программы SAS состоят всего из двух шагов: шаг PROC и шаг DATA. Шаг DATA предназначен для чтения, преобразования и создания наборов данных SAS, а процедурный шаг PROC в основном – для анализа данных, формирования и печати отчетов. Шаги состоят из операторов. Индикатор окончания шага – это ключевое слово RUN (или, например, QUIT для ряда процедур), также сигналом к завершению шага может быть наличие операторов STOP и ABORT. Шаги могут размещаться в произвольном порядке, компилятор считывает последовательно шаг за шагом. Стоит отметить, что и сами шаги считываются построчно и никак иначе. Разные части программы обмениваются друг с другом данными в виде наборов данных SAS.
Синтаксис SAS Base очень прост, так же как и написание кода.
Пример простейшей программы SAS представлен ниже:
Важным требованием синтаксиса является наличие точки с запятой в конце каждого оператора. Данная программа SAS считывает набор данных ads из библиотеки sasuser (с понятием «библиотека» мы познакомимся в следующей статье), создает новый набор данных new. На следующем шаге мы создаем отчет из нового набора данных.
Стоит отметить, что у SAS Base нет требований к форматированию кода. Вы можете написать код в одну строку и код будет работать. Чтобы отформатировать код в SAS U, нажмите на кнопку «формат кода»:
Хороший тон для программиста – это пояснения к исходному тексту программы. Комментарии не влияют на семантику программы.
В SAS Base есть два вида комментариев:
Как отмечалось ранее, Log необходимо детально изучать. Давайте рассмотрим несколько самых распространенных синтаксических ошибок:
В данном случае шаг отработает с предупреждением. В Log мы увидим следующую информацию:
В данном случае run на втором шаге программы будет расценен как параметр оператора proc print.
Ошибка будет выглядеть следующим образом:
- Непарные кавычки. В SAS Base можно использовать одинарные и двойные кавычки, которые должны быть парными.
Итак, это кратко об интерфейсе SAS UE, терминологии SAS Base и основных требованиях к синтаксису SAS Base. В следующей статье мы рассмотрим библиотеки SAS и их создание, создание детализированных отчетов, рассмотрим форматирование значений и задание постоянных атрибутов переменным.
Уверена, что работа с SAS окажется интересной и увлекательной. Grow with SAS!
Современные задачи анализа Больших Данных уже не могут быть решены с использованием традиционных подходов.
- Ключевые слова / keywords:
- Аналитика Больших Данных
- Big Data Analytics
Современные задачи анализа Больших Данных не могут быть решены с использованием традиционных подходов — решения компании SAS позволяют извлечь максимум пользы из накопленных данных, независимо от того, структурированы они или нет и насколько быстро увеличиваются в объеме.
Инструменты бизнес-аналитики помогают принимать решения на основе полезной информации, извлекаемой из данных, но чем больше становится данных, тем сложнее выполнять эту задачу традиционными средствами. Сегодня наиболее успешные компании ищут оптимальный способ, как в кратчайшие сроки извлекать из Больших Данных полезную и релевантную информацию, чтобы быстрее реагировать на изменения конъюнктуры, отвечать на запросы клиентов или выводить на рынок новые продукты.
В решение бизнес-задач аналитическими средствами вовлечены разные группы пользователей, использующие свои специфические инструменты (см. рисунок). Бизнес-пользователям и аналитикам, принимающим стратегические и тактические решения, нужны средства интерактивного анализа и визуализации данных, позволяющие посмотреть на определенные показатели в нужном разрезе и отследить взаимосвязи и тенденции. Для автоматизации оперативных решений, например о выдаче кредита или проверке налоговой декларации, требуется создание сложных аналитических моделей средствами углубленной аналитики. ИТ-специалисту, который настраивает регламентное применение моделей, требуются инструменты обработки данных. Компания SAS разработала линейку специализированного программного обеспечения SAS High Performance Analytics для каждого типа пользователей и для различных задач, решаемых над Большими Данными. В основе предлагаемого решения лежат три технологии взаимодополняющие технологии работы с большими массивами данных.
Задачи и решения для разных групп пользователей |
SAS Grid Manager управляет распределенными вычислениями в среде SAS при работе на одном сервере и на кластере серверов, что повышает скорость работы, отказоустойчивость системы и масшабируемость. Приложения SAS Data Integration Studio и SAS Enterprise Miner разделяют аналитическую задачу на отдельные шаги-задания и автоматически генерируют поток работ для выполнения на грид. SAS Grid Manager осуществляет управление процессом, распределение и балансировку нагрузки между серверами.
Применяемая в SAS High Performance Analytics технология In-Database позволяет переносить вычислительную нагрузку с аналитического сервера SAS на сервер внешней базы данных, что дает выигрыш в ситуации, когда аналитические модели разрабатываются на SAS, а корпоративное хранилище данных реализовано на СУБД другого поставщика. Продукты серии SAS Scoring Accelerator переводят аналитические модели на язык партнерских СУБД и переносят их внутрь этих СУБД для регламентного применения.
Другая технология — In-Memory — позволяет проводить распределенные вычисления непосредственно в оперативной памяти серверов-лезвий и развивается компанией SAS по трем направлениям: интерактивный анализ и визуализация данных средствами системы SAS Visual Analytics; решение задач углубленной аналитики средствами продукта SAS High Performance Analytics, вплоть до анализа закономерностей в тексте; блок созданных на основе технологии In-Memory прикладных аналитических решений для конкретных бизнес-задач.
Система SAS Visual Analytics сочетает в себе высокопроизводительные средства анализа и графический интерфейс визуализации данных, позволяя пользователям разной квалификации, не прибегая к помощи ИТ-специалистов, анализировать большие объемы данных и получать точные, наглядные и удобные для интерпретации отчеты. В процессе исследования пользователи могут создавать произвольные иерархии данных для многомерного анализа и применять фильтры на любом уровне иерархии, агрегировать и детализировать данные, проводить вычисления по новым показателям и добавлять их к любому представлению. Полученные отчеты можно публиковать в Сети, а благодаря приложениям для мобильных устройств с ними можно работать, например, на iPad. В зависимости от выбранного типа данных, система SAS Visual Analytics автоматически подбирает наиболее подходящую диаграмму для отображения информации: для одного показателя используется график распределения плотности, для двух — диаграмма рассеяния, для трех — пузырьковая диаграмма и т. п.
Сложные структуры данных скрыты от пользователей, а обработка данных In-Memory упрощает поиск корреляций между большим количеством переменных и их отображение.
Система SAS Visual Analytics базируется на сервере SAS LASR Analytic Server, позволяющем создавать производительную вычислительную среду SAS. Сервер оптимизирован для применения в средах распределенных вычислений: данные обрабатываются непосредственно в оперативной памяти параллельно на нескольких узлах, что обеспечивает оперативный анализ больших объемов информации. Интеграция с Hadoop позволяет оптимизировать параллельную обработку Больших Данных и обеспечивает необходимую масштабируемость системы.
Поскольку пользователи работают с данными напрямую, самостоятельно, не обращаясь в ИТ-службу, меняется весь бизнес-процесс проведения анализа и принятия решений. В свою очередь, ИТ-специалисты освобождаются от рутинных операций по обработке пользовательских запросов на предоставление доступа к информации и создание новых представлений данных и разовых отчетов.
Алексей Лоншаков, Олег Бродецкий
Продукт SAS High Performance Analytics (SAS HPA) позволяет выполнять алгоритмы основных существующих на сегодняшний день направлений аналитики применительно к сотням миллионов записей. Помимо необходимого набора методов построения прогнозных моделей, реализованы алгоритмы и других направлений: интеллектуальный анализ данных, статистический анализ, прогнозирование временных рядов, а также инструменты интеллектуального анализа текста и решения задач оптимизации. Достижение высокой производительности выполнения аналитических алгоритмов стало возможно благодаря переносу вычислений непосредственно в оперативную память, использованию распределенного хранения данных и распределенных вычислений. Сейчас SAS HPA работает либо поверх специализированных программно-аппаратных средств от Teradata и Greenplum, либо на собственной платформе Hadoop от SAS.
Что дает бизнесу возможность оперативной работы с Большими Данными? Во-первых, скорость получения результатов анализа и, как следствие, скорость принятия решений. Во-вторых, точность моделей — аналитик может запустить анализ большее число раз и быстрее подобрать оптимальные настройки, как это происходит, например, при съемках цифровой, а не пленочной камерой. Появилась возможность быстро получить результат, оценить его качество и скорректировать настройки. Как это работает на практике, проверил один из крупных банков в Америке. За счет того, что среднее время работы аналитической процедуры сократилось с пяти часов до трех минут, появилась возможность применять больше видов алгоритмов в более сложной конфигурации. В результате это увеличило точность моделей в полтора раза, по сравнению с моделями, построенными традиционными аналитическими средствами. Более того, если раньше аналитики часто были вынуждены при анализе брать выборки данных, например, выбирая случайным образом 5% из 123 млн клиентов банка, то теперь такой необходимости нет. Исследования показали, что возможность анализа всей генеральной совокупности увеличивает точность аналитической модели на 33%.
На основе технологии In-Memory создан ряд прикладных решений: SAS High Performance Risks — расчет уровня риска портфеля на рынках капитала; SAS High Performance Markdown Optimization — расчет оптимальной стоимости и скидок для розничной торговли; SAS High Performance Marketing Optimization — определение оптимального предложения каждому клиенту. Представьте, что у компании миллионы клиентов и каждому из них можно сделать десятки предложений. При этом надо учесть склонность каждого клиента принять то или иное предложение и определить конкретный способ взаимодействия с ним, чтобы максимизировать общую прибыль компании в условиях заданных ограничений по числу предложений, пропускной способности каналов коммуникаций и маркетинговому бюджету. Когда решение такой задачи средствами SAS High-Performance Marketing Optimization выполняется не за несколько часов, а за несколько минут, то появляется возможность запустить его несколько раз с разными ограничениями, чтобы подобрать оптимальные настройки маркетинговой кампании. Например, проверить, насколько вырастет прибыль, если увеличить маркетинговый бюджет или пропускную способность канала коммуникации.
Для того чтобы Большие Данные, накопленные компаниями, стали ценным ресурсом и источником полезных знаний, необходима соответствующая ИТ-инфраструктура. Технологии высокопроизводительной аналитики от SAS позволяют реализовать принципиально новый подход к работе с информацией для решения широкого круга аналитических задач — от визуализации и исследования данных до разработки и внедрения аналитических моделей. Компания SAS — один из немногих пока производителей, обеспечивающих работу аналитики в оперативной памяти. Это стало возможным благодаря применению принципов, отличных от применяемых в реляционных СУБД, что позволило снять присущие им ограничения. Кроме того, благодаря кросс-платформности такие решения, как SAS High Performance Analytics, не привязаны к использованию сертифицированного оборудования или специализированных шасси одного производителя.
Внедрить новые технологии
Используйте новую волну передовых источников данных (MongoDB, Cassandra и т. Д.) И вычислительных сред (Spark, MapReduce, SAS Viya), поддерживая вашу фабрику данных с помощью единого решения.
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 Base.
- Прочитать документацию: все решения SAS хорошо задокументированы, чтобы пользоваться ими было легко даже новичку. Все справочники находятся на сайте поддержки. Из плюсов стоит отметить, что найти можно все, что интересует бесплатно, из минусов – долго, и вся информация на английском языке.
- Посмотреть бесплатный онлайн-курс в формате e-Learning. Плюсы – все подробно разъясняется с примерами и выполнением практических упражнений, минусы – долго (длительность 24 часа), курс на английском языке. Также можно посмотреть видео SAS на Youtube.
- Купить книгу, например, Little SAS Book. Книга знакомит начинающих пользователей с языком SAS Base, содержит практические примеры и упражнения. Но опять же, вся литература, выпускаемая SAS, на английском языке и имеет относительно высокую стоимость. Все книги представлены на официальном сайте SAS в разделе «Обучение», также можно воспользоваться ресурсом Amazon. Но если вы студент и участвуете, например, в нашей стажерской программе, то вам могло повезти и вы получили книгу в подарок, что не может не радовать.
- Прочитать наш курс статей, освящающий основы программирования на SAS Base. Эти статьи адресованы новым пользователям SAS, работающим в различных сферах бизнеса, по большому счету для всех, кто собирается проводить анализ данных с помощью решений SAS или писать свои программы на SAS Base.
Создание гибридных сред данных
Быстро и легко подключайтесь к нужным вам данным, где бы они ни находились - в облаке, локально или в ваших хранилищах данных в традиционных системах. SAS подключается ко всем видам данных: структурированным, неструктурированным, текстовым, документам и изображениям.
Литература
Нет смысла перечислять лучшие иностранные книги по SAS, так как все они собраны в одном месте, прямо на официальном сайте компании. Особое внимание стоит уделить пошаговому самоучителю, описанию возможностей языка и IDE, а также справочнику новичка.
Что касается ресурсов на русском языке, то тут, разумеется, всё значительно сложнее, но кое-что всё же есть. Помимо официального сайта, лекции Дмитрия Звежинского помогут тем, кто пока не познал английский язык на хорошем уровне, на официальные курсы записывать не хочет, но SAS изучить отчаянно желает.
На этом краткое знакомство считаем оконченным. А вы сталкивались когда-нибудь с языком SAS? Какие впечатления?
Освоить востребованную профессию в Data Science можно всего за полтора года на курсах GeekBrains. После учёбы вы сможете работать по специальностям Data Scientist, Data Analyst, Machine Learning, Engineer Computer Vision-специалист или NLP-специалист.
Почему SAS для интеграции и доступа к данным?
Доступ к нужным вам данным
Обеспечьте доступность данных, необходимых работникам умственного труда, поддерживая при этом несколько циклов обработки данных (в пакетном режиме, в режиме реального времени, в потоковом режиме, в базе данных и т. Д.).
Привет! Я Анна Добрыченко, преподаватель учебного центра SAS в России: провожу тренинги по программированию на SAS Base, использованию SAS Enterprise Guide и SAS Visual Analytics, участвую в подготовке стажеров. Вся техническая документация и статьи продуктов и решений SAS изложены на английском языке, а локализованного материала в Рунете недостаточно.
Поэтому в нашем блоге на Хабрахабре я расскажу об основах программирования на SAS Base в цикле статей.
Язык SAS Base представляет собой основу большинства этих продуктов и решений SAS, именно ему и будут посвящены статьи. В них я познакомлю с терминологией, типами данных, с которыми работает SAS Base, со структурой кода, написанного на SAS Base, и покажу основные приемы, которые используются при написании программ SAS.
Программный продукт
Для того, чтобы оценить степень размаха в прикладных программах, с которым придётся столкнуться желающему освоить SAS в полном объёме, можно посетить официальный раздел с перечислением пакетов заглавной IDE. Впрочем, здесь прослеживается аналогия с уже упомянутым продуктом MATLAB/Simulink, где также имеется большое количество надстроек, но по сути подавляющее большинство из них имеет строгую специализацию. Так что изначально стоит сфокусироваться лишь на 4 следующих:
SAS Visual Analytics - инструмент для визуализации ваших данных;
SAS Enterprise Miner - инструмент для машинного обучения;
Enterprise / Text Miner - пакет надстроек, аналогичный SAS Visual Analytics, но с большим упором на упрощение любых внутренних взаимодействий;
SAS ETS Module - система прогнозирования.
Если вы вдруг сейчас подумали, что возможно стоит прикупить пару из них, то вот стоп-сигнал: SAS Enterprise Miner, к примеру, обходится крупным компаниям более чем в 100 тысяч долларов. Пакет Analytics будет значительно дешевле, около 8,5 тысяч, но разве от этого легче?
Краткая справка
Впрочем, оставим дела компании и обратимся непосредственно к языку. Чтобы вы визуально представляли его внешний вид, вот небольшой отрывок кода, содержащий вывод на экран таблицу данных:
PROC PRINT DATA = models NOOBS;
WHERE Type = "Mountain";
FORMAT Price DOLLAR6.;
TITLE "Current Models of Mountain Bicycles";
RUN;
Основным конкурентом SAS является язык R, причём стоит признать, что последний имеет солидное преимущество. Во-первых, он был создан позднее, соответственно избежал многих проблем роста. Во-вторых, и это наверное главный фактор, он бесплатный, в то время как SAS требует дорогое программное обеспечение. Впрочем, давайте взглянем на преимущества и недостатки SAS в сравнении с главным конкурентом.
Простой синтаксис, быстрое обучение “с нуля”;
Отладка кода проходит значительно проще, чем на R;
Интеграция с БД (Oracle/Teradata);
Удобный формат выходных данных (особенно таблиц);
Мощная поддержка со стороны компании SAS;
Многолетний успешный опыт эксплуатации компаниями разной величины, с разными задачами и разным объёмом входных данных. В частности, России SAS используют ОАО “РЖД”, МТС, ЦБ РФ, а также ведущие банки, среди которых Сбербанк, Альфабанк, Тинькофф и многие другие.
Профессиональное использование языка предполагает покупку программного продукта;
Исходники многих исполняемых алгоритмов SAS не являются публичными, следовательно изучение работы языка сильно ограничено;
SAS значительно уступает в производительности R;
С точки зрения объёма кода SAS также зачастую сильно проигрывает (иногда в несколько раз).
При этом надо понимать, что далеко не во всех сферах SAS и R являются прямыми конкурентами. Взгляните на следующее изображение:
Из него отчётливо видно, что в Data Science SAS сильно проигрывает не только R, но и Python. Но вот в анализе данных, предполагающем дальнейшие прогнозы, SAS занимает лидирующую позицию.
Рекомендую также прочесть:
Действительно интегрированные технологии
- Примите решение для управления данными, созданное с нуля, а не сложенное из разрозненных элементов.
- Будьте уверены, что используете надежную технологию интеграции данных, готовую взять на себя ваши самые смелые инициативы.
Единая точка контроля
- Получите больше эффект от существующих источников и увеличьте свою производительность, работая из единой точки контроля.
- Централизованная веб-консоль упрощает графическое администрирование, мониторинг и обслуживание соединений и кэшей данных.
Убедитесь, что ваши данные готовы к действию
Знайте, что ваши данные подготовлены к следующему шагу с помощью инструментов аудита, которые контролируют обработку и происхождение исходных данных.
Разбираемся в интерфейсе
Немного о том, как выглядит интерфейс SAS UE.
Слева находится панель навигации, справа – рабочая область. Три основные вкладки рабочей области – «Код», «Журнал», «Результаты».
Справка по синтаксису появляется, как только вы уменьшаете список релевантных ключевых слов. Справка по синтаксису также появляется, если щелкнуть правой кнопкой мыши на ключевое слово в программе и выбрать Syntax Help (Справка по синтаксису).
Можно перейти на страницу документации по той или иной процедуре, кликнув на ссылку «Документация по продукту».
На вкладке «Выходные данные» вы можете увидеть созданные таблицы.
На вкладке «Результаты» вы можете просматривать вывод процедур, создающих отчеты.
Если какая-то часть программы используется часто, ее можно добавить во «Фрагменты кода».
Вы можете открыть справку (SAS Help) и документацию прямо из главной панели инструментов. SAS Studio Help (Справка SAS Studio) для перехода на страницу документации по SAS Studio. Эта веб-страница содержит справку по интерфейсу SAS Studio.
Если вы только начали изучать продукты SAS, то наверняка незнакомы с некоторыми особенностями терминологии, используемой в продуктах компании.
История возникновения
Для начала в сотый раз обратимся к рейтингу ресурса TIOBE, дабы отыскать в нём нашего сегодняшнего героя. SAS располагается на “предлидирующем” 21 месте, что, согласитесь, для data-языка великолепный результат. Так что давайте познакомимся с ним поближе.
Итак, Джеймс Гуднайт (James Goodnight) в 1976 году окончил Университет Северной Каролины, тут же приложил свою руку к созданию небольшой аналитической компании SAS Institute и вот уже 40 лет он ее CEO. SAS - аббревиатура от Statistical Analysis System, что полностью описывает основное направление деятельности компании.
Естественно, для того, чтобы эффективно обрабатывать большие потоки информации потребовался не только качественный программный продукт, но и соответствующий язык. И им стал SAS. Изначально это был довольно примитивный набор шаблонных запросов для группировки данных, но со временем SAS стал полноценным и достаточно популярным языком программирования.
В общем-то с этого момента можно было бы смело вести историю языка, программного обеспечения и всей компании, как единого целого, но в 2002 году объявился идеологический конкурент - World Programming System (WPS), который в своей деятельности не просто стал использовать язык SAS, но и разработал для него собственный компилятор и IDE.
Разумеется, вскоре началась судебная тяжба, которая в итоге создала интересный прецедент для всего IT-сообщества: WPS выиграл суд, доказав, что авторское право не нарушается, если используется синтаксис и функциональность языка, но не используются исходные коды. Таким образом, язык SAS отчасти избежал участи MATLAB, сорвав ярлык “вещи в себе”.
Кстати, сегодня SAS Institute - не просто преуспевающая компания с оборотом в несколько миллиардов долларов в год, но и одно из наиболее привлекательных мест для работы. Так, в 2013 году SAS заняла второе место в рейтинге “привлекательности” компаний США, пропустив вперёд лишь Google.
Обучение
Впрочем, это не означает, что постигнуть азы SAS невозможно. Компания активно продвигает свой продукт среди студентов, причём абсолютно бесплатно. Достаточно мощную пробную версию SAS University Edition можно скачать перейдя по ссылке.
Также на официальном сайте у вас есть возможность записаться на экспресс-курсы по изучению языка (причём на русском языке). Рекомендуемая длительность обучения в каждом разделе составляет 3 дня, требования и программу можно посмотреть прямо рядом с торжественной кнопкой записи.
В общем, было бы желание.
Как SAS обеспечивает Data Integration & Access
Правильное решение для интеграции данных поможет вам разобраться в хранилищах данных и решить проблемы с данными, а также даст вам представление о будущем.
Доверенные данные для всех
- Быстрый и легкий доступ к нужным вам данным, независимо от того, где они находятся.
Читайте также: