SAS ट्यूटोरियल: लोड हो रहा है टैब सीमांकित फ़ाइलें
25 जनवरी 2008 द्वारा: 7 पलक
कल्पना कीजिए कि आप कनाडा के प्रमुख राजनीतिक donators की एक सूची दी और SAS में यह और विश्लेषण के लिए लोड करना चाहते हैं. सूची टैब वर्णों द्वारा सीमांकित खेतों के साथ एक पाठ फाइल में है. SAS Enterprise गाइड (जैसे) जादूगरों की पेशकश को स्वचालित रूप से फ़ाइल प्रारूपों के विभिन्न प्रकार के आयात, पर इन का उपयोग कर रहा है जीयूआई आयात के दौरान स्वचालन या अतिरिक्त संसाधन के लिए मौका preempts. कोड के उपयोग के लिए डेटा लोड कई लाभ प्रदान करता है:
- क्षमता एकाधिक डेटा सेट के लिए डेटा को अनुप्रेषित
- क्षमता और साफ करने के लिए लोड समय के दौरान आंकड़ों को संशोधित
- क्षमता अवांछित डाटा नष्ट करने के लिए
- पोर्टेबिलिटी और reusability
पूर्व आवश्यक वस्तुएँ
- SAS v9.x या SAS Enterprise गाइड 4.x
- SAS डाटा चरण के आधारभूत ज्ञान
- कैसे और लोड करने के लिए SAS कार्यक्रमों पर अमल की बुनियादी ज्ञान
- बुनियादी ज्ञान के न्यूमेरिक और चरित्र स्वरूपण
- है SAS पढ़ने के लिए प्रवेश / फ़ाइल अंतरिक्ष लिखना
डाउनलोड
- टैब परियोजना (उदाहरण के फाइल ही, सभी कार्यक्रम शामिल हैं)
- SAS कार्यक्रम: tab1
- SAS कार्यक्रम: tab2
- SAS कार्यक्रम: tab3
- SAS कार्यक्रम: tab4
- SAS कार्यक्रम: tab5
- दाता की सूची (टैब फ़ाइल)
1 लो: बेसिक लोडर
खुला SAS कार्यक्रम tab1.sas (SAS Enterprise गाइड 4 का उपयोग वैकल्पिक रूप से tab1 कोड आइकन SAS परियोजना डिजाइनर खिड़की पर LoadTabDelimit परियोजना और फ़ाइल डबल क्लिक कर सकते हैं खुले उन).

जैसा कि आप ऊपर के स्क्रीनशॉट में देख सकते हैं, SAS पाठ डेटा कदम का प्रयोग फाइल पढ़ता है. दो बयानों की एक न्यूनतम के लिए अच्छी तरह से एक पाठ फाइल लोड करने की आवश्यकता है:
- INFILE - infile बयान पाठ फाइल को निर्दिष्ट करने भरी हुई है. पूर्ण पथ निर्दिष्ट (जैसा कि इस उदाहरण में किया है) या एक है SAS डिफ़ॉल्ट दस्तावेज़ निर्देशिका के सापेक्ष पथ जा सकता है इस्तेमाल किया जा सकता है.
- निवेश - इनपुट बयान क्षेत्रों है कि मूल पाठ इस प्रकार से पढ़ा जाना चाहिए फाइल और कैसे वे पढ़ा जाना चाहिए निर्दिष्ट करता है.
पहले हम INFILE बयान को देखो. इस उदाहरण के काम तुम्हें शायद 'आर से मार्ग बदलना होगा बनाने: \ टैब सीमांकित फाइल के स्थान पर namelist.txt'. वहाँ भी दो विकल्प INFILE बयान में शामिल:
- DLM - DLM विकल्प यूजर को फाईल में खेतों के बीच परिसीमक सेट करने देता है. इस मामले में हम ''09 x परिसीमक, जो टैब वर्ण के षट्भुज प्रतिनिधित्व है के रूप में निर्दिष्ट है. अन्य आम delimiters अल्पविराम और अंतरिक्ष शामिल हैं. Delimiters एकल उद्धरण में निर्दिष्ट किया जाना चाहिए. यदि DLM विकल्प शामिल नहीं है, SAS परिसीमक मान लिया गया एक ही जगह है
- DSD - DSD विकल्प आंकड़े कदम वर्तमान चर के लिए एक खाली मूल्य के रूप में लगातार delimiters इलाज निर्देश देते हैं. इस विकल्प के बिना, SAS बस क्षेत्र डेटा के अगले आइटम को छोड़ जाएगा और इसे मौजूदा डेटा कदम चर, जो फाइल के कारण डेटा लोड चर और गलत को misalign में पढ़ सकते हैं. DSD भी उद्धरण चिह्नों के आसपास निकाल जब पाठ फ़ाइलों से डाटा पढ़ने.
अगला, हम निवेश के बयान को देखो. सेट परिवर्तनीय नाम के क्षेत्रों में से प्रत्येक की दुकान को बनाया sequentially डेटा में पढ़ सकता है. वहाँ निवेश वाक्यविन्यास के कई संस्करण हैं. इस उदाहरण में वाक्यविन्यास निर्दिष्ट बिल्कुल कैसे एक चर पढ़ा जाना चाहिए. अभी के लिए, कोड SAS निर्देश दिया है कि पाठ क्षेत्र में अधिकतम 16 (16 $ तक वर्ण हैं में सभी डेटा पढ़ें.). कई वैकल्पिक तरीके से इन क्षेत्रों को पढ़ा, जिनमें से कुछ बाद में कवर किया जाएगा रहे हैं.

Tab1 कोड रनिंग एक डेटा में परिणाम चाहिए इसके बाद के संस्करण स्क्रीनशॉट के समान सेट.
2 लो: डेटा प्रकार अद्यतन
Tab1 16 के रूप में क्षेत्र के सभी कैरेक्टर पाठ भरी हुई है, लेकिन जो शुद्ध रूप से न्यूमेरिक क्षेत्रों के लिए उपयुक्त नहीं हो सकता है. पहले तो लगता है, आप लोग कौन हैं बाहर फिल्टर करना चाहते से 18 युवा (बाद के रूप में हम क्या करेंगे). अगर उम्र चरित्र प्रारूप में छोड़ दिया, लोगों को 10-17 वर्ष की आयु पर 2-9 आयु वर्ग के लोग नहीं है, क्योंकि 2, 3, 4 अंक, ..., 9 अधिक ASCII मूल्य से आप फ़िल्टर होगा 18 में से 1 संख्या. तुम न्यूमेरिक तुलना प्रदर्शन के पहले अंक को पाठ क्षेत्र परिवर्तित करने के मुद्दे को उपचार सकती है लेकिन यह सिर्फ के रूप में मैदान में एक अंकीय चर में सीधे पढ़ें आसान है.
दूसरे, किसी को 'के रूप में कनाडा की कंजर्वेटिव पार्टी पार्टी संबद्धता की सूची "बस से" की जगह परीक्षा हो सकती है कंजर्वेटिव ". पार्टी की लंबे समय से फार्म का नाम 25 वर्ण लंबा है और यदि एक 16-चरित्र चर में पढ़ा छोटा कर दिया जाएगा.

इन समस्याओं का समाधान, चर उम्र बदलने के लिए एक 3 अंकों की संख्या (3 के रूप में डेटा पढ़ें.) और परिवर्तन चर पार्टी के एक 32-चरित्र चर (32 $ के रूप में डेटा पढ़ें.).

भागो tab2 कोड. उम्र कॉलम शीर्षक अब एक परिपत्र नीले प्रतीक शामिल करना चाहिए, जबकि उम्र कॉलम डाटा सही जायज़ है. यह इंगित करता है कि कॉलम संख्यात्मक डेटा शामिल हैं.
3 लो: शीर्षक पंक्ति हटाना
आने वाले पाठ फ़ाइलें अक्सर पहली पंक्ति के भीतर क्षेत्र के नाम शामिल हैं. यह चर नाम आंकड़े कदम के निवेश बयान में परिभाषित कर रहे हैं के रूप में अनावश्यक है. By default, शीर्षक पंक्ति के रूप में डेटा है, जो अवांछनीय है में पढ़ा है. वहाँ तर्क के कई प्रकार है कि शीर्षक लाइनों को निकालने के लिए किया जा सकता है, लेकिन अगर आप निश्चित है कि शीर्षक पंक्ति हमेशा पहली पंक्ति पर होगा रहे हैं (जैसे कोई रिक्त हैडर पंक्तियाँ) तो सबसे आसान तरीका बस नहीं पहली पंक्ति उत्पादन है . इस _N_ है, SAS इनपुट रिकॉर्ड काउंटर का उपयोग कर पूरा किया जा सकता है. जब = 1 _N_, डेटा अंतिम आंकड़ों के उत्पादन नहीं करती है.

एक subsetting अगर बयान को _N_ के मूल्य का परीक्षण किया गया. इस बयान सामान्य रूप लेता है
यदि
अगर हालत गलत मूल्यांकन के लिए, डेटा कदम कार्यक्रम प्रवाह subsetting नीचे कोड के निष्पादन के बिना किसी भी शीर्ष पर वापस अगर. इस मामले में, subsetting अगर बयान तभी इनपुट रिकॉर्ड रहा है और अधिक से अधिक एक सही मूल्यांकन करने के लिए, अंतर्निहित उत्पादन बयान अर्थ होगा तभी रिकॉर्ड पढ़ा जा रहा होगा ट्रिगर नहीं इनपुट में पहली रिकॉर्ड है.

भागो tab3 कोड और सुनिश्चित करें कि उत्पादन शीर्षक के नाम शामिल नहीं है (ऊपर देखें) है.
4 लो: बुरा डेटा हटाना
अंततः, एक SAS प्रोग्रामर अवांछनीय डेटा के दो प्रकार के मुठभेड़ होगा:
- डेटा या बचाया जा सकता है कम से कम जरूरतों को झंडी दिखाकर रवाना किया जाएगा
- डेटा कि बिल्कुल बेकार है और खारिज किया जा सकता है
सामान्यतया, दूसरा वर्ग के पास के कम से कम किया जाना चाहिए शून्य, के रूप में वहाँ कुछ और जहां विश्लेषण के बिना डेटा को बाहर कर प्रभावित अंतिम उत्पाद नहीं होगा उदाहरण हैं. लेकिन लगता है, इस अभ्यास के लिए, कि दान की जानकारी आसानी से प्रयोग करने योग्य जब तक यह दोनों एक प्रथम और अंतिम नाम शामिल नहीं है. Tab3 उत्पादन अंतिम नाम "स्मिथ" लेकिन कोई साथ पहला नाम के साथ एक मॉन्ट्रियल निवासी शामिल हैं. हम कमांड के साथ सशर्त तर्क संयोजन से इस रिकार्ड है और यह किसी भी तरह का रिकॉर्ड से छुटकारा पा सकते हैं LENGTHN और हटा दें.

LENGTHN गैर की संख्या एक स्ट्रिंग में रिक्त वर्ण आए. यदि LENGTHN तुलना में शून्य हमें आश्वासन दिया जा सकता है कि क्षेत्र का मूल्यांकन किया जा रहा है मूल्यांकन करता है या तो रिक्त है या रिक्त वर्ण शामिल है. सेट हटाएँ आदेश उत्पादन आंकड़ों को पत्र लिखा जा रहा से मौजूदा रिकार्ड रोकता है.

भागो tab4 कोड और सुनिश्चित करें कि रिकार्ड उत्पादन सात रिकॉर्ड हैं. अभिलेखों में से कोई भी खाली या पहले पिछले नाम शामिल (ऊपर देखना चाहिए)
5 लें: डाटा छनन
अंत में, हम एक तरह के आंकड़ों से निपटने के लिए चिंतन करना चाहिए कि लेकिन काफी उपयोगी नहीं संभवतः सही किया जा सकता है. हमारे डेटा को देखते हुए, यह संभव नहीं दिखता कि एक छोटी सी किसी विशेष पार्टी के लिए एक भारी वित्तीय योगदान होता है, जबकि किसी के लिए भी उतना ही संभावना है कि 120 साल की उम्र पार. अभी के लिए यह सबसे अच्छा होगा और मूल्यांकन के लिए अन्य डेटा से कर सकते हैं इस तरह के रिकॉर्ड अलग. सौभाग्य से, SAS यह अनुमति संसाधित डेटा एकाधिक आउटपुट डेटा सेट के लिए कराई जाने से आसान बना देता है. निम्नलिखित संशोधनों को tab4 कोड के लिए किए जाने की जरूरत है
- प्रारंभिक आंकड़ों के बयान पर एकाधिक डेटा सेट निर्दिष्ट करने की जरूरत है, साफ डेटा और आंकड़ों की जरूरत है कि जांच के लिए एक होने के लिए एक
- उत्पादन में आदेश को स्पष्ट रूप से परिभाषित किया जाना चाहिए. संसाधित आंकड़ों के आंकड़ों में से एक को निर्देश दिया जाना चाहिए सेट कुछ शर्त है कि तय करेंगे कि डेटा आगे की जांच पड़ताल की आवश्यकता के आधार पर

देखो ऊपर स्क्रीनशॉट. कोड के शीर्ष पर, आंकड़े बयान अब दो डाटा सेट को परिभाषित करता है:
- tab_v5 रिकॉर्ड है कि संशोधन की आवश्यकता नहीं है स्टोर करेगा
- tab_v5_reject रिकॉर्ड आगे की जांच पड़ताल की आवश्यकता होगी स्टोर
अब कोड के नीचे देखो. सेट दो स्पष्ट उत्पादन आज्ञा देता है, एक आंकड़े के नाम से पालन कर रहे हैं. डेटा tab_v5 को पत्र लिखा जाएगा अगर रिकॉर्ड में व्यक्ति की आयु 18 और 120 के बीच है. अन्यथा, डेटा को tab_v5_reject लिखा होगा. या तो उत्पादन बयान का निष्पादन हो जाती है कि रिकॉर्ड तर्क द्वारा पहले से नहीं हटा दिया गया है tab4 में जोड़ा गया.


भागो tab5 कोड. दो डाटा सेटों का निर्माण - जाना चाहिए 18-120 सीमा के भीतर और उम्र के साथ 6 रिकॉर्ड वाले एक दूसरे को इस सीमा के बाहर एक उम्र के साथ एक अभिलेख युक्त.
वहाँ कंप्यूटर सॉफ्टवेयर और सांख्यिकीय विश्लेषण के लिए प्रदर्शन कर रहे हैं. SAS सॉफ्टवेयर जानकारी और ट्यूटोरियल, के लिए मदद की किताब ऑनलाइन मिलता है. Microsoft Office सॉफ्टवेयर Excel में सांख्यिकीय विश्लेषण पर इस सॉफ्टवेयर कमाल नहीं करता शामिल हैं. जब सॉफ्टवेयर के लिए शॉपिंग, जल्दी एंटीवायरस सॉफ्टवेयर फ़ायरवॉल उठा. एंटीवायरस है कि सभी नवीनतम वायरस वेब परिभाषाएँ है Norton एंटीवायरस है. आज के फोन के विकास में, यह एक के लिए एक इंटरनेट फोन हैंडसेट में निवेश करना चाहिए.








