2019年7月9日 星期二

SAS MACRO 初步檢查文字變數內是否有亂碼

%macro Garbled(DS=,VAR=,VARn=); /*=================================================================== 作者:JIMMY 最後修改:20190712 DS:輸入要檢查的DATASET VAR:輸入該DATASET 內要檢查的所有文字變數 | 分隔 如: X | Y VARn:輸入了多少個VAR 此程式會對DS的VAR進行COMPRESSKEEP英文與數字,然後與COMPRESSKEEP前的DS比對,如壓縮前後不一樣則存到WORK.VAR(變數名稱) ===================================================================*/ %do...
Read More

2019年7月8日 星期一

SAS DATASET 透過 ODS 產生EXCEL

ods _all_ close; ods excel file="E:\jimmy\excel.xlsx" options (sheet_name="sheet1") STYLE= HTMLBLUE ; proc print data=MST_PREP.ACCOUNT_TRANSACTIONS; run; ods excel options(sheet_name="sheet2"); proc print data=MST_PREP.ACCOUNT_TRANSACTIONS; run; ods excel close; 紅框處視需求改寫成MACRO變數,就可以自動OUTPUT了。 STYLE=...
Read More

2019年4月9日 星期二

偵測多個SAS LOG狀態

前半段MACRO來源:识别文件夹下指定文件类型及名称 將所有偵測LOG後的結果存入DB, 目前設定: 一、執行它時,[SAS_JOB_log]會先清空,會抓 "F:\SASWork\SAS\Config\Lev1\SASApp\BatchServer\Logs\DB_LOG\"下的LOG檔名稱包含"AGP.%" "C2C.%" "L2C.%" "LCK.%" '%VA_Report%'  '%WATCH%'的LOG,會先抓取今天日期的LOG,如果沒抓到就會抓前一天的LOG,最多到前天。 二、那些LOG要寫入DB 會先判斷ERROR_n1, ERROR_n2, ERROR_n2。 n1:該行出現...
Read More

2019年1月12日 星期六

比較兩個 SAS DATA 變數的屬性 MACRO

先將兩個SAS DATA的屬性output到sit_var與uat_var,把欄位屬性變成觀測值。 如下: data DB1_DS1; length y $ 13.; input x y z; format x ddmmyy.; datalines; 1 1 1 ; run; data DB2_DS1; length y $ 26.; input x y z; format x date9.; datalines; 1 1 1 ; run; ods trace on / listing;  proc contents data=DB1_DS1; ods output...
Read More

2018年12月20日 星期四

ERROR: Unable to transcode data to/from UCS-2 encoding.

可試試此MACRO(連結) 或使用KCOUNT() 找中文 檢查長度夠不夠 以下舊文 append失敗時,可能為以下情況: 1.非NULL欄位,觀測值為NULL。 2.文字欄位長度不夠,產生亂碼。     (數值欄位也有可能,SAS大多為8,但如append到SQL DB就須注意) 3.亂碼。 不過可以先去檢查程式碼內是否有使用  TEST_VAR =  "內有中文" ,之類的引號內有中文, 要將編碼改成 UTF-8,下圖方式即可修改編碼: 將程式碼另存選擇編碼覆蓋即可! 可使用KCOUNT() 找中文 如是資料原本身就給出亂碼的話, 可試試此MACRO(連結) 以下MACRO為一筆一筆的APPEND,看哪幾筆資料會發生ERROR,再去檢查。 ...
Read More

2018年12月14日 星期五

SOURCE_CHECK_2

SAS AML 的 SOURCE_CHECK 已經有資料筆數、NULL、UNIQUE與LOOKUP的檢核了 SOURCE_CHECK_2 檢核觀測值的MACRO。 範例: data DB_A; input Pty $ score  number; datalines; A 100 1 B  90 2 C  80 4 C .  . D  50 5 F  72 6 G . . ; run; data DB_B; input Pty $ score number; datalines; A 100 1 B 90 2 C 82 4 D...
Read More

2018年10月26日 星期五

SAS Macro Meta-Analysis 統合分析

%meta_rr %meta_or %meta_rd %my_meta_norm %ForestMacro  %PubBias %macro pseudo_rsq(log_lh=, log_lh_i=, k=, obs=); proc iml; value = 1-((&log_lh.)/&log_lh_i.); /* cox_snell_rsq = 1 - (&log_lh_i./&log_lh.)##(2/&obs.);*/ title "McFadden's R-Squared"; print value; title; quit; %mend; %macro rsq(data = , p=); %let open_d = %sysfunc (open(&data.)); %let obs...
Read More

2017年10月27日 星期五

2017年7月4日 星期二

sas macro logistic regression real adaboost

data comb_data; length comb_x $ 100; input comb_x $ @@; /*輸入所有x變數名稱,方便隨機抽取,放入不同模型裡*/ datalines; area da hfs i0 pa500 ; run; %macro logistic_real_adabost(data = , y = ,         y_testing=, x =  , ab = , training_obs=, ...
Read More

2017年3月9日 星期四

2016年10月5日 星期三

統計學習(statistical learning)

作業一(線性迴歸 複習) =============================================== Model Selection - R square - adjusted r squared - AIC SBC 書名:医学研究中的logistic回归分析及SAS实现和医学案例统计 - CP 書名:introduction to linear regression analysis 書名:introduction to linear regression analysis  ...
Read More