יום שלישי, 27 בספטמבר 2011

שנה טובה


שלום,

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

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

לכבוד השנה העברית החדשה, נראה לי אך-ראוי להראות איך SAS מתמודדת עם תאריכים בעברית ועם לוח השנה העברי. אנחנו נעמיק על כל נושא התאריכים ב – SAS בפוסט(ים) עתידיים אבל לצורך הפוסט הנוכחי אניח שנושא התאריכים והפורמטים ב – SAS מוכר לכם ואעבור ישר לת'כלס.

כאשר מתקינים SAS עם תמיכה בעברית מקבלים שני פורמטים שימושיים לתאריכים בעברית. הראשון שמו בישראל הוא hdate  והשני ידוע בשם hebdate.

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

data _null_;
      x=today();
      put 'HEBDATE7=' x hebdate7.;
      put 'HEBDATE11=' x hebdate11.;
      put 'HEBDATE13=' x hebdate13.;
      put 'HEBDATE14=' x hebdate14.;
      put 'HEBDATE16=' x hebdate.;
      put 'HEBDATE17=' x hebdate17.;
      put 'HEBDATE18=' x hebdate18.;
      put 'HEBDATE20=' x hebdate20.;
      put 'HEBDATE22=' x hebdate22.;
      put 'HDATE9=' x hdate9.;
      put 'HDATE11=' x hdate11.;
      put 'HDATE15=' x hdate15.;
      put 'HDATE17=' x hdate.;
run;

ב - log נראה את השורות הללו:
HEBDATE7=כ"ו/יב'
HEBDATE11=כ"ו/יב'/ע"א
HEBDATE13=כ"ו/יב'/תשע"א
HEBDATE14=כ"ו אלול תשע"א
HEBDATE16=  כ"ו אלול תשע"א
HEBDATE17=   ראשון כ"ו אלול
HEBDATE18=ראשון כ"ו אלול ע"א
HEBDATE20=ראשון כ"ו אלול תשע"א
HEBDATE22=ראשון כ"ו אלול ה'תשע"א
HEBDATE22=  ראשון כ"ו אלול ה'תשע"א
HDATE9=11ספט25
HDATE11=2011ספט25
HDATE15= 2011ספטמבר25
HDATE17= 2011 ספטמבר25

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

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

בעיה קטנה עם שיטה זו היא שחגים מסויימים זזים במידה והם חלים ביום שבת (למשל יום הזכרון ויום העצמאות). גם בעיה זו ניתנת לפתרון בעזרת פונקציית ה – weekday המחזירה לנו את היום בשבוע שבו חל תאריך מסוים.

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

צבי צוויג מברך לקראת השנה החדשה - מפגש חברה