खोज…


परिचय

अपने एसएएस कार्यक्रमों के दौरान मैक्रो वेरिएबल्स का उपयोग करना एक बुनियादी कार्यक्षमता है जिससे प्रत्येक एसएएस प्रोग्रामर को परिचित होना चाहिए। मैक्रो वेरिएबल्स का उपयोग करने से आपको अपना कोड सरल और सामान्य रखने में मदद मिल सकती है। जेनेरिक कोड पुन: प्रयोज्य कोड है।

% LET का उपयोग करना

मैं% LET को SAS में मैक्रो वेरिएबल बनाने का सबसे सरल तरीका बताता हूं।

%LET variableName = variableValue;

अब, कहीं भी आप का उपयोग करें &variableName , यह variableValue लिए हल होगा।

नोट: आप उस variableValue पर विचार करना चाहते हैं जो अपने आप ही सभी वाक्यविन्यास त्रुटियों को ला सकता है, जो कि मूल्य क्या है और इसका उपयोग कैसे किया जाता है, पर निर्भर करता है। उदाहरण के लिए, यदि यह एक तारीख है और आप इसे PROC SQL स्टेटमेंट के WHERE में उपयोग कर रहे हैं, तो इसे ठीक से काम करने के लिए "&variableName"d रूप में लिखना होगा।

PROC SQL का उपयोग करना

PROC SQL का उपयोग तालिका से त्वरित परिणाम प्राप्त करने और उन्हें चर में फेंकने का एक अच्छा तरीका है। मुझे आमतौर पर लगता है कि जब मैं रिकॉर्ड्स की एक गिनती प्राप्त करना चाहता हूं, जिसे मैं सिर्फ एक तालिका में लोड करता हूं, तो मैं उस गणना को एक त्वरित पीआरसी एसक्यूएल कॉल के साथ एक चर में प्राप्त कर सकता हूं।

PROC SQL;
SELECT
    COUNT(*) INTO:aVariable
FROM
    MyTable

;QUIT;

ऊपर के उदाहरण में, aVariable प्रतिनिधित्व करेगा कि कितने रिकॉर्ड MyTable में मौजूद हैं।

आप कई मैक्रो वेरिएबल्स बनाने के लिए PROC SQL का भी उपयोग कर सकते हैं।

PROC SQL;
SELECT
    a,
    b,
    c INTO:aVariable, :bVariable, :cVariable
FROM
    MyTable


;QUIT;

ऊपर दिए गए उदाहरण में, INTO स्टेटमेंट में बनाए गए वैरिएबल उस कॉलम से मेल खाएंगे, जिस क्रम में उन्हें SELECT स्टेटमेंट से लौटाया गया है। हालांकि, परिणामों की पहली पंक्ति का उपयोग उन 3 चर को भरने के लिए किया जाएगा।

यदि आप एक से अधिक पंक्ति संग्रहीत करना चाहते हैं, और आप 6.11 या इसके बाद के संस्करण पर हैं, तो निम्न उदाहरण का उपयोग करें:

PROC SQL;
    SELECT DISTINCT
        a,
        b,
        c INTO :aVariable1 - :aVariable5, 
               :bVariable1 - :bVariable5,
               :cVariable1 - :cVariable5
    FROM
        MyTable
;QUIT;

THROUGH और THRU कीवर्ड का उपयोग वह डैश के बदले में कर सकता है -

एक डेटा चरण में कॉल सिम्पुट () का उपयोग करना

DATA _null_;
            CALL SYMPUT('testVariable','testValueText');
;RUN;

उपरोक्त उदाहरण में, %PUT &testVariable; testvalueText समाधान करेगा।

आपको SYMPUT () कॉल के भीतर अपने चर को प्रारूपित करने की आवश्यकता हो सकती है।

DATA _null_;
            CALL SYMPUT('testDate',COMPRESS(PUT(today(),date9.)));
;RUN;

उपरोक्त उदाहरण में, %PUT &testDate; 10MAR2017 समाधान करेगा



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