הסבה מתו"פ לאגרון

מתוך אגרון - וויקיפדיה
גרסה מ־08:15, 5 באוגוסט 2007 מאת Shani (שיחה | תרומות) (יבוא הנתונים לאקסס)
קפיצה אל: ניווט, חיפוש

הסבת טופ מתחלקת לשלושה חלקים: הסבת כותרים ועותקים, הסבת קוראים והסבת השאלות.

ההסבה מבוצעת על קובץ בשם topMigration.mdb, שמכיל את הטבלאות, השאילתות, המאקרו-ים והמפרטים ליבוא נתונים כדי לבצע הסבה זאת. כמו כן, צריך קובץ lib_data.mdb ריק כדי להעביר אליו את הנתונים הסופיים.

הנתונים מאורגנים כ-fixed width כאשר אם נתון אינו קיים הדו"ח שם בו רווחים. כתוצאה מכך ביבוא לאקסס אם אותו נתון לא קיים, הוא נמצא ראשון בשורה האקסס מקצץ את הרווחים כך שחלק מהנתונים יזוזו. דוגמא: מקום: תל אביב מו"ל:

הסבת כותרים ועותקים

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

יבוא הנתונים לאקסס

דבר ראשון יש לייבא את הנתונים מקובץ טקסט לאקסס באמצעות מפרט. יש ליצור מפרט ראשוני ע"י יבוא ידני.

אם מדובר בטופ דוס הקידוד הינו 862 (Hebrew Dos) ואם זה טופ חלונות הקידוד הינו 1255 (Hebrew Windows).

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

ארגון הנתונים

תהליך קדם

יש להעביר את כל התארנים שנמצאים בסוף הטבלה לטבלה נפרדת. יש לזהות את השורה המפרידה בין נתוני הכותרים והעותקים לבין התארנים. בדוס השורה מזוהה באופן אוטומטי בהסבה מטופ ווינדוס יש להכליל בשאילתות שמעבירות את התארנים את ה-ID של התארן הראשון שיש להעביר (שאילתא append_keywords ושאילתא delete_keywords_from_source) כדי שהשאילתות ידעו מאיזו שורה להעביר (התארנים, כאמור, מופיעים בסוף טבלת המקור). יש להריץ את המאקרו move_title_keywords שמבצע את ההעברה של התארנים לטבלה אחרת (tblSource_keywords).

יש למחוק שורות מיותרות בעזרת השאילתא Delete_KnownJunk_From_Titles ולמספר את העמודה ID באמצעות הפרוצדורה Numbering_Id.

אם מדובר בהסבת טופ חלונות יש להפוך את תוכן הנתונים ע"י השאילתא reverse_SourceColumn.

זיהוי מספר כותר ומספר עותק

לאחר כל זה יש להתחיל ולעדכן לכל שורה מספר כותר ע"י הפרוצדורה Calculate_Title וחישוב מספר עותק ע"י הפרוצדורה Calculate_Copy.

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

העברת הנתונים לטבלאות משנה

יש ללכת ולבצע את המאקרו Empty_Organized_Tables - כדי לרוקן את טבלאות המשנה.

אח"כ, יש לבצע את המאקרו Organize_Source_To_Tables שמבצע את ההעברה לטבלאות משנה. מאקרו זה מורכב ממספר תתי-מאקרו. עדיף לבצע אותם ידנית אחד אחד ולבדוק את טבלת המקור (tblSource) וטבלת המשנה האם ההעברה בוצעה בהצלחה (עדיף אף לבצע גיבוי בכל שלב).

ישנם מספר הבדלים בהעברות לטבלאות משנה בין דוס לוינדוס: DataType ו-Series. בשני אלה השאילתות המעבירות לטבלאות משנה בנויות בחתך שונה (שאילתות שונות לגמרי).

הסבת קוראים

יצוא מטופ

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

יבוא לאקסס

לאחר היצוא של הטופ יש לייבא את הנתונים בעזרת המפרט שנקרא import_loansWIn (נמצא במאקרו שמייבא את הנתונים לאקסס בשם import_koriem). יש לייבא לטבלה במבנה מסוים שקיים בהסבה האחרונה שבוצעה (קיימים בה עוד שדות שנשתמש בהמשך הסבת הקוראים).

ארגון הנתונים

לאחר מכן יש להריץ את השאילתות Delete_KnownJunk_Readers ו-Delete_KnownJunk_Readers2 כדי למחוק שורות מיותרות שיצאו ביבוא.

אח"כ, יש להריץ את הפרוצדורה שנקראת Calculate_Readers שמחשבת לכל שורת את המספר קורא והאם השורה מכילה מאפיינים מסוימים (כל מיני שדות בוליאנים ב-tblSource).

הסבת השאלות

יצוא מטופ

מחולק ל-2 חלקים: יצוא השאלות ויצוא הסטורית השאלות.

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

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

יבוא לאקסס

ארגון הנתונים