הכפלת רשומות בדוח שיצרתי:

פורומים אפיון ופיתוח פריוריטי הכפלת רשומות בדוח שיצרתי:

  • Post
    רועי
    משתתף
    בניתי דוח שמטרתו הצגת מועד אישור דרישת רכש ומועד שליחת הזמנת רכש.

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

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

    אנא שלח בקובץ אקסל את ההגדרות לדוח.

    אלון.

    רועי
    משתתף
    רצ"ב.
    תודה מראש. [file name=_________________________________________.xls size=26624]https://www.priority-forums.com/he/images/fbfiles/files/_________________________________________.xls[/file]
    שלח בבקשה גם את ה-DUMP של הדוח.
    רועי
    משתתף
    מה זה DUMP?
    ביצוע DUMP מבצע "תירגום" של ההגדרות אל שפת SQL, כך שניתן להבין את ה"כוחות הפועלים".

    גש לתפריט הראשית, בחר כלים > הפעלת ישות…
    רשום בקלט את המילה WINDBI.

    ביישום שייפתח, גש אל DUMP > REPORT, ורשום את שם הדוח שבנית.
    אל תוך המסך האפור תקבל פלט של הדוח. בחר את כל הפלט, בצע העתק והדבק אל ה-NOTEPAD או וורד, ושלח לפורום.

    אלון.

    רועי
    משתתף
    זה קצר אז הדבקתי ישר כאן:

    /*
    *
    ‎ * Report ALGO_PURDEMANDSTATUS : ‎רכש‎ ‎לדרישת‎ ‎סטטוסים‎ ‎לוג
    *
    */

    /* לוג סטטוסים לדרישת רכש */
    ‎ SELECT SUPPLIERS.SUPNAME AS '‎ספק‎ \'‎מס‎',
    ‎ SUPPLIERS.SUPDES AS '‎ספק‎ ‎שם‎',
    ‎ PURDEMANDS.PRDNO AS '‎מרוכזת‎ ‎דרישה‎',
    ‎ PURDEMANDS.CURDATE AS '‎דרישה‎ ‎תאריך‎',
    ‎ PURDEMANDS.CONFIRMED AS '‎מאושרת‎',
    ‎ PURDEMANDS.CLOSED AS 'C ‎סגורה‎',
    ‎ PURDEMANDS.DETAILS AS '‎פרטים‎',
    ‎ PURDEMANDSTATS.STATDES AS '‎סטטוס‎ ‎תאור‎',
    ‎ PORDERS.ORDNAME AS '‎הזמנה‎',
    ‎ PORDERS.CURDATE AS '‎הזמנה‎ ‎תאריך‎',
    ‎ PRDITEMS.LINE AS '‎שורה‎',
    ‎ PART.PARTNAME AS '‎ט‎"‎מק‎',
    ‎ PART.PARTDES AS '‎מוצר‎ ‎תאור‎',
    ‎ PURDEMANDSTATUSLOG.UDATE AS '‎דרישה‎ ‎סטטוס‎ ‎תאריך‎',
    ‎ PORDSTATS.STATDES AS '‎רכש‎ ‎הזמנת‎ ‎סטטוס‎',
    ‎ PORDSTATUSLOG.UDATE AS '‎הזמנה‎ ‎סטטוס‎ ‎תאריך‎'
    FROM PORDERS PORDERS2 , PORDERITEMS , PORDSTATUSLOG , PORDSTATS
    , PURDEMANDSTATUSLOG , PART , PRDITEMS , PORDERS , PURDEMANDSTATS
    , SUPPLIERS , PURDEMANDS
    WHERE (PORDSTATUSLOG.PORDSTAT = PORDSTATS.PORDSTAT)
    AND (PORDERS2.ORD = PORDSTATUSLOG.ORD)
    AND (PORDERITEMS.ORD = PORDERS2.ORD)
    AND (PORDERS.ORD = PORDERITEMS.ORD)
    AND (PRDITEMS.PART = PART.PART)
    AND (PRDITEMS.ORD = PORDERS.ORD)
    AND (PRDITEMS.PURDEMAND = PURDEMANDS.PURDEMAND)
    AND (PURDEMANDS.SUP = SUPPLIERS.SUP)
    AND (PURDEMANDSTATUSLOG.PURDEMANDSTAT = PURDEMANDSTATS.PURDEMANDSTAT)
    AND (PURDEMANDSTATUSLOG.PURDEMAND = PURDEMANDS.PURDEMAND)
    ‎AND (PORDSTATS.STATDES ='‎נשלחה‎')
    ‎AND (PURDEMANDSTATS.STATDES ='‎ייצור‎-‎מאושרת‎')
    AND ( 1=1 )

    ;

    בינתיים רציתי רק לומר לך שייקח זמן לנתח את הבעיה. מדובר כאן על דוח עם לפחות 11 טבלאות!!!
    אני נמנע מלזרוק השערות למיניהם מבלי לבדוק אותם קודם ולכן צריך לבצע סימולציה על-מנת להבין את הפלט שהדוח נותן לך.

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

    אלון.

    טוב… נעזרתי באקסס רק כדי להבין את יחסי הגומלין של הטבלאות שלך ולהלן חלק ניכר מהממצאים שלי:

    1. העמודה PURDEMANDS.PURDEMAND בשימוש פעמיים, אך אין מזהה עמודה נוסף.

    2. בטבלה PORDERITEMS אתה מקשר רק לעמודה ORD. העמודה ORD היא רק מפתח אחד מתוך שניים. העובדה שלא ביצעת שימוש ב-KLINE יכול בהחלט לגרום לשורות כפולות.

    3. איני חושב שיש לך צורך במזהה נוסף ל-PORDERS. בדוח שלך אתה משתמש ב-PORDERS 2 כדי לקשר בין טבלת PORDERITEMS אל PORDSTATUSLOG. לדעתי תוכל לבצע את הקישור ישירות ביניהם מבלי להשתמש בטבלת "ביניים".
    גם ל-PORDERSTATUSLOG יש את עמודת KLINE, אבל צריך לבדוק אם מדובר בדיוק על אותם ערכים כמו ב-PORDERITEMS.

    לסיכום, אני לא בטוח שזה הכל. לא יצא לי לבנות תרחיש מלא לדוח שלך אצלי.
    בנוסף, אם הבעיה של הכפילות תיפתר בעקבות העצות, אני מציע לך לבדוק היטב אם כל הנתונים הדרושים קיימים בדוח… אני שואל את עצמי אם יש צורך ב-OUTER JOIN אשר לא קיים אצלך בדוח.

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

    אלון. :unsure:

    רועי
    משתתף
    נפתרה הבעיה:

    1. העמודה PURDEMANDS.PURDEMAND בשימוש פעמיים אבל זה כנראה הכרחי.
    2. בטבלה PORDERITEMS ביצעתי שימוש ב-KLINE וזה פתר את הכפילויות.
    3. בכל מקרה, ביטלתי את הקישור המיותר.

    תודה רבה!

    מצוין!

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

    אלון.

מוצגות 10 תגובות – 1 עד 10 (מתוך 10 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.