Не лицензированное программное sas

Обновлено: 06.07.2024

SAS разрабатывался в Государственном университете Северной Каролины с 1966 по 1976 год, когда был включен институт SAS. SAS получила дальнейшее развитие в 1980-х и 1990-х годах с добавлением новых статистических процедур, дополнительных компонентов и введения JMP . Интерфейс "укажи и щелкни" был добавлен в версию 9 в 2004 году. Продукт для анализа социальных сетей был добавлен в 2010 году.

СОДЕРЖАНИЕ

Технический обзор и терминология

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

В программах SAS есть шаги DATA, которые извлекают и обрабатывают данные, и шаги PROC, которые анализируют данные. Каждый шаг состоит из серии утверждений.

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

Шаг PROC состоит из операторов PROC, которые вызывают именованные процедуры. Процедуры выполняют анализ и составление отчетов по наборам данных для создания статистики, анализа и графиков. Существует более 300 названных процедур, каждая из которых содержит значительный объем программной и статистической работы. Операторы PROC также могут отображать результаты, сортировать данные или выполнять другие операции.

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

Данные SAS можно публиковать в HTML, PDF, Excel, RTF и других форматах с помощью системы доставки вывода, которая была впервые представлена ​​в 2007 году. SAS Enterprise Guide - это интерфейс SAS, основанный на принципах «укажи и щелкни». Он генерирует код для управления данными или автоматического выполнения анализа и не требует опыта программирования SAS.

Программный пакет SAS состоит из более чем 200 компонентов. Некоторые из компонентов SAS включают:

  • Базовый SAS - Основные процедуры и управление данными
  • SAS / STAT - Статистический анализ
  • SAS / GRAPH - Графика и презентация
  • SAS / OR - Операционные исследования
  • SAS / ETS - Эконометрика и анализ временных рядов
  • SAS / IML - язык интерактивных матриц
  • SAS / AF - Средство приложений
  • SAS / QC - Контроль качества
  • SAS / INSIGHT - интеллектуальный анализ данных
  • SAS / PH - Анализ клинических испытаний
  • Enterprise Miner - интеллектуальный анализ данных
  • Руководство для предприятий - редактор кода на основе графического интерфейса и менеджер проектов
  • SAS EBI - набор приложений бизнес-аналитики
  • SAS Grid Manager - менеджер вычислительной среды SAS grid.

История

Происхождение

Разработка SAS началась в 1966 году после того, как Университет штата Северная Каролина повторно нанял Энтони Барра для программирования своего программного обеспечения для анализа дисперсии и регрессии, чтобы оно могло работать на компьютерах IBM System / 360 . Проект финансировался Национальным институтом здоровья . и изначально предназначалась для анализа сельскохозяйственных данных с целью повышения урожайности сельскохозяйственных культур. К Барру присоединился студент Джеймс Гуднайт , который разработал статистические процедуры программного обеспечения, и они стали руководителями проекта. В 1968 году Барр и Гуднайт интегрировали новые процедуры множественной регрессии и дисперсионного анализа . В 1972 году, после выпуска первой версии SAS, проект лишился финансирования. По словам Goodnight, это произошло потому, что NIH хотел финансировать только проекты с медицинскими приложениями. Гуднайт продолжал преподавать в университете за зарплату в 1 доллар и доступ к мэйнфреймам для использования в проекте, пока в следующем году он не был профинансирован университетскими статистиками Южных экспериментальных станций . Джон Салл присоединился к проекту в 1973 году и внес свой вклад в эконометрику программного обеспечения, временные ряды и матричную алгебру. Еще одна ранняя участница, Кэролл Г. Перкинс, внесла свой вклад в раннее программирование SAS. Джолейн В. Сервис и Джейн Т. Хелвиг создали первую документацию SAS.

Первые версии SAS были названы в честь года их выпуска. В 1971 году SAS 71 был выпущен ограниченным выпуском. Он использовался только на мэйнфреймах IBM и имел основные элементы программирования SAS, такие как этап DATA и наиболее распространенные процедуры на этапе PROC. В следующем году была выпущена полная версия SAS 72, в которой был представлен оператор MERGE и добавлены функции для обработки недостающих данных или объединения наборов данных. В 1976 году Барр, Гуднайт, Салл и Хельвиг вывели проект из штата Северная Каролина и включили его в состав SAS Institute, Inc.

Разработка

SAS был переработан в SAS 76 с открытой архитектурой , допускающей компиляторы и процедуры. Операторы INPUT и INFILE были улучшены, чтобы они могли читать большинство форматов данных, используемых мэйнфреймами IBM. Также добавлено создание отчетов с помощью операторов PUT и FILE. Также была добавлена возможность анализа общих линейных моделей и процедура FORMAT, которая позволяла разработчикам настраивать внешний вид данных. В 1979 году в SAS 79 была добавлена ​​поддержка операционной системы CMS и введена процедура DATASETS. Три года спустя SAS 82 представил ранний макроязык и процедуру APPEND.

SAS версии 4 имел ограниченные возможности, но сделал SAS более доступным. Версия 5 представила полный макроязык, индексы массивов и полноэкранный интерактивный пользовательский интерфейс под названием Display Manager. В 1985 году SAS был переписан на языке программирования Си . Это позволило реализовать архитектуру SAS Multivendor, которая позволяет программному обеспечению работать в UNIX , MS-DOS и Windows . Ранее он был написан на PL / I , Fortran и ассемблере .

В 1980-х и 1990-х годах SAS выпустила ряд компонентов в дополнение к Base SAS. SAS / GRAPH, который производит графику, был выпущен в 1980 году, как и компонент SAS / ETS, который поддерживает эконометрический анализ и анализ временных рядов. Компонент SAS / PH-Clinical, предназначенный для фармацевтических пользователей, был выпущен в 1990-х годах. В 2002 году Управление по санитарному надзору за качеством пищевых продуктов и медикаментов стандартизировало SAS / PH-Clinical для применения новых лекарственных средств. Также были представлены вертикальные продукты, такие как SAS Financial Management и SAS Human Capital Management (тогда они назывались CFO Vision и HR Vision соответственно). JMP был разработан соучредителем SAS Джоном Саллом и группой разработчиков, чтобы воспользоваться преимуществами графического пользовательского интерфейса, представленного в Apple Macintosh 1984 года и впервые выпущенного в 1989 году. Обновленные версии JMP выпускались непрерывно после 2002 г. последний выпуск - 2016 г.

SAS версии 6 использовался на протяжении 1990-х годов и был доступен в более широком диапазоне операционных систем, включая Macintosh , OS / 2 , Silicon Graphics и PRIMOS . SAS представила новые функции через точечные релизы. С 6.06 по 6.09 был представлен пользовательский интерфейс, основанный на парадигме Windows, и добавлена ​​поддержка SQL. Версия 7 представила систему доставки вывода (ODS) и улучшенный текстовый редактор. В последующих выпусках ODS были улучшены. Например, в версии 8 было добавлено больше параметров вывода. Количество поддерживаемых операционных систем было уменьшено до UNIX , Windows и z / OS , а также добавлен Linux . SAS версии 8 и SAS Enterprise Miner были выпущены в 1999 году.

Недавняя история

В 2002 году была представлена ​​программа Text Miner. Text Miner анализирует текстовые данные, такие как электронные письма, на предмет шаблонов в приложениях Business Intelligence. В 2004 году была выпущена версия SAS 9.0, получившая название «Project Mercury» и призванная сделать SAS доступным для более широкого круга бизнес-пользователей. Версия 9.0 добавила настраиваемые пользовательские интерфейсы на основе роли пользователя и установила пользовательский интерфейс «укажи и щелкни» SAS Enterprise Guide в качестве основного графического пользовательского интерфейса (GUI) программного обеспечения. Функции управления взаимоотношениями с клиентами (CRM) были улучшены в 2004 году с помощью SAS Interaction Management. В 2008 году SAS анонсировала Project Unity, предназначенный для интеграции качества данных, интеграции данных и управления основными данными.

SAS Institute Inc против World Programming Ltd - это судебный процесс с разработчиками конкурирующей реализации World Programming System , в которых утверждалось, что они частично нарушили авторские права SAS, реализовав ту же функциональность. Это дело было передано из Высокого суда Соединенного Королевства в Европейский суд 11 августа 2010 года. В мае 2012 года Европейский суд вынес решение в пользу World Programming, установив, что «функциональность компьютерной программы и язык программирования не может быть защищен авторским правом ".

Бесплатная версия была представлена ​​для студентов в 2010 году. В том же году был выпущен SAS Social Media Analytics, инструмент для мониторинга социальных сетей, анализа вовлеченности и настроений . В том же году был представлен SAS Rapid Predictive Modeler (RPM), который создает базовые аналитические модели с помощью Microsoft Excel . В JMP 9 в 2010 году был добавлен новый интерфейс для использования языка программирования R из JMP и надстройка для Excel. В следующем году в рамках партнерства с Teradata и EMC Greenplum стало доступно высокопроизводительное вычислительное устройство . В 2011 году компания выпустила Enterprise Miner 7.1. С октября 2013 года по октябрь 2014 года компания представила 27 продуктов для управления данными и обновила еще 160 продуктов. На глобальном форуме SAS 2015 года компания анонсировала несколько новых продуктов, предназначенных для различных отраслей, а также новое программное обеспечение для обучения.

Дата выхода

С 1972 года у SAS было много выпусков. Начиная с выпуска 9.3, SAS / STAT имеет собственную нумерацию выпусков.

Выпускать Дата Комментарий
72 Январь 1972 г.
76 Июль 1976 г.
79,5 Апрель 1981 г.
82,4 Январь 1983 г.
4.06 Март 1984 г.
5,03 Июль 1986 г.
6.01 Январь 1985 г. ПК DOS
6,03 Март 1988 г.
6.06 Март 1990 г.
6,07 Апрель 1991 г.
6,08 Март 1993 г.
6.09 Октябрь 1993 г.
6.10 Октябрь 1994
6,11 Октябрь 1995 г.
6,12 Ноябрь 1996
7.0 Октябрь 1998
8.0 Ноябрь 1999 г.
8.1 Июль 2000 г.
8,2 Март 2001 г.
9.0 Октябрь 2002 г.
9.1 Декабрь 2003 г.
9.1.3 Август 2004 г.
9.2 Март 2008 г. СТАТИСТИКА 9.2
9,2 м2 Апрель 2010 г. СТАТИСТИКА 9.22
9,3 Июль 2011 г. СТАТИСТИКА 9.3
9,3 м2 Август 2012 г. СТАТ 12.1
9,4 Июль 2013 СТАТУС 12.3
9,4M1 Декабрь 2013 СТАТ 13.1
9,4 м2 Август 2014 г. СТАТУС 13.2
9,4 м3 Июль 2015 г. STAT 14.1
9,4М4 Ноябрь 2016 СТАТИСТИКА 14.2
9,4М5 Сентябрь 2017 г. СТАТУС 14.3
9,4М6 Ноябрь 2018 г. STAT 15.1
9,4М7 Август 2020 г. СТАТ 15.2

Программные продукты

По состоянию на 2011 год самый большой набор продуктов SAS - это линия для сбора информации о клиентах . Многочисленные модули SAS для Интернета, социальных сетей и маркетинговой аналитики могут использоваться для профилирования клиентов и потенциальных клиентов, прогнозирования их поведения, управления и оптимизации коммуникаций. SAS также предоставляет SAS Fraud Framework. Основная функция платформы - отслеживать транзакции в различных приложениях, сетях и партнерах и использовать аналитику для выявления аномалий, указывающих на мошенничество. SAS Enterprise GRC (Governance, Risk and Compliance) обеспечивает моделирование рисков, анализ сценариев и другие функции для управления и визуализации рисков, соблюдения нормативных требований и корпоративных политик. Существует также набор продуктов SAS Enterprise Risk Management, предназначенный в первую очередь для банков и финансовых организаций.

Продукты SAS для мониторинга и управления операциями ИТ-систем вместе именуются SAS IT Management Solutions. SAS собирает данные о производительности и использовании различных ИТ-активов, а затем создает отчеты и анализирует их. Продукты SAS Performance Management объединяют и предоставляют графическое отображение ключевых показателей эффективности (KPI) на уровне сотрудников, отделов и организаций. Пакет продуктов SAS Supply Chain Intelligence предлагается для нужд цепочки поставок, таких как прогнозирование спроса на продукцию, управление распределением и запасами и оптимизация ценообразования. Существует также набор программного обеспечения «SAS for Sustainability Management» для прогнозирования экологических, социальных и экономических последствий и определения причинно-следственных связей между операциями и воздействием на окружающую среду или экосистему.

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

Бесплатное университетское издание

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

Сравнение с другими продуктами

В статье 2005 года для Journal of Marriage and Family, в которой сравниваются статистические пакеты от SAS и его конкурентов Stata и SPSS , Алан К. Акок написал, что программы SAS обеспечивают «необычайный диапазон задач анализа данных и управления данными», но их трудно использовать и учиться. Между тем, SPSS и Stata были легче для изучения (с лучшей документацией), но обладали менее способными аналитическими возможностями, хотя их можно было расширить с помощью платных (в SPSS) или бесплатных (в Stata) надстроек. Акок пришел к выводу, что SAS лучше всего подходит для опытных пользователей , в то время как случайные пользователи больше всего выиграют от SPSS и Stata. Сравнение, проведенное Калифорнийским университетом в Лос-Анджелесе , дало аналогичные результаты.

Такие конкуренты, как Revolution Analytics и Alpine Data Labs, рекламируют свои продукты как значительно более дешевые, чем у SAS. В сравнении 2011 года Дуг Хеншен из InformationWeek обнаружил, что стартовые сборы для этих трех компаний одинаковы, хотя он признал, что стартовые сборы не обязательно были лучшей основой для сравнения. Бизнес-модель SAS не так сильно зависит от начальных сборов за свои программы, вместо этого она сосредоточена на доходах от ежегодной абонентской платы.

Принятие

По данным IDC, SAS является крупнейшим держателем доли рынка «продвинутой аналитики» с 35,4% рынка по состоянию на 2013 год. Она является пятым по величине держателем доли рынка программного обеспечения для бизнес-аналитики (BI) с долей 6,9% и крупнейший независимый поставщик. На рынке бизнес- аналитики он конкурирует с такими конгломератами, как SAP BusinessObjects , IBM Cognos , SPSS Modeler , Oracle Hyperion и Microsoft Power BI . Компания SAS была включена в Квадрант лидеров Gartner для инструментов интеграции данных, а также для бизнес-аналитики и аналитических платформ. Исследование, опубликованное в 2011 году в BMC Health Services Research, показало, что SAS использовался в 42,6% анализов данных в исследованиях в сфере здравоохранения на основе выборки из 1139 статей, взятых из трех журналов.

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

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



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

Вводная

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

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

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

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


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

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

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

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

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

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


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


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


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


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





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


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

Sas7bdat и данные

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

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

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

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


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

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


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


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

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

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

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

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


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

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


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

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

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

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

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

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

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


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

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


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

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



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

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

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

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


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


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

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

В наше время популярность интернета стремительно растет. Тяжело представить организацию, которая не использует его в своих целях. В интернете можно найти всё, в том числе и программное обеспечение. Очень часто рядовые сотрудники самостоятельно устанавливают ПО на рабочие ПК, не разбираясь (а может и понимая), является оно лицензионным или нет. А потом, когда приходят проверяющие органы, этот сотрудник хлопает глазками и говорит, что это поставил ИТшник. Круто, да? Давайте попробуем в этой статье обсудить этот вопрос, разобраться с терминологией, ответственностью и что делать со всем этим.

Итак, что-же такое нелицензионное ПО?

Основание ответственности

Интеллектуальная собственность охраняется законом ( п.2 ст. 1225 ГК РФ ). Правообладатель может по своему усмотрению разрешать или запрещать другим лицам использование результата интеллектуальной деятельности. Отсутствие запрета не считается согласием (разрешением). Другие лица не могут использовать соответствующий результат интеллектуальной деятельности без согласия правообладателя. (п. 1 ст. 1229 ГК РФ).

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

Ответственность

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

Административная ответственность

Кодекс об административных правонарушениях предусматривает ответственность за продажу, сдачу в прокат или иное незаконное использование экземпляров произведений в целях получения дохода в случаях, если такие экземпляры являются контрафактными, либо на них указана ложная информация об изготовителях, местах производства, об обладателях авторских или смежных прав. Вышеуказанные действия влекут наложение штрафа с конфискацией контрафактных экземпляров произведений и «иных орудий совершения правонарушения» (ст. 7.12 Кодекса об административных нарушения от 30 декабря 2001 г. № 195-ФЗ).

Гражданско-правовая ответственность

В случаях нарушения исключительного права на произведение автор или иной правообладатель вправе требовать по своему выбору (ст. 1301 Гражданского кодекса РФ):

  • возмещения убытков (в этом случае правообладатель должен предоставить расчет причиненных убытков; как правило, суды полностью удовлетворяют требования пострадавших правообладателей);
  • выплаты компенсации, определяемой по усмотрению суда, в размере от 10 000 до 5 000 000 рублей либо в двукратном размере стоимости экземпляров произведения или в двукратном размере стоимости права использования произведения, определяемой исходя из цены, которая при сравнимых обстоятельствах обычно взимается за правомерное использование произведения. Компенсация выплачивается независимо от наличия или отсутствия убытков.

Уголовная ответственность

Уголовным кодексом РФ (УК РФ), ч. 2 ст. 146 установлена уголовная ответственность за незаконное использование объектов авторского права. Использование нелицензированного ПО подпадает под действие данной статьи. Последствиями незаконного использования объектов авторского права являются:

  • штраф в размере до 200 000 рублей или в размере заработной платы или иного дохода осужденного за период до восемнадцати месяцев;
  • обязательные работы на срок от ста восьмидесяти до двухсот сорока часов;
  • лишение свободы на срок до двух лет.

Если стоимость прав на использование ПО превышает 50 000 рублей, нарушения, предусмотренные данной статьей, признаются совершенными в крупном размере (более 250 000 рублей — в особо крупном размере) и наказываются лишением свободы на срок до шести лет со штрафом в размере до 500 000 рублей. Обязательным условием применения данной статьи УК будет являться наличие умысла, который доказывается путем направления в организацию-нарушитель.

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

Ответственность сотрудников IT-отдела

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

Статья 42. УК Исполнение приказа или распоряжения

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

Не стоит забывать о пользователях, которые могут установить программное обеспечение без ведома организации, руководителя и сотрудников IT-отдела.

Как защитить себя?

  • Должностная инструкция где подробно расписаны обязанности и ответственность;
  • Проведение инвентаризации компьютерного парка;
  • Отчёт о замеченных недостатках, методах решения, необходимых средствах;
  • Ограничение пользователей в правах (чтобы исключить самостоятельные установки ПО).
  • Продумать и реализовать формы, которые будут подписывать рядовые сотрудники, что на момент такой-то у них установлено то-то. Все что будет установлено пользователем самостоятельно, он за это будет нести ответственность. Дата, подпись.

Мы в своем решении конфигурации Управление IT-отделом 8 реализовали специальное соглашение с пользователями о запрете установки на рабочие ПК нелицензионного ПО. При ведении учета, эту печатную форму можно распечатать автоматически.


История возникновения

Для начала в сотый раз обратимся к рейтингу ресурса 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.

Краткая справка

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

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 в полном объёме, можно посетить официальный раздел с перечислением пакетов заглавной 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 тысяч, но разве от этого легче?

Обучение

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

Также на официальном сайте у вас есть возможность записаться на экспресс-курсы по изучению языка (причём на русском языке). Рекомендуемая длительность обучения в каждом разделе составляет 3 дня, требования и программу можно посмотреть прямо рядом с торжественной кнопкой записи.

В общем, было бы желание.

Работа

Откровенно говоря, получить работу конкретно SAS-специалисту в России будет очень сложно. Как правило, SAS идёт как жирный плюс. но не как основная специализация. Тем не менее, если вам удастся набраться практического опыта работы с SAS хотя бы в течение 2 лет, хотя бы базово освоить SQL, VB и прочие полезности, то вы сможете смело рассчитывать на зарплату не менее 80 тысяч рублей в месяц. Причём речь не только о столице, стоимость программного продукта SAS как бы подсказывает работодателю не экономить в поисках дешёвой рабочей силы. Но, как уже было сказано, нужную вакансию ещё придётся поискать.

Литература

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

Что касается ресурсов на русском языке, то тут, разумеется, всё значительно сложнее, но кое-что всё же есть. Помимо официального сайта, лекции Дмитрия Звежинского помогут тем, кто пока не познал английский язык на хорошем уровне, на официальные курсы записывать не хочет, но SAS изучить отчаянно желает.

На этом краткое знакомство считаем оконченным. А вы сталкивались когда-нибудь с языком SAS? Какие впечатления?

Освоить востребованную профессию в Data Science можно всего за полтора года на курсах GeekBrains. После учёбы вы сможете работать по специальностям Data Scientist, Data Analyst, Machine Learning, Engineer Computer Vision-специалист или NLP-специалист.

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