BookmarkSubscribeRSS Feed
Hagay
SAS Employee

שלום,

 

תו הנקודה-פסיק  - ";" - הוא התו השימושי ביותר בשפת ה - SAS אבל בדירת הגג באותו המקש במקלדת גר תו אחר, קצת יותר אקזוטי אבל עם פוטנציאל משמעותי לשיפור איכות החיים שלנו כמתכנתי SAS - תו הנקודתיים - ":"

יש לו מספר שימושים די שונים אבל בכולם הוא מייצג דרך פשוטה לזהות את כל האובייקטים שהשם שלהם מתחיל באותם תווים. כמה דוגמאות להמחשה:

 

דוגמא 1 – זיהוי כל הטבלאות המתחילות באותם תווים

אם אנחנו רוצים לשרשר (מקביל ל – UNION ב – SQL) לטבלה אחת את כל הטבלאות שהשם שלהן מתחיל באותם תווים אז בעזרת תו הנקודתיים זו משימה קלה מאוד

 

data CLASS;
	set SASHELP.CLASS;
run;

data CLASS_BIG;
	set SASHELP.CLASS;
run;

data CLASS25;
	set SASHELP.CLASS;
run;

data ALL_CLASS;
	set CLASS:; *** Note the : following the CLASS word ***;
run;

 

דוגמא 2 – זיהוי כל המשתנים המתחילים באותם תווים

תו הנקודתיים גם מאפשר לנו לתפוס בקלות את כל המשתנים (עמודות) בטבלה שהשם שלהם מתחיל באותם תווים ולהשתמש בהם בחישובים שלנו  בקלות

 

data AVERAGE_PRICEDATA;
	set SASHELP.PRICEDATA;
	Avg_Price=mean(of price:);* Averaging the values in columns price, price1, price2 ... price17;
run;

 

דוגמא 3 – זיהוי כל הערכים המתחילים באותם תווים

אם אנחנו רוצים לשלוף מטבלה את כל הרשומות בהן שם התלמיד מתחיל, למשל, ב – "Ja" אנחנו יכולים , כמובן, להשתמש בפונקציה substr אבל הנקודתיים יחסכו לנו קצת הקלדה

 

data JA_CLASS;
	set SASHELP.CLASS;
	if name=:'Ja';
run;

 

חגי

3 REPLIES 3
Itai
SAS Employee

תודה חגי.

שימושי מאוד!

תודה על התזכורת.

Hagay
SAS Employee

הערה קטנה בקשר לדוגמא 1

 

שימו לב לשם שאתם נותנים לטבלה ה - Output. אם במקום ALL_CLASS תקראו לה, למשל, CLASS_ALL אז כל הרצה חוזרת של הקוד תניב תוצאה שונה...

 

ראו הוזהרתם 🙂

SAS Innovate 2025: Call for Content

Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!

Submit your idea!

Discussion stats
  • 3 replies
  • 697 views
  • 7 likes
  • 3 in conversation