BookmarkSubscribeRSS Feed
EyalGonen
Lapis Lazuli | Level 10

שלום לכולם,

 

החל מגרסה 9.4M6 אפשר לייצר דוחות אקסל מימין לשמאל באופן פשוט ביותר! ראו את הקוד הבא:

 

 


options bidi=yes;

ods excel file="d:\temp\sas_right_to_left.xlsx" ;

  proc print data=sashelp.class;
  run;

ods excel close;

 

 

ספרו לנו איך זה עובד עבורכם.

 

אייל

13 REPLIES 13
Miriam_1
Calcite | Level 5
היי,
אני עובדת עם גרסה 7.1.
יש דרך להפיק קובץ אקסל מיושר לימין בגרסה הזו?
תודה
EyalGonen
Lapis Lazuli | Level 10

שלום מרים,

 

מה הכוונה "אני עובדת עם גרסה 7.1"? את מתכוונת אולי לגרסה של SAS Addin for Microsoft Office?

 

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

 

המצב שאת כנראה מתארת הוא שאת עובדת עם ה SAS Addin for Microsoft Office בתוך אקסל ואז בעצם אין בכלל בעיה כי כל פלט שאת מקבלת מ SAS על ידי שימוש ב addin הזה,  את יכולה להפוך אותו שיוצג מימין לשמאל תוך שימוש באופציה המובנית של אקסל עצמו.

 

מקווה שהבנתי נכון את השאלה.

 

אייל

Miriam_1
Calcite | Level 5
לא, זה לא מה שהתכוונתי. בקוד שכתבת למעלה כתבת שזה החל מגרסה 9.4. התכוונת לגרסה של אקסל? חשבתי לגרסה של סאס, לכן כתבתי את גרסת הסאס שאני עובדת איתה. בכל מקרה, אצלי זה לא עבד, הקובץ שאני מפיקה יוצא מיושר לשמאל ואני צריכה גליונות מיושרים לימין. אני לא עובדת עם sas addin בתוך האקסל.
הבעיה שלי היא שאני צריכה להפיק המון המון קבצי אקסל לפי פילוח מסויים ולכן אני צריכה לכתוב קוד שייצר לי קובץ מעוצב כמו שצריך מבלי שאצטרך לפתוח את קבצי האקסל ולשנות עיצובים.
EyalGonen
Lapis Lazuli | Level 10

שלום מרים,

 

גרסה 9.4M6 זו הגרסה של SAS. יש גרסאות נפרדות לקליינטים של SAS. אני חושב שהבנתי... את כנראה מדברת על גרסה של הקליינט SAS Enterprise Guide. זה כנראה הסיפור.

על מנת לבדוק באיזו גרסה של SAS את משתמשת הריצי את הקוד הבא:

 

%put &sysvlong;

התוצאה תופיע בחלון ה LOG. אם יופיע לך 9.4M6 אז הקוד ששלחתי בתחילת הבלוג יעבוד. אם את בגרסה ישנה יותר אז יש שתי אפשרויות: 1) לשדרג את ה SAS לגרסה 9.4M6 זה בחינם 2) להשתמש בפתרון ישן יותר שעובד עם ods tagsets. אני פחות ממליץ עליו שכן הוא ישן. עדיף שקודם כל תבדקי האם את משתמשת בגרסה 9.4M6. אם לא, אחפש את הקוד הישן ואעלה אותו לכאן.

 

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

 

אייל

Miriam_1
Calcite | Level 5

היי אייל,

מופיע לי 

9.04.01M5

אני לא יכולה לשדרג, זה במקום העבודה ואני לא קובעת...

אשמח לקבל את הקוד הישן.

שאר העיצוב של הקובץ בסדר גמור, נשאר לי רק העניין של היישור כרגע.

תודה רבה

EyalGonen
Lapis Lazuli | Level 10

שלום מרים,

 

זה לא היה פשוט לאתר את הקוד  הזה 😉

 

אני מצרף את הקוד ואת ההוראות - מקווה שזה יעבוד עבורך. ממליץ לך לדבר עם האדמין של SAS אצלכם ולהמליץ לשדרג ל 9.4M6.

 

אייל

 

EyalGonen
Lapis Lazuli | Level 10

מקווה שהקוד "הישן" יעבוד טוב - אני רואה ש @Assaf_Attas הצטרף לקהילה וזה מצוין כי הוא זה שתיקן את ה ODS EXCELXP כך שיתמוך באפשרות להצגה מימין לשמאל. 

Miriam_1
Calcite | Level 5

היי אייל,

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

ods excel

ואז  proc print.

ב- ods excelxp

אני לא מצליחה לעצב את הקבצים כמו שאני צריכה אותם.

יש אופציה ליישר לימין כשמשתמשים ב-ods excel?

EyalGonen
Lapis Lazuli | Level 10

שלום @Miriam_1 

 

כפי שכתבתי בפוסט הראשון אפשר להפיק אקסלים מימין לשמאל עם ODS EXCEL אבל זה יעבוד רק ב 9.4M6 לצערי. לפי מה שאת שלחת בפוסטים הקודמים את עובדת בגרסה 9.4M5 ולכן זה לא יעבוד.

 

לגבי זה שהקוד ששלחתי לא עבד האם הרצת קודם את ה proc template (הקוד הראשון שצורף) ואחרי שהרצת אותו האם הפעלת לפי ההוראות כך:

 

Ods tagsets.ExcelXP path='c:\temp\' file='test.xls';
Ods tagsets.ExcelXP options(sheet_interval='none'
sheet_name="sheet1"
sheet_layout='RTL');
Proc print data=sashelp.class;Run;
Ods tagsets.ExcelXP close;

שימי לב ל sheet_layout='RTL' האם כך עשית?

 

EyalGonen
Lapis Lazuli | Level 10

בתשובה הקודמת שלי היה typo ותיקנתי אותו (היה חסר שם רווח ונקודה פסיק).

אני שולח שוב

 

שימי לב שבקוד שמייצר את ה tagset כתוב ממש בהתחלה:

 

ods path sasuser.templat(update) sashelp.tmplmst(read);

אם אתה עובדת עם SAS Enterprise Guide מומלץ לשנות את השורה הזו ל:

 

ods path work.templat(update) sashelp.tmplmst(read);

ואחרי שאת מריצה את הקוד הזה תריצי את הקוד המתוקן הזה:

 

Ods tagsets.ExcelXP path='c:\temp\' file='test.xls';
Ods tagsets.ExcelXP options(sheet_interval='none'
sheet_name="sheet1"
sheet_layout='RTL');
Proc print data=sashelp.class;Run;
Ods tagsets.ExcelXP close;

 

בדקנו את זה הרגע וזה עובד!

 

כאמור ב 9.4M6 לא צריך את ה ods tagsets כי אפשר לייצר אקסל מימין לשמאל בקלות עם ods excel לפי ההוראות בפוסט הראשון שלי

Miriam_1
Calcite | Level 5

קודם כל ממש תודה על המענה הזריז והנסיון לעזור, ממש לא מובן מאליו!

האמת שאני לא רואה איפה יש proc template..

אני מתחברת מהעבודה אז לא יכולה להוריד קבצים, עכשיו אני רואה שיש שם קובץ נוסף להורדה מלבד הקוד הזה-

Ods tagsets.ExcelXP path='c:\temp\' file='test.xls';
Ods tagsets.ExcelXP options(sheet_interval='none'
sheet_name="sheet1"
sheet_layout='RTL');
Proc print data=sashelp.class;Run;
Ods tagsets.ExcelXP close;

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

ODS EXCEL

הרגיל?

 

EyalGonen
Lapis Lazuli | Level 10

שלום @Miriam_1 

 

אכן יש קוד שצריך להריץ על מנת ש SAS קודם כל ייצור את ה template (שימי לב שיש לשנות את השורה הראשונה בקוד לפי ההסבר שלי בפוסט הקודם) ואחרי זה את יכולה להשתמש ב template שיצרת על מנת להפיק אקסלים מימין לשמאל עם ה ods tagset לפי הקוד לדוגמה ששלחתי. הקוד ששלחתי לדוגמה עובד עם proc print אבל כמובן יעבוד עם כל פרוצדורה ולא רק proc print.

 

לשאלתך, אפשר לשלוט בעיצוב גם אם עובדים עם ה ods tagset. לדוגמה ראי: https://support.sas.com/resources/papers/proceedings/proceedings/forum2007/225-2007.pdf

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

 

 

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
  • 13 replies
  • 2509 views
  • 13 likes
  • 2 in conversation