2016-12-01 2 views
0

У меня установлен SAS на Unix (не на ПК), и я хочу создать шаблон excel, загрузить его в Unix и позволить SAS записывать значения в конкретные и предварительно отформатированные диапазоны/клетки. Как я могу это сделать?Как написать результат Unix Sas в определенном диапазоне в Excel

Я не думаю, что DDE (динамический обмен данными) или движок Excel будет работать, потому что эти два метода не могут связывать локальные приложения ПК (Excel.exe). Но тогда экспорт ODS и proc не может реально контролировать, к какой ячейке SAS следует экспортировать выходы. Есть ли какие-либо решения этой проблемы?

Заранее благодарен!

+0

Я думаю, что libname XLSX работает в Unix и последней версии SAS. Но не уверен, поддержит ли он работу с шаблоном или конкретным диапазоном. – Reeza

ответ

1

Как я мог бы сделать это, если бы я отправился с шаблоном, который я бы не хотел, если бы мог его избежать, - это прочитать шаблон в SAS как набор данных. Когда это набор данных, вы можете заполнить ячейки по мере необходимости (через SAS merge/update/whatever), а затем экспортировать заполненный шаблон. Затем вы использовали бы VBA или аналогичный в Windows-land, чтобы получить какое-либо форматирование.

Лучше, однако, использовать ODS EXCEL и делать там форматирование.

+0

Спасибо за ответ – vivi11130704

2

Если бы я был вами, я бы написал ваш код SAS в виде хранимой процедуры, которая выводит ваши данные в формате с разделителями табуляции в файл _webout fileref, а затем вызывается как веб-запрос из Excel с помощью VBA. У вас будет намного лучший контроль над тем, что заполняется в рабочей книге, и никаких проблем с совместимостью unix. Вы можете увидеть руководство по этому подходу here.

+0

Спасибо за предложение – vivi11130704