יום ראשון, 6 במאי 2012

שלום לכולם,


ברצוני לעדכן את משתמשי ה- SAS בישראל על האפשרויות שעומדות לרשותכם לעבודה עם תאריכים עבריים/יהודיים בתוך ה- SAS.


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


ראשית, חשוב לדעת שישנם מספר פורמטים שימושיים לתצוגה של תאריכים עבריים. החשובים בהם הם 


hdate
hebdate


הראשון מציג את התאריך הלועזי בעברית ואילו השני מציג את התאריך הלועזי לפי לוח השנה העברי.


דוגמה:



הרעיון המרכזי של הבלוג הזה עלה בראשי לאחר שקראתי את המאמר הבא מכנס SAS האחרון שנערך באולרנדו ארה"ב: http://support.sas.com/resources/papers/proceedings12/040-2012.pdf

הרעיון מבוסס על הקוד במאמר ומראה כיצד ניתן לבנות לוח שנה עברי ואז להשתמש בפונקציות פנימיות של SAS תוך שימוש בלוח השנה הזה.

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



הקוד הנ"ל מוצא את ראש החודש העברי הבא ומזיז את התאריך הלועזי לתאריך זה. כמו כן, מודגמת היכולת למצוא את מספר החודשים העבריים בין שני תאריכים לועזיים.



















רעיונות נוספים לשימוש ולהרחבה יתקבלו בשמחה!




אייל גונן
מיה מחשבים




הקוד
אזהרה: הקוד לא נבדק בצורה יסודית ולכן אין להשתמש בו כפי שהוא בסביבת ייצור ללא בדיקות נוספות



/* first run code from http://www.sascommunity.org/mwiki/images/d/da/Hebrew_islamic_dates.sas */

data jmonths;
do year = 2000 to 2100;
do i = 1 to 12;
yi = ifn(7<=i<=12,1,0);
begin = hebrew_to_sd(year+3760+yi,i,1);
end = begin + hebrew_month_days(year+3760+yi,i) - 1;
season = ifn(i+6<=12,i+6,mod(i+6,13)+1);
output;
end;
end;
keep begin end season;
format begin end ddmmyy10.;
run;

options intervalds=(JewishMonths=jmonths);

/* sample usage  - find the next rosh hodesh */
data _null_;
njm = intnx("JewishMonths",today(),1);
put njm= ddmmyy10.;
run;

/* sample usage  - how many jewish months till the end of the year */
data _null_;
njm = intck("JewishMonths",today(),mdy(12,31,year(today())));
put njm=;
run;

אין תגובות:

הוסף רשומת תגובה