खोज…


परिचय

एसएएस को क्रमशः डेटा को पढ़ने और लिखने का तरीका बताने के लिए सूचना और प्रारूप का उपयोग किया जाता है। आमतौर पर डेटास्टेप में बाहरी फ़ाइल से डेटा पढ़ते समय सूचनाओं का उपयोग किया जाता है। PROC में मुखबिरों का उपयोग बहुत कम किया जाता है। प्रारूप आमतौर पर डेटा चरणों और PROCs दोनों में उपयोग किए जाते हैं।

टिप्पणियों

एसएएस प्रारूप या तो संख्यात्मक या चरित्र मूल्यों को चरित्र मूल्यों में परिवर्तित करते हैं। एक प्रारूप या तो एक का उपयोग कर लागू किया जा सकता format या put बयान है, जो जिस तरह से एक मूल्य प्रदर्शित किया जाता है बदल जाता है, या का उपयोग कर put एक नया वेरिएबल में प्रारूपित मान स्टोर करने के लिए कार्य करते हैं।


प्रारूपों की चार श्रेणियां हैं:

  • चरित्र - एसएएस को चरित्र चर से चरित्र डेटा मान लिखने का निर्देश देता है।
  • दिनांक और समय - एसएएस को उन चर से डेटा मान लिखने का निर्देश देता है जो दिनांक, समय और डेटासेट का प्रतिनिधित्व करते हैं।
  • आईएसओ 8601 - एसएएस को आईएसओ 8601 मानक का उपयोग करके तारीख, समय और डेटाइम मान लिखने के लिए निर्देश देता है।
  • न्यूमेरिक - एसएएस को सांख्यिक चर से संख्यात्मक डेटा मान लिखने का निर्देश देता है।

प्रारूप आमतौर पर फॉर्म लेते हैं <formatname><w>.<d>; , w चौड़ाई, (किसी भी दशमलव और बिंदु भी शामिल है) किया जा रहा d दशमलव स्थानों की संख्या जा रहा है।


सामान्य तिथि प्रारूप (एसएएस तिथि मूल्यों पर लागू):

  • date9. उदा 02AUG2016
  • ddmmyyn8. उदा 02082016
  • ddmmyy8. उदा 02/08/16
  • yymmdd10. उदाहरण के लिए 20160802
  • year4. उदाहरण के लिए 2016

सामान्य संख्यात्मक प्रारूप (संख्याओं पर लागू):

  • comma11.0 उदा 1,234,567
  • comma12.2 उदा 1,234,567.00
  • डॉलर dollar11.2 उदा $ 5,789.12
  • nlmnlgbp11.2 उदा £ 2,468.02

अन्य प्रारूप:

  • $hex8. , स्ट्रिंग को हेक्स में बदलें
  • $upcase. , स्ट्रिंग को अपर-केस में बदलें
  • $quote. , उद्धरणों में एक स्ट्रिंग संलग्न करें

प्रारूपों की पूरी सूची यहां पाया जा सकता है> https://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a001263753.htm

प्रारूप कथन का उपयोग करना

format विवरण केवल निर्दिष्ट उद्देश्यों के लिए निर्दिष्ट चर पर दिए गए प्रारूप को लागू करता है, अर्थात अंतर्निहित मूल्य नहीं बदलता है।

data example1 ;
  Date  = '02AUG2016'd ; /* stored as a SAS date, i.e. a number */
  Date2 = '31AUG2016'd ;
  format Date monyy7. Date2 yymmddn8. ;
run ;
दिनांक तिथि 2
AUG2016 20160831

समूह डेटा के लिए प्रारूप कथन का उपयोग करना

आप एक प्रक्रिया के भीतर प्रारूप लागू कर सकते हैं, उदाहरण के लिए एक proc summary या proc freq भीतर समूहीकरण को बदलने के लिए।


एसएएस तिथियों का समूह बनाना

data example2 ;
  do Date = '01JUN2016'dt to '31AUG2016'dt ;
    Days = 1 ;
    output ;
  end ;
run ;

/* Summarise by year & month */
proc summary data=example2 nway ;
  class Date ;
  var Days ;
  output out=example2_sum (drop=_TYPE_ _FREQ_) sum= ;
  format Date yymmn6. ; /* e.g. 201606 */
run ;
दिनांक दिन
201,606 30
201,607 31
201,608 31
/* Summarise by month & year */
proc summary data=example2 nway ;
  class Date ;
  var Days ;
  output out=example2_sum2 (drop=_TYPE_ _FREQ_) sum= ;
  format Date monyy7. ; /* e.g. JUN2016 */
run ;
दिनांक दिन
JUN2016 30
JUL2016 31
AUG2016 31

एक प्रारूप का उपयोग करने का लाभ यह है कि प्राकृतिक प्रकार का क्रम बनाए रखा जाता है।


उदाहरण के रूप में sashelp.class का उपयोग करते sashelp.class , आप प्रत्येक नाम के पहले अक्षर की आवृत्ति की तुलना करना चाहते थे। आप पहले अक्षर को खोजने के लिए substr() फ़ंक्शन का उपयोग कर सकते हैं, और नए चर पर एक खरीद proc freq चला सकते हैं। वैकल्पिक रूप से, आप $1. को लागू कर सकते हैं $1. Name चर का प्रारूप:

proc freq data=sashelp.class ;
  table Name ;
  format Name $1. ;
run ;
नाम COUNT
7
बी 4
सी 2
आदि।

कस्टम प्रारूप

कस्टम प्रारूप, जिसे उपयोगकर्ता परिभाषित प्रारूप के रूप में भी जाना जाता है, को किसी अन्य डिफ़ॉल्ट प्रारूप की तरह बनाया और उपयोग किया जा सकता है।

/*Create new character format for state variables*/
PROC FORMAT;
VALUE $statef      'CA' = 'California'
                   'MA' = 'Massachusetts'
                   'NY' = 'New York';

/*Once created, you can use your custom format in PROC and DATA steps*/
PROC PRINT DATA=table;
FORMAT state-var $statef.;
RUN;

चर state-var नए प्रारूप के अनुसार मुद्रित किया जाएगा। उदाहरण के लिए, 'CA' मान को 'California' रूप में मुद्रित किया जाएगा। यदि कोई मान स्वरूपित नहीं किया गया था, जैसे कि 'CT' , तो वह मान मुद्रित किया जाएगा जैसा कि डेटा सेट में दिखाई देता है।

डेटा पढ़ने के लिए सूचनाओं का उपयोग करना

सूचनाओं का उपयोग एसएएस को डेटा में पढ़ने के तरीके को बताने के लिए किया जाता है और एक informat विवरण के साथ पहचाना जाता है।

data test;
 infile test.csv;
 informat     id $6.
              date mmddyy10.
              cost comma10.2
 ;
 input @1 id
       @7 date
       @20 cost
 ;
run; 

सूचना और प्रारूप का उपयोग डेटा में पढ़ने और इसे एक अलग प्रारूप में लिखने के लिए भी किया जा सकता है जैसे नीचे दिए गए वेतन चर के साथ:

DATA workers;
  informat first last $16.;
  informat salary 12.1;
  informat birthdate 8.;
  input 
    first $ 
    last $ 
    birthdate 
    salary;
  format salary dollar10.;
datalines;
John Smith 19810505 54998.5
Jane Doe 19950925 45884.5
Frank James 19600222 70000.5
Jamie Love 19630530 292000.5
;
run;


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow