Как обновить вид файла

В Enterprise Guide 4.2 есть ли способ обновить представление файла, не удаляя его из Process Flow, а затем снова открывая его?

Мой Google-фу не смог дать ответ (так или иначе), и мой администратор SAS сказал, что не знает пути (но дал ему знать, если я найду один).

Окончательное "нет" (из документации) или "да" с примером будет высоко ценится.


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

2 ответа

Из вашего последнего комментария на ваш вопрос кажется, что вы запускаете неинтерактивную программу SAS на сервере (из сеанса PuTTY) и просматриваете файл журнала с помощью своего клиента EG, это правильно? Если это так, есть гораздо более простые способы просмотра файла журнала.

Когда вы упоминаете PuTTY, я предполагаю, что ваш сервер - UNIX. Если это так, используйте tail команда с -f вариант. Например, если ваша программа SAS называется "myprog.sas", она создаст файл журнала с именем "myprog.log", поэтому попробуйте эту команду в командной строке UNIX:

tail -f myprog.log

-f опция означает продолжить запись вывода в окно терминала, так как строки записываются в журнал. Если вам надоест смотреть (или вы видите сообщение SAS "конец работы"), введите букву "q", чтобы выйти.

EG - это приложение, которое вы используете для фактического выполнения вашей программы SAS. Запуск вещей из командной строки UNIX выходит за рамки дизайна (и вы теряете все эти классные функции EG), а также упускаете все функции сайта, которые были настроены для вас в среде метаданных.

Если я совершенно не в себе, уточните ваш вопрос.

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

Простая идея заключается в использовании общего шага DATA для:

  1. Доступ к файлу
  2. Читать построчно
  3. Фильтрация данных по содержанию, позиции, номеру строки и т. Д.
  4. Распечатайте данные в журнал SAS, чтобы вы могли увидеть их там

Вот простой пример, чтобы начать работу:

  • Сначала я создаю файл для теста. У вас уже есть!, так что используйте свой.

    /* create a test file */
    data _null_;
      file '/folders/myshortcuts/test/file'; /* Note I'm using fullpath */
      put "The begining, :)";
      put "line 2 in my file is shy and likes to hide.";
      put "line 3, all good so far.";
      put "line 4 in my file is to remain private.";
      put "Finally the last line in my file!";
    run;
    
  • Тогда вот код для чтения своих данных

    data _null_;
      /*--------
        references which input file will be read
        setting variable 'theEnd'=1 when 
        reaches end-of-file 
        Note I'm using fullpath
        --------*/
      infile '/folders/myshortcuts/test/file' end=theEnd;
    
      /*--------
         reads one line at a time from input file 
         storing it in variable _infile_
        --------*/
      input;
    
      /*--------
        contents of file will be writen in the log, to keep it readable,
        mark where the contents of the file will follow
        --------*/
      if _n_=1 then
        put "-----start file ----";
    
      /*--------
        filter out shy, private or unwanted data
        --------*/
      if _n_ ne 4;  /* continue only if row number is not 4 */
      if indexw(_infile_,"shy") le 0; /* continue only if data does not contains 'shy' */
    
      /*--------
        write the data you want, complete line read in this case
        --------*/
      put _N_= "->" _infile_;
    
      /*--------
        mark where the data in the file has ended
        --------*/
      if theEnd then put "-----end file ----";
    run;
    
  • Ваш журнал SAS будет выглядеть так:

     NOTE: The infile '/folders/myshortcuts/test/file' is:
           Filename=/folders/myshortcuts/test/file,
           Owner Name=sasdemo,Group Name=sas,
           Access Permission=-rw-rw-r--,
           Last Modified=11Jan2017:22:42:56,
           File Size (bytes)=160
    
     -----start file ----
     _N_=1 ->The begining, :)
     _N_=3 ->line 3, all good so far.
     _N_=5 ->Finally the last line in my file!
     -----end file ----
    
     NOTE: 5 records were read from the infile '/folders/myshortcuts/test/file'.
           The minimum record length was 16.
           The maximum record length was 43.
     NOTE: DATA statement used (Total process time):
           real time           0.02 seconds
           cpu time            0.03 seconds
    
Другие вопросы по тегам