SAS零散知識總結

2022-08-13 16:15:15 字數 2457 閱讀 6516

1,變數名命名規範:以字母或者下劃線開始,可包含字母、下劃線、數字,且不超過32個字元;

2,infile用於讀取外部資料檔案,一般於filename(和libname使用者一致,但路徑要精確到檔名(、、.txt/dat等))連用。

3,input語句用於定義字段變數,可用於讀去外部檔案(infile)、cards、datalines。

4,變數型別轉換規則:①賦值:以賦值目標的變數型別而定自動轉化;②做運算→數值型;③做字元連線→字元型;④經過了字元處理函式→字元型;

5,字元和數值型變數在資料集中的顯示:①字元型→右對齊→缺失為空格;②數值性→左對齊→缺失為「.」;

6,在data步中一般情況下出現的字元都會預設為乙個變數,若想寫字元型常量則要用「」、『』括起來。(若字元常量本身還有「」則用『』括起來,相反則用「」括起來。)

7,日期型常量包括:日期(date)、時間(time)、日期時間(datetime)3種。這三個型別的常量必須用引號括起來並且後面加常量對應的字母d、t、dt,表示日期、時間、日期時間。

8,注意:十六進製制數常量必須用單引號括起來,後面加字元x。

9,篩選語句if和where,where是在編譯階段執行,即程式執行之前就先篩選,大大提高程式效率。if語句在執行階段執行,可用於新建變數的篩選。(一般情況下能用where則用where,缺點是:where語句對變數型別的相容性較低,嚴格控制「=」兩邊的資料型別相同,若多個where語句出現只認最後乙個where語句),驗證程式如下:

data a;

input id x $;

cards;1r

2t4o

5p;run;

proc print data=a;

where id=1

;where x="p"

;var id x;

run;

輸出結果為:

sas 系統

obsidx4

5p10,格式修飾符:①:,例如:$20.從非空格開始讀,知道遇到空格、溢位、資料結束為止。②&,例如&:$20資料中還有乙個或者乙個以上的空格,直到遇到連續兩個或兩個以上的連續空格、或者溢位為止。③~,l例如~&:$20.資料中含有引號或者分隔符號的資料。

11,指標控制:①@n:指從第n列位置開始(包含空格);②n1-n2:讀第n1列到第n2列之間的資料;③@,指標停在當前位置,知道遇見下乙個input;④@@,反覆寫進「@@」前面的變數中(在外部檔案的一行資料要攜程sas資料集的多行時使用)。驗證如下;

data a;

input id x $ @@;

cards;

1 r 2 t

4 o 5 p

;run;

data a;

input id x $ @@;

cards;

1 r

2 t4 o

5 p;

run;

以上兩段**輸出的結果一樣都是四條觀測;

12,input語句:定義變數並讀入資料到資料集(資料流→資料集),put語句定義要從資料集中讀出資料變數(資料集→資料流);

13,informat:以什麼格式輸入,format:以什麼格式輸出。(例如:informat sy_dt mmddyy10.;意為告訴sas這是乙個日期時間型的資料,請存為日期時間型資料。)

14,options,用來改變sas系統的預設設定,程式可以檢視所有選項:

proc oprions;

run;

obs:表示需要處理的最後一行observation,如果指定其為max,就表示處理到最後一條observation

firstobs:表示需要從第幾行observation開始處理,預設是1observation

msglevel:預設值是n,僅列印notes,warnings和error資訊,如果設為i,則除了列印n選項的資訊,同時列印附屬資訊,包括索引的使用,合併處理,排序等附加資訊

errors:指定最多有多少錯誤可以在log中顯示(也可以寫成error=num,編譯時按errors處理)

macrogen:將巨集擴充套件的結果顯示在log裡

compress:是否採用壓縮格式儲存資料集

missing:指定用於替換missing value的字元,預設是(.)

ps(pagesize):輸出時每頁行數

ls(linesize):輸出時每行字數

center/nocenter:指定輸出是否中間對齊

date/nodate:指定輸出是否包含日期

replace/noreplace:如果dataset已經存在,指定是否覆蓋

print/noprint:指定是否在output視窗輸出

date:輸出頁碼顯示日期      nodate:輸出頁碼不顯示日期

center:輸出頁居中     nocenter:輸出頁不居中

number:有頁碼    nonumber:無頁碼

mprint 列印巨集的每一次執行過程在日誌中  nomprint 不列印、、

ClickHouse 零散小知識總結

1.clickhouse jdbc使用 google 的 cityhash128 演算法實現,可select cityhash128 檢視 2.python 連線 from clickhouse driver import client client client host 127.0.0.1 da...

零散知識收集

success在介面com.opensymphony.xwork2.action中定義,另外同時定義的還有error,input,login,none。值得一提的是struts 2.0中的result不僅僅是struts 1.x中forward的別名,它可以實現除forward外的很激動人心的功能,...

C 零散知識

全域性變數的初始化時機 c 是在編譯期初始化,c 是在程式執行時,main 函式之前初始化.不使用中間變數實現 strlen int mystrlen const char str c 語言函式引數入棧順序為從右至左。具體原因為 c 方式引數入棧順序 從右至左 的好處就是可以動態變化引數個數。通過棧...