在SAS巨集程式中使用datalines出錯

2021-10-09 04:33:12 字數 900 閱讀 3260

在使用sas程式設計時,我們經常會使用下面的程式生成乙個小資料集用來做測試,非常方便。但是在巨集程式中,這種做法就不靈了,例如下面的test1巨集執行時候就會報錯,這是因為sas對巨集語言的處理優先等級更高,兩者的編譯時間不同。

data person;

input name $ dept $;

datalines;

john sales

mary acctng

;run;

%macro test1;

data person;

input name $ dept $;

datalines;

john sales

mary acctng

;run;

%mend test1;

%test1

為了避免這種錯誤,我們可以使用proc sql來代替。首先建立乙個空表,然後使用insert插入資料,具體**如下

%macro test2;

proc sql;

create table person

(name char(8

),dept char(8

));quit;

proc sql;

insert into person

values

('john'

,'sales'

)values

('mary'

,'acctng');

quit;

%mend test2;

%test2

總結:同樣的情況還存在於%if判斷語句,根據不同條件建立不同巨集變數等。這些都是巨集特殊的地方,在運用時候需要根據實際情況調整。

小程式 vscode中使用less或sass

在vscode的外掛程式裡找到easy sass並安裝 配置vscode的setting.json檔案,並加上 對easysass的配置,此段配置去掉則預設生成乙個css檔案和乙個壓縮的min.css檔案 easysass支援一次多生成幾種型別的檔案,在配置陣列裡如上多寫幾個就行了。easysass...

在 Qt 程式中使用 MPIR

上篇部落格介紹了如何編譯 mpir,這篇講講如何在程式中使用。我主要是用 c qt 開發程式,所以這裡只講如何在qt 程式中應用 mpir。我這裡以mpir gc 編譯版為例,首先建立乙個目錄 dll mpir gc vc14 win32 然後把需要的檔案都拷貝到這個目錄中,包括 裡面加入這麼幾行 ...

在C 程式中使用系統熱鍵

1.首先引入system.runtime.interopservices using system.runtime.interopservices 2.在類內部宣告兩個api函式,它們的位置和類的成員變數等同.system.runtime.interopservices.dllimport user...