मेरे पास एक एसएएस वैरिएबल (एक टेबल कॉलम) है जिसमें एक नंबर डेटा प्रकार और एक प्रारूप YYMMDD10 है। इसका मान है: 04/20/2019

मैं इसे एक स्ट्रिंग में बदलना चाहता हूं जैसे: 20190420। तो मैं क्या करूं:

new_date= Put( trim(orig_date), mmddyy10.);

मुझे मिलता है: The format $MMDDYY was not found or could not be loaded.

sas
0
Victor 18 अप्रैल 2020, 21:20

1 उत्तर

सबसे बढ़िया उत्तर

आपकी मुख्य गलती अनावश्यक TRIM () फ़ंक्शन को जोड़ना है।

आप संख्यात्मक चर पर TRIM() फ़ंक्शन का उपयोग नहीं कर सकते। ठीक है आप कर सकते हैं, लेकिन इसका मतलब है कि SAS स्वचालित रूप से BEST12 का उपयोग करके संख्या को एक स्ट्रिंग में बदल देगा। प्रारूप। एक बार जब आप डेटा को एक वर्ण स्ट्रिंग में परिवर्तित कर लेते हैं तो आप अब मान के साथ संख्यात्मक MMDDYY प्रारूप का उपयोग नहीं कर सकते हैं। तो एसएएस मानता है कि आपने अपने चरित्र प्रारूप नाम के सामने $ छोड़ दिया है। हालाँकि यह ऐसा वर्ण प्रारूप नहीं ढूँढ सकता है जिससे आपको त्रुटि संदेश मिलता है।

यह सुनिश्चित करने के लिए कि परिणाम किसी अन्य सीमांकक के बजाय स्लैश है, आप MMDDYYS प्रारूप का उपयोग कर सकते हैं।

new_date= Put( orig_date , mmddyys10.);
0
Tom 18 अप्रैल 2020, 19:38