(48) כיצד לבצע שחלוף (transpose) של יותר ממשתנה אחד?
קטגוריה |
תיאור |
מספר חח"ע מתוך ה-Repository | 48 |
מוצר | SAS |
סביבה | Linux / Windows |
סימפטומים | אנחנו צריכים לבצע שחלוף (transpose) של יותר ממשתנה אחד |
בעיית השורש | אנחנו צריכים לבצע שחלוף (transpose) של יותר ממשתנה אחד |
פתרון |
בעזרת proc transpose ניתן לבצע שחלוף של טבלאות (להפוך טבלה ארוכה לרחבה וטבלה רחבה לארוכה) אבל מרבית הדוגמאות שניתן למצוא מראות את השימוש כאשר יש רק משתנה אחד לו מבצעים את השחלוף. הדוגמא להלן תציג איך ניתן לבצע שחלוף של יותר ממשתנה אחד. השאילתה הבאה תכין לנו נתונים לדוגמא: proc sql noprint; create table SAMPLE as select product, month as Date format=ddmmyy10., actual format=comma20. label=' ', predict format=comma20. label=' ' from SASHELP.PRDSALE where country='CANADA' and region='EAST' and division='EDUCATION' order by date, product; quit;
שימו לב שיש שיש לנו שתי עמודות, actual ו – predict, אותן אנחנו רוצים להתמיר כך שנקבל עמודה חדשה לכל שילוב של actual\predict ושל סוג מוצר (product). לשם כך ראשית עלינו לשטח לחלוטין את הטבלה כך שגם actual\predict יוצגו כמשתנה נוסף:
proc transpose data=SAMPLE out=SAMPLE_T; var actual predict; by date product; run; ואז לבצע transpose נוסף עם האופציה delimiter המגדירה את התו המפריד בין כל ערכי המשתנים שנהפכו כעת לעמודות: proc transpose data=SAMPLE_T out=SAMPLE_T1(drop=_name_) delimiter=_; var col1; id _name_ product; by date; run; |
לינקים |
התיעוד של proc transpose באתר של SAS |
®SAS מובילה עם נתח שוק בינ"ל של 30.8% בקטגורית האנליטיקה המתקדמת – ׁׁׁׁIDC, 2017ׂ
SAS® -מהבנקים העולמיים בחרו ב
משתמשים בישראל
SAS® בחרו במערכת של