Работа с командной строкой CMD PROMPT через SAS


Всем привет!
Данная небольшая статья о работе с командной строкой (COMMAND PROMPT) в SAS и запуском внешних программ.


Работа с prompt осуществленная несколькими способами. В качестве примера используется команда копированияпереименование файла:
1.       Через синтаксис X:
x ‘copy input.txt input_x.txt’;

2.       Через макро вызов:
%sysexec(copy input.txt input_sysexec.txt);

3.       Через синтаксис в DATA STEP:
data _null_;
                call system(‘copy input.txt input_system.txt’);
run;
Также есть возможность синтаксиса через вызов SYSTASK, но я никогда им не пользовался. На мой взгляд, этот способ является расширенным, по сравнению с первыми 3. Возможно, в будущих статьях будет затронут этот метод.

В SAS путь по умолчанию SASconfigLev1SASApp для среды Windows. Для того чтобы изменить этот путь можно выполнить команду CD. Правда в случае с %sysexec команда отработана не будет. Пример синтаксиса:

data _null_;
                call system(‘cd c:’);
run;

или

x ‘cd c:’;

Запуск команд может быть двух типов: синхронный и асинхронный.
  • В первом случае запущенная команда должна быть завершена до начала следующей задачи. Синтаксис: options XSYNC
  • Во втором случае команда выполняется независимо от других задач, которые в настоящее время работают. Синтаксис: options NOXSYNC. Данная опция может быть полезна, если требуется запустить какой-то сторонний процесс и продолжить работу. Например, запустить Microsoft Excel.
Существует опция, которая также заставляет пользователя напечатать EXIT, чтобы вернуться к своей текущей сессии SAS в случае запуска команды. Синтаксис: options XWAIT / NOXWAIT.

В случае если возникла ошибка с запуском CMD команд в SAS Enterprise Guide, то вам сюда.

На этом всё и до скорых встреч!

Отображение области на Google картах.

Всем привет.

Сегодня рассмотрим пример, как можно отображать Ваши данные на областях, нанесенных на Google maps.

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

Много писать особо не хочется, поэтому перейдем сразу к примеру:

Выглядит конечный результат как-то так:

Также рекомендую кликнуть на ссылку, которая отобразит полностью результат. Можно воспользоваться всеми функциями google maps, такими как zoom, спутник.

В данном примере можно кликать на области и видеть такие данные, как площадь района, популяция (взята из wiki)

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

P.S. Источник данного урока можно найти здесь.

С уважением,
Тимаков Николай.

Возможности автоматизированной работы с Google Analytics

Данная статья прольёт свет в вопросе возможности автоматизированной интеграции SAS с системой Google Analytics.

Что такое Google Analytics? Для меня это в первую очередь система сбора статистики по Web-сайту, приложениям AppStore и GooglePlay. Я подозреваю, что многие из вас знакомы с данной системой, и особо останавливаться на том не буду. Данная система – лишь одна из немногих, которая сегодня предоставляет сервис Google. По этой причине, чтобы пользоваться этими благами требуется создать себе или одолжить аккаунт в Google.
В своё время, поискав возможные пути решения задачи по автоматизации сбора статистики из Google Analytics, решил сначала пойти по наилегчайшему пути, как мне тогда казалось. Мне попалась на глаза Web страница, которая называется When Google Analytics Meets SAS.
Интересная статья была написана в 2011 году по поводу того, как можно работать с Google Analytics через SAS. Правда стоит отметить, что Google не стоит на месте, и по этой причине статья достаточно сильно устарела. Единственное, что могу сказать, практика интеграции (которые описаны в статье) является отличным опытом, которым можно воспользоваться и в других случаях.
Пройдусь по методам, описанным в статье:
1.       Метод ClientLogin+ HTTP Protocol
Данный подход подразумевается использовать программирование в SASвместе с использованием сторонней внешней программой SSL соединения CURL.
Удобство данного метода манит тем, что код уже написан и, вроде как, требуется лишь установить и правильно настроить CURL.
Действительно, данный метод позволяет пройти первичную авторизацию Google через ClientLogin. И это, пожалуй, всё, что может предложить данный метод, так как с полученной авторизацией выполнить какой-либо запрос в другой Google API более не возможно.
Всё дело в том, Google с 2007 года, а именно тогда была написана статья по использованию данного метода, выпустила ряд новых API, а старые либо отменила, либо скоро отменит.
2.       Метод с использованием Web портала от Google.
Данный метод действительно самый простой, так как Google Analytics API позволяет выгружать любые данные в файл. С другой стороны это и самый не надёжный способ с точки зрения автоматизации. Другими словами, нужен человек, который на регулярной основе будет скачивать эти отчёты, обрабатывать и создавать на их основе свои. Для автоматизации этот метод не подходит.
3.       Метод с использованием Google Oauth авторизацией через Python
В этом пункте вместо языка Python мог оказаться любой другой язык программирования на выбор: Java, .NET, Ruby, PHP, Javascript. Все эти языки официально поддерживаются и подробно описаны на сайте для Google разработки.
Наверно можно написать Java код в SAS PROC GROOVY, но, к моему сожалению, я не очень силён в Java. Как мне показалось, мне проще разобраться в языке Python и использовать его возможности, нежели возиться с Java или любыми другими языками.
Метод, который был предложен в статье, немного устарел, но всё ещё может быть полностью использован в качестве работы с Google Analytics. Более того, если будет понятно как использовать Oauth, то можно без особых проблем использовать и более новый способ. В моём случае был использован самый последний — Oauth2.
Далее, опишу подробней что необходимо, для того чтобы была возможна интеграция через Python. Я полагаю, что эти настройки универсальны и для других языков.
1. Для формирования статистики Google Analytics для Web сервера, приложения AppStoreили Google Play предварительно необходимо получить уникальные идентификаторы с сайта разработки:
·         CLIENT_ID
·         CLIENT_SECRET
·         REDIRECT_URIS.
2. Для успешного соединения с сервером требуется создать файл client_secrets.json со следующей структурой:
{
  «installed»: {
    «client_id»:»XXX.apps.googleusercontent.com»,
    «client_secret»: «XXX»,
    «redirect_uris»: [«XXX»],
    «auth_uri»: «https://accounts.google.com/o/oauth2/auth»,
    «token_uri»: «https://accounts.google.com/o/oauth2/token»
  }
}
3. Установка клиентов:

3.1. Python 2.7

Необходимо скачать под соответствующую операционную систему установочный файл:
После установки необходимо указать в системной переменной PATH путь к python.exe. Например, C:PYTHON27.

3.2. Google APP Engine

Необходимо скачать дистрибутив для PYTHON:
3.3. Библиотеки Google API для Python
Данные библиотеки можно как скачать напрямую по ссылке, так и установить, используя утилиту easy_install.
Инструкция к установке: https://pypi.python.org/pypi/setuptools
Далее в командной строке или через интерфейс Python необходимо запустить следующую строку:
easy_install -upgrade google-api-python-client
Подробное руководство по разработке можно найти на сайте:

Не стоит пугаться изучать другие языки программирования. Это полезно как для головы, так и для будущих карьерных возможностей. К тому же я уверен, что в случае с Google Analytics  достаточно внимательно изучить предоставленные примеры от Google, чтобы можно было по образу и подобию написать свой код, который будет выполнять поставленные задачи.
Далее, когда вы получите файл со статистикой из Google Analytics, я надеюсь, что проблем с обработкой этого файла не возникнет.
Появились вопросы? Задавайте. Буду рад на них ответить!