Лекция 5. Программирование на языке SAS. шаг PROC_ ODS (1185378), страница 2
Текст из файла (страница 2)
корреляции Пирсона, ранговой корреляции Спирмена иКендалла и другие в том числе для частной корреляции– Строит графики разброса и гистограммы•Синтаксис:PROC CORR <options> ;BY variables ;FREQ variable ;ID variables ;PARTIAL variables ;VAR variables ;WEIGHT variable ;WITH variables ;• BY, FREQ, WEIGHT, ID, VAR – как в остальных процедурах• WITH – задает список переменных, с которыми проверять корреляциюпеременных из списка VAR– Если не указан, то берутся все комбинации из списка VAR• PARTIAL – список управляющих переменных для частных корреляций– По сути оцениваются корреляции остатков от регрессионных моделей,прогнозирующих значение VAR переменных от PARTIAL переменных21Графики и вывод результатов в PROC CORR• В настройке outX можно указать выходные наборы данных длякаждого типа коэф.
корреляции отдельно• Строятся графики разброса c с элипсоидом рассеивания (если нетраздела with, то можно строить график типа матрицы сгистограммами на диагонали)22SAS ODS (Output Delivery System)• Преобразует вывод шагов данных и процедур в документы• Позволяет:– Открывать и закрывать целевые документы разного типа, чтобыперенаправлять вывод результатов в разные файлы с разных шагов– Управлять визуализацией (стили, форматы, цвета, параметрыстраницы и т.д.)– Фильтровать вывод результатов– Получать доступ к результатам вывода как к наборам данных SAS– Работать с несколькими целевыми документами одновременно• Целевые типы:–––––Текстовый журнал (listing)Представления c разметкой (HTML, XML, RTF и другие варианты)«Принтеры» (PDF, PostScript и др.)Наборы данных SASДокументы• В общем виде формат:23Отличия шага данных и шагапроцедур при работе с ODS• Вывод результатов процедур всегда идет в ODS. Целевые документыможно переключать:• Вывод шага данных по умолчанию идет через оператор FILE, но егоможно переключить:– указав ключевые слова ODS в операторах FILE (variables = <списоквыводимых переменных с форматами в скобках>) и в PUT (указать_ODS_)– Можно указывать номер столбца в таблице с результатами через @n24Объекты ODS• Все элементы выходных результатов (картинки, таблицы и ячейкиэтих таблиц) представлены иерархией объектов, именуемых поуровням, через точку:ObjectLvl1.ObjectLvl2.ObjectLvl3• Несколько одноуровневых одноименных объектов именуютсячерез номер (часто формируются при группировках By):ObjectLvl1.ObjectLvl2.ObjectLvl3#1ObjectLvl1.ObjectLvl2.ObjectLvl3#5• Именование объектов зависит от процедуры или шага данных,которые их создают.
Откуда их узнать:– Из мануалов соотвествующих процедур– Или «подсмотреть» через ODS TRACE в журнале:25Фильтрация ODS объектов черезODS SELECT и ODS EXCLUDE• Можно указать ODS SELECT или ODS EXCLUDE и имена объектов дляфильтрации– Пример без фильтрации выдаст столько таблиц, сколькопроизводителей– А с фильтацией, толькоодну таблицу для 7 попорядку производителя:– Mожно указывать ODS SELECT/EXCLUDE ALL/NONE/<список объектов>26Разбиение вывода на разные документы спомощью опиции NEWFILE• Автоматически можно перенаправить вывод в разные документы спомощью опции ODS NEWFILE=– для каждого шага, если указать опцию NEWFILE=PROC– для BY групп, если указать опцию NEWFILE=BYGROUP– для отдельных элементов отчета, если указать NEWFILE=TABLE илиNEWFILE=PAGE и т.д.– Во всех случаях будут созданы файлы с именем Имя№.27Разбиение вывода на разные документы спомощью фильтров на объекты• Можно задать отдельные условия на ODS объекты ивыводить их в разные документы:– Указать в ODS уникальный идентификатор для вывода и связать его сименем целевого документа– Связать этот идентификатор с фильтром по объектам с помощью SELECTили EXCLUED28Сохранение объектов в документах и Replay•С помощью опции ODS Document можно временно сохранять отдельныеобъекты вывода или весь вывод с целью дальнейшего построения сложногокомплексного отчета из отдельных элементов, полученных на разных шагах впорядке, отличном от порядка выполнения шагов:•Для формирования отчета нужно применить процедуру proc document cопцией replay:29Управление выводом в набор данных• Зная имя объекта ODS его можно записать в наборданных с помощью ODS OUTPUT и дальшеобрабатывать шагом данных или процедурами:• В конце указать OUTPUT CLOSE• Если транспонировать (для удобства)и распечатать набор30Стили ODS• Стили ODS определяют визуальное представление выводимойинформации и задаются через опцию:– ODS Style=имя, например:– можно задавать в некоторых процедурах(Print, Tabulate и других), например:– создаются с помощью процедуры proc template (рассмотрим позже)31Кастомизация стилей и таблиц и других ODSобъектов с помощью PROC TEMPLATE• В общем случае PROC TEMPLATE может использоваться дляопределения формы и параметров визуализции настроек:– Стилей, таблиц, колонок, заголовков, графиков• Возможности PROC TEMPLATE:– Редактировние существующих шаблонов и связей шаблонов– Поиск и управление шаблонами– Просмотр исходного кода шаблонов• Можно создавать свои стили, в том числе на базе существующих,редактируя:– Цвета и шрифты заголовков и отдельных элементов текста– Аналогично можно задавать стили и параметры визуализации для ужесуществующих объектов ODS, например, таблиц с результатами32Пример кастомизации стилей с помощью PROCTEMPLATEБыло:Стало:33Пример кастомизации табличного вывода PROCFREQ с помощью PROC TEMPLATE• Установления стиля ячейки (цвета шрифта) в зависимостиот ее значения34Управление выводом• Прямо внутри SAS программы можно управлять формой вывода– определяя элементы отчета, такие как title, footnote, papersize и другие, например:• В HTML выводе можно также:– Использовать внешние CSS стили, и задавать стандартные HTML атрибутыдокумента, включать изображения и задавать ссылки на элементы отчета– А также вставлять HTML фрагменты прямо в отчетс помощью esc последовательностейи функции raw:35Управление выводом в XML• Один из наиболее удобных форматов для обмена данными свнешними системами• Создается с помощью ODS XML• По умолчанию использует упрощенный формат XHTML, где таблицыхранятся по колонкам и каждая запись имеет простую структуру вида• Может сохранять вывод в формат DocBook и подключать внешниеXML схемы и файлы с правилами преобразования XLST• XML файлы могут напрямую читаться как SAS наборы данных суказанием специального типа библиотеки:libname myxml xml '~/out.xml';36.