2017年12月1日 星期五

SAS DMKEY

問題:快速清除log與output
解決:使用 DMKEY
ref: Shortcuts to Save Time While Working with SAS
Back Up with Each Submit and Save Your Sanity
SAS Display Manager Commands

先按F9來編輯快速鍵,可以指定 F3 為
log; clear; output; clear; wpgm; submit;

它的意思依序是,跳到log視窗-->清除log-->跳output-->清除output-->跳editor-->執行你的code

當然也可以在program裡面,直接引用,方法如下:
dm "log;clear;out;clear; wpgm; submit;" ;

也有相同做用,只是做用的機制不同。

其他用法,持續補充:

  • include "某program",但要加submit
    include "某program";submit;
  • 在program editor以語法來設定F9裡面的keys
    dm "keydef F6 'log;clear;'";
    dm "keydef 'SHF F12' 'log;cle;output;cle;wpgm;end;wpgm;cle;'";
  • 重覆執行,可以關閉 view table
    dm 'next VIEWTABLE:; end;';
  • save the log to a permanent file, overwriting if necessary
    dm 'log; file "C:\My files\log 1 &sysdate9..log" replace';

SAS HELP有一點點相關的說明:
List of SAS Windows and Window Commands

2017年11月29日 星期三

Win 7 x64 移除SAS 9.3

問題:從 控制台 > 程式和功能 按下移除 sas93 沒有任何反應

解法:
Ref: http://blog.nccu.edu.tw/blog/takeiteasy/1261

在Windows7 X64系統下:

  1. 安裝jre-6u24-windows-i586.exe,網址如下,請先申請 Oracle 帳號才能download,並記得按區塊上面的 Accept License Agreement
    http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409.html#jre-6u24-oth-JPR

  2. 編輯 C:\Program Files\SASHome\sassw.config

這是大致的位置,可直接search sassw.config 這個檔,會比較快,找到用notepad等來開啟。找到 JREHOME= 開頭的這行字,如下
JREHOME=C:\Program Files (x86)\Java\jre7\bin\java.exe
改為 JREHOME=C:\Program Files (x86)\Java\jre6\bin\java.exe
上面是指向電腦裡java jre6 的路徑

  1. 即可執行SAS Deployment manager ,進行移除SAS9.3

2017年11月21日 星期二

Sublime中文亂碼,與SAS套件

問題:有些program在sublime裡面的中文是正常的,但是有些是不正常



方法:<安裝ConvertToUTF8>
ref: https://www.jinnsblog.com/2017/03/sublime-text-package-control-big5-utf8.html
先確定已安裝「Package Control」套件,接著 Preferences-->Package Control
立馬有個浮動視窗出現,再鍵入 Install Package,稍等2秒,讓它轉換,接著再鍵 ConvertToUTF8,應該可以自動連線找到這個package。
可能我用的是 3.0 build3143,不必再裝 Codecs33 就OK了。目前的想法是,如果新的檔案要放中文字,其實也可以將,file的encoding設定成UTF-8-SIG也行,不必特別將它設成big5,詳細步驟File--Save with Encoding--UTF-8 with BOM


問題:使用 SAS programming 套件

方法:
ref: https://github.com/rpardee/sas
如上面的方式,去Install 這個SAS programming套件
它最大的好處是

  1. 有不錯的色彩配置,看起來很舒服
  2. 有內建一些語法自動完成,並且可以很方便的自己增加自動完成。
  3. 在sublime裡面去run sas,應該是 run whole program。

細部說明上面的--第2項:
第一次用弄了好久,但懂了之後就easy了,依序 Tools-->Developer-->New Snippet

就會跳出一個 XML 語法的範本可以用,但建議用以下的範本,可以比較完整寫一些說明


  • 在CDATA[]之間的部分,可以輸入你要的語法,如上圖第3列開始到第9列都是可以自定語法的地方。
    ${1:new}  這表示自動帶入後,會先跳到 這個位置,並且預設new這個字,只要按個tab,就會跳到$2的位置,再一個tab跳$3。
    如果不想預設字,可用$1   $2  ... 之類的就好,會自動跳位。 


  • 往下一點,tabTrigger 的 tag之間,是要呼叫自定語法時,需要輸入的字,例如sql join,msort_m,這裡注意它是case sensitive的,用小寫之後呼叫就是用小寫。


  • scope的tag之間,用   source.sas  指定這自定語法限定於  sas 檔使用。
  • description的tag之間,可以放一些必要的說明,這個說明個人覺得不要太長,足夠辨視就好,如下圖,
    若有需要在這個snippet 裡面多寫點,可用




問題:project 開啟速度變慢,左方側邊欄出現的東西太多
方案:加入user level的排除條件
Preferences > Settings,會跳出2個視窗
一個是在 Default下面的,它是default level,無法編輯,但可以拿來參考,請找file_exclude_patterns,並把它複製到另一邊User最後一個大括號之前,然後再參考原本的內容,加上要排除的副檔名。
記得格式要對,然後,因為第1次用,對 user 那邊來說,是加一個新單元"file_exclude_patterns",要注意在它前面加個逗號,用來與前個單元分開。
如果有在 user level 加某單元,它會取代default level的設定。