2009-02-17 35 views

Trả lời

15

Tôi nghĩ rằng điều này sẽ làm những gì bạn muốn:

dm log "vt sashelp.air";

Chỉ cần thay đổi "sashelp.air" phần để lib.table combo của bạn.

+0

Wow - bạn có trong đầu trước khi cmjohns! Làm tốt! = P –

2

câu trả lời của dw.mackie là đúng về số tiền. Điều đó hoạt động tốt khi được gửi từ cửa sổ trình soạn thảo SAS. Tuy nhiên, tôi chỉ muốn thận trọng nếu bạn thử nó ở chế độ hàng loạt (có nghĩa là, khi SAS chạy chương trình .sas trực tiếp từ dòng lệnh bằng cách sử dụng tùy chọn -sysin). Nó thực sự sẽ cố gắng mở cửa sổ môi trường SAS tương tác khi thực hiện.

Nhưng, nếu mã lô của bạn cũng cố gắng xây dựng một số biểu đồ/biểu đồ, bạn sẽ được yêu cầu sử dụng tùy chọn -noterminal. Và tùy chọn -noterminal không tương thích với lệnh dm. Bạn sẽ phát hiện ra nó ngay lập tức trong nhật ký, nhưng tôi chỉ muốn cho bạn một cái đầu.

3

Do kích thước của một số bộ dữ liệu của tôi, tôi chỉ thực hiện in đơn giản và giới hạn đầu ra chỉ còn 50 quan sát. Tôi thực hiện việc này thường xuyên đến nỗi tôi đã tạo macro sau để kết xuất đầu ra thành tệp html. gọi

%Macro DPrt(Dset, obs=50, vars=, w=, Path="C:\output\"); 
    %LET BKPATH = &Path; 
    %PUT BKPATH= &BKPATH; 
    options obs = &obs.; 
    title; 
    ods listing close; 
    ods html 
     path = &BKPATH. 
     body = "Debug-&Dset..htm" 
     style = THEME; 

     proc print data = &Dset n u split=' '; 
     %if &vars NE %THEN %DO; 
      var &vars.; 
     %END;   
     %if &w NE %THEN %DO; 
      &w; 
     %END;   
     Run; 

    ods html close; 
    ods listing; 
    options obs = MAX; 
%Mend Dprt; 

mẫu cho kiểm tra dữ liệu trông giống như

%dprt(test) 
+0

@ BK- cảm ơn bạn đã nhập mã! Nó sẽ không giúp tôi trong tình huống cụ thể này, nhưng tôi nghĩ nó sẽ rất hữu ích trong các tình huống khác. –

Các vấn đề liên quan