המספור תואם לתיקיות: בתיקייה 01 מופיעות השאלות 01-01, 01-02 וכן הלאה. שלוש שאלות ההתחלה הן 01-05, 01-08 ו־01-02; מקור ערכי פילטר התהליך הוא 01-20. מזהי OBP ושמות קובצי SQL נשארים קבועים.
זהו צילום המקור שנבדק ב־8 בנובמבר 2026, ולא SQL ששוחזר מהכותרת. החליפו {{schema}} בסכימה המורשית שלכם והריצו שאלה אחת בכל פעם. פילטרי הדשבורד והתצוגה אינם כלולים כאן. כינויי העמודות והערכים בעברית נשמרו בדיוק כפי שהם בשאלות המקור.
04-01 · שעות מדווחות לפי שבוע
סכום השעות בדיווחים סגורים בעלי משך חיובי ועד 12 שעות, לפי שבוע תחילת הדיווח.
דגש לבדיקה: duration נמדד באלפיות שנייה. נכללים דיווחים עם סיום ומשך גדול מאפס ועד 12 שעות. start אינו נדרש בנפרד; טיימרים מקבילים אינם מאוחדים.
SELECT date_trunc('week',start) AS "שבוע תחילת דיווח",sum(duration)/3600000.0 AS "שעות מדווחות" FROM {{schema}}.timelogreport WHERE deletedat IS NULL AND "end" IS NOT NULL AND duration>0 AND duration<=43200000 GROUP BY 1 ORDER BY 1;04-02 · שעות מדווחות לפי פרק
סכום השעות לפי הפרק שנרשם בדיווח. כמו בשאלה 04-01, נכללים רק דיווחים סגורים שמשכם גדול מאפס ועד 12 שעות. פרקים מתהליכים שונים בעלי אותו שם עשויים להופיע יחד באותה שורה.
דגש לבדיקה: הקיבוץ לפי שם פרק ללא מזהה תהליך. פרקים באותו שם בתהליכים שונים יכולים להתאחד; שם חסר מוחלף לפי ה־SQL.
SELECT coalesce(chaptername,'(ללא פרק)') AS "פרק",sum(duration)/3600000.0 AS "שעות מדווחות" FROM {{schema}}.timelogreport WHERE deletedat IS NULL AND "end" IS NOT NULL AND duration>0 AND duration<=43200000 GROUP BY 1 ORDER BY 2 DESC;04-03 · שעות מדווחות לפי פקודה
סכום השעות ומספר דיווחי הזמן לכל פקודה ומק״ט. נכללים רק דיווחים סגורים שמשכם גדול מאפס ועד 12 שעות.
דגש לבדיקה: שני המדדים משתמשים בדיווחים שמשכם גדול מאפס ועד 12 שעות. פקודה או מק״ט חסרים עשויים ליצור קבוצות ריקות.
SELECT workordernumber AS "פקודה",sku AS "מק״ט",sum(duration)/3600000.0 AS "שעות מדווחות",count(*) AS "דיווחים" FROM {{schema}}.timelogreport WHERE deletedat IS NULL AND "end" IS NOT NULL AND duration>0 AND duration<=43200000 GROUP BY 1,2 ORDER BY 3 DESC;04-04 · דיווחים לפי סוג רישום
מספר הדיווחים לפי סוג הרישום, ולצדו סכום השעות מדיווחים סגורים שמשכם גדול מאפס ועד 12 שעות. ספירת הדיווחים כוללת גם דיווחים שלא נכללו בסכום השעות.
דגש לבדיקה: הספירה כוללת כל דיווח; השעות כוללות רק דיווחים סגורים שמשכם גדול מאפס ועד 12 שעות. האוכלוסיות שונות.
SELECT recordtype AS "סוג רישום",count(*) AS "דיווחים",sum(CASE WHEN "end" IS NOT NULL AND duration>0 AND duration<=43200000 THEN duration/3600000.0 END) AS "שעות תקינות עד 12 שעות" FROM {{schema}}.timelogreport WHERE deletedat IS NULL GROUP BY 1;04-05 · דיווחים לפי סוג עבודה
מספר הדיווחים לפי סוג העבודה שנרשם, ולצדו סכום השעות מדיווחים סגורים שמשכם גדול מאפס ועד 12 שעות. הסיווג מבוסס על הדיווח; השאלה אינה קובעת אם העבודה יצרנית או לא יצרנית.
דגש לבדיקה: המקור אינו קובע אילו סוגי עבודה בארגון נחשבים יצרניים. אוכלוסיות הספירה והשעות שונות, כמו ב־04-04.
SELECT type AS "סוג עבודה רשום",count(*) AS "דיווחים",sum(CASE WHEN "end" IS NOT NULL AND duration>0 AND duration<=43200000 THEN duration/3600000.0 END) AS "שעות תקינות עד 12 שעות" FROM {{schema}}.timelogreport WHERE deletedat IS NULL GROUP BY 1 ORDER BY 2 DESC;04-06 · בריאות דיווחי הזמן
חלוקת דיווחי הזמן לקבוצות: טיימרים פתוחים, דיווחים ללא משך זמן, דיווחים שמשכם אפס או שלילי, דיווחים מעל 12 שעות ודיווחים סגורים עד 12 שעות.
דגש לבדיקה: התנאי הראשון שמתאים ב־CASE קובע. סיום חסר מסווג כפתוח לפני בדיקת המשך.
SELECT CASE WHEN "end" IS NULL THEN 'טיימר פתוח' WHEN duration IS NULL THEN 'משך חסר' WHEN duration<=0 THEN 'משך לא חיובי' WHEN duration>43200000 THEN 'מעל 12 שעות' ELSE 'סגור עד 12 שעות' END AS "מצב דיווח",count(*) AS "דיווחים" FROM {{schema}}.timelogreport WHERE deletedat IS NULL GROUP BY 1 ORDER BY 2 DESC;04-07 · מספר טיימרים פתוחים
מספר דיווחי הזמן שאין להם מועד סיום. אם מוצג אפס, לא נמצאו דיווחים כאלה כשהשאלה הורצה.
דגש לבדיקה: זהו מדד כולל ללא עובד או תקופה. טיימר פתוח אינו מוכיח נוכחות או פעילות נוכחית.
SELECT count(*) AS "טיימרים פתוחים" FROM {{schema}}.timelogreport WHERE deletedat IS NULL AND "end" IS NULL;04-08 · מספר דיווחים ארוכים מ־12 שעות
מספר הדיווחים הסגורים שמשכם הרשום גדול מ־12 שעות. הסף של 12 שעות קבוע בשאלה ואינו מבוסס על הגדרת המשמרות בארגון.
דגש לבדיקה: הסף הקבוע הוא כלל החבילה ולא כלל המשמרת של הארגון. דיווח ארוך אינו בהכרח שגוי.
SELECT count(*) AS "דיווחים ארוכים מ־12 שעות" FROM {{schema}}.timelogreport WHERE deletedat IS NULL AND "end" IS NOT NULL AND duration>43200000;04-09 · מספר דיווחי זמן שנערכו לאחר סגירה
מספר הדיווחים שמועד סיומם הנוכחי שונה ממועד הסיום הראשון. אין כאן פירוט מי ערך ומה הייתה סיבת השינוי.
דגש לבדיקה: זה אינו יומן שינויים מלא ואין זיהוי של העורך או הסיבה לשינוי.
SELECT count(*) AS "דיווחים שנערכו לאחר סגירה" FROM {{schema}}.timelogreport WHERE deletedat IS NULL AND "end" IS NOT NULL AND firstend IS NOT NULL AND "end"<>firstend;04-10 · דיווחי זמן לפי מצב אישור
מספר הדיווחים לפי מצב אישור המנהל הרשום. מצב חסר מוצג כ־NOT_NEEDED; אינו מעיד לבדו שהארגון מפעיל תהליך אישור.
דגש לבדיקה: NULL מוצג כ־NOT_NEEDED. אין בכך הוכחה שתהליך אישור מנהל הוגדר או הושלם.
SELECT coalesce(managerapprovalstatus,'NOT_NEEDED') AS "מצב אישור",count(*) AS "דיווחים" FROM {{schema}}.timelogreport WHERE deletedat IS NULL GROUP BY 1 ORDER BY 2 DESC;05-01 · רשומות טפסים לפי סוג טופס
כמה רשומות נשמרו לכל סוג טופס, בכל המצבים. אינה מנתחת את התשובות בתוך הטפסים.
דגש לבדיקה: סינון מחיקה חל על formdata; הגדרת form המחוברת אינה מסוננת באותו אופן. טופס אינו בהכרח בדיקת איכות.
SELECT coalesce(f.name,'(ללא הגדרה)') AS "טופס",count(*) AS "רשומות" FROM {{schema}}.formdata d LEFT JOIN {{schema}}.form f ON f._id=d.formid WHERE d.deletedat IS NULL GROUP BY 1 ORDER BY 2 DESC;05-02 · רשומות טפסים לפי מצב מקורי
ספירת רשומות לפי סוג הטופס והסטטוס המקורי. משמעות פתוח או סגור תלויה בתהליך הארגוני; ערך ריק נשאר ריק.
דגש לבדיקה: משמעות המצב תלויה בארגון. מצב חסר אינו בהכרח פתוח. תשובות לשדות הטופס אינן נבדקות.
SELECT coalesce(f.name,'(ללא הגדרה)') AS "טופס",d.status AS "מצב מקורי",count(*) AS "רשומות" FROM {{schema}}.formdata d LEFT JOIN {{schema}}.form f ON f._id=d.formid WHERE d.deletedat IS NULL GROUP BY 1,2 ORDER BY 3 DESC;05-03 · גרסאות תהליכים זמינות
רשימת גרסאות התהליכים שלא נמחקו. לכל גרסה מוצג אם היא משוחררת נוכחית, אחרונה או היסטורית. הגרסה האחרונה אינה בהכרח הגרסה המשוחררת לשימוש.
דגש לבדיקה: גרסה משוחררת נוכחית מקבלת קדימות על האחרונה. האחרונה אינה בהכרח משוחררת; גרסת מוצר היא מושג נפרד.
SELECT name AS "תהליך",normalizedversion AS "גרסה",CASE WHEN currentreleasedversion THEN 'גרסה משוחררת נוכחית' WHEN latestversion THEN 'גרסה אחרונה' ELSE 'היסטורית' END AS "מצב גרסה" FROM {{schema}}.workflow WHERE deletedat IS NULL ORDER BY name,normalizedversion DESC;05-04 · מספר גרסאות לפי תהליך
מספר הגרסאות הלא־מחוקות לכל שם תהליך, וכמה מהן מסומנות כמשוחררות נוכחיות.
דגש לבדיקה: הקיבוץ לפי שם ולא לפי זהות תהליך. אין הבטחה לגרסה משוחררת נוכחית אחת בלבד.
SELECT name AS "תהליך",count(*) AS "גרסאות",count_if(currentreleasedversion=true) AS "גרסאות משוחררות נוכחיות" FROM {{schema}}.workflow WHERE deletedat IS NULL GROUP BY 1 ORDER BY 2 DESC;06-06 · כיסוי שיוך דיווחים לריצות
מספר דיווחי הזמן שאינם מקושרים לריצה, שמקושרים לריצה אחת או שמקושרים לכמה ריצות. השאלה סופרת את הדיווחים ואינה מחלקת את השעות בין הריצות.
דגש לבדיקה: sessionids שהוא NULL הופך למערך ריק. מספר האיברים אינו בהכרח מספר ריצות ייחודיות; הקישורים אינם מאומתים והשעות אינן מחולקות בין ריצות.
SELECT CASE WHEN cardinality(coalesce(sessionids,ARRAY[]))=0 THEN 'ללא ריצה' WHEN cardinality(sessionids)=1 THEN 'ריצה יחידה' ELSE 'מספר ריצות' END AS "שיוך דיווח",count(*) AS "דיווחים" FROM {{schema}}.timelogreport WHERE deletedat IS NULL GROUP BY 1;