2016-10-11 10 views
0

Может кто-то пожалуйста, объясните, что такое заявление, какSAS: Что такое fileref, ссылаясь на ссылку DDE?

filename fileref dde 'excel|system'; 

делает в SAS?

Согласно Microsoft, динамического обмена данными (DDE)

отправляет сообщения между приложениями, которые разделяют данные и использует общие память для обмена данными между приложениями.

Это делает DDE звуком как своего рода поток ввода-вывода.

Тем не менее, DDE Syntax within SAS требует fileref внутри FILENAME заявление, где

fileref является действительным fileref (как описано в разделе ссылок на внешние Files).

Referencing External Files затем переходит к определим fileref в

fileref это логическое имя связано с внешним файлом.

Какой внешний файл?

Мое наивное понимание заключается в том, что он открывает какой-то канал связи между Excel и SAS, поэтому я хочу назвать его потоком. Это имеет последствия, такие как приведенный выше оператор должен быть объявлен после Excel был открыт.

+1

Я уверен, что вы столкнулись с этим, но DDE больше не рекомендуется. ODS Excel от SAS 9.4 довольно приличный и доступный с точки зрения функциональности. – Reeza

+0

Я ищу точность скальпеля при импорте данных. Я хочу получить полный контроль над тем, что я приношу и как это происходит. Хотя прошло какое-то время, так как я сделал «обзор литературы», я обнаружил, что PROC IMPORT и LIBNAME просто не обеспечивают такого контроля; все должно быть очищено после импорта. Быстрый взгляд говорит мне, что ODS Excel предназначен только для экспорта. Я ошибаюсь и, независимо от того, может ли он предоставить мне максимальную точность DDE? –

+1

Если вам нужна точность скальпеля, не используйте Excel. – Joe

ответ

1

Насколько я знаю, в DDE нет физического файла. Скорее, как вы заметили, это поток. SAS и C довольно похожи в этом смысле; файлы на самом деле больше похожи на устройства. Существует множество других подобных примеров - например, устройство pipe, которое позволяет вам взаимодействовать с системной консолью, как если бы это был файл.

Что действительно происходит, насколько я могу судить, что SAS пишет таблицу глобального атома, обсуждаемую Microsoft here. Это приводит к тому, что сообщение будет транслироваться, что Excel будет читать и реагировать.

+0

SAS может рассматривать его как поток, но протокол DDE не является потоком - он работает в общей памяти и позволяет осуществлять произвольный доступ. – david25272