Saturday, November 28, 2009

ניצני הקץ למחסני נתונים כבר כאן ?

ממש לא...אבל להשקפתי שינוי מהפכני בעתיד ה-BI מתחיל במקום בו למיקום וגודל לא תהיה חשיבות.
בשנים האחרונות אנו עדים לשילוב טכנולוגיות ה- In memory שמשולבות היטב במוצרים כמו QlickView וה- Sap Explorer.
בהקשר זה עולה כעת מוצר חדש מבית Sap Innovation Center ומאפשר למשתמש  ליצור טבלת היסטורייה שתאפשר לו לעקוב אחר שינויים לאורך כל נקודה על ציר הזמן ,החידוש הוא שהמנגנון עובד מול מערכת שלא יכולה לצבור היסטורייה(מערכת תפעולית).

קראו כאן וצפו פה:


Thursday, November 19, 2009

Xcelsius Publishing Plugin

Sap Innovation Center פתחו לאחרונה plugin ל-Xcelsius המאפשר לבצע Publication לקבצי Xcelsius,
כלומר להפיץ מצגות אקסליוס לפי פרופילים,כיצד להתקין וכיצד זה עובד,קראו כאן:

http://www.alteksolutions.com/wp/index.php/2009/09/how-to-implement-the-xcelsius-publishing-plugin/

עוד קצת על Auditor...

אפשר להגיד שה"חסרון" הגדול של ה- Auditor הוא בכך שהוא מתעד אך ורק פעילות במערכת.
נשמע ברור אך המשמעות היא שדוחות "רדומים",כאלו שנכתבו בתקופתם למען מטרה רגעית,או דוחות תקופתיים שנותרו קפואים לא מתועדים מאחר ולא מתבצעת בהם פעילות,כך שאם אתם מעוניינים בסקירת מערכות מלאה(סה"כ דוחות פעילים ולא פעילים למשל) לא תוכלו להשיג את המידע הזה אלא אם כן תשתמשו ב - Query builder המעצבן,בסקריפט שתבנו,
בבדיקה רוחבית ב-CMC או שתשתמשו במוצר משלים נוסף,ה-Meta Data Manager המתעד את כל תכולת ה- Repositoty באשר היא ומכאן אפשר כבר להצליב מידע עם נתוני ה- Auditor ולגלות מתוך סה"כ הדוחות שיש בידי כמה באמת פעילים וכמה הם רק חלק ממאגר בדוחות שנוצר...

חישובים מתקדמים בדוחות Deski - אומנות התחביר המורחב

במצגות הבאות תמצאו דוגמאות והסברים רבים ומגוונים כיצד ליצור חישובים מתקדמים,לבנות להם הקשרים (באיזה רמה יערך החישוב...) וכן תכירו את תחביר ה- foreach וה- forall.
1.נושא התחביר המורחב,מצגת טובה שנכתבה ע"י Alan Mayer :

http://www.qdrive.net/yoavl/file/146486/5bf4c6655f072b11e942c44265f0470c

2.נושא ה foraech,forall :תת נושא של התחביר המורחב ובעל ג'ננה משל עצמו:

http://www.qdrive.net/yoavl/file/60949/cd4fdc69a3b83845fa03b87a67e800d4


Monday, November 16, 2009

טיפ בשקל לדיזיינר - איך לפלטר מידע משותף ל-2 שאילתות או יותר בקלי קלות...

כדי לפלטר את הרשומות המשותפות ל -2 שאילתות או יותר משתמשים בד"כ בפונקציית ה-not is null.
מאחר וזיהוי שורה משותפת מתבצע ע"י בדיקה המוודאת שיש ערכים בכל השדות המשותפים הנוסחא הנ"ל מתבקשת
אם כי אפשר להחליפה גם ב- not is number,date,string.
כדי לחסוך ולהקל על המשתמש בסינון ניתן ליצור אובייקט Dummy בעולם שה-select שלו הוא 1 (לא לשייך אותו לטבלה!).
השדה יחזיר כמובן את הערך 1 ואם נגרור אותו יחד עם שדה משאילתא אחת ושדה משאילתא שניה הוא יציג את ערכי ה-1 רק לצד הרשומות המשותפות והמשתמש יוכל לעמוד על השדה ולבחור מתוך הרשימה (1 או empty) את הערך 1 ולפלטר בפשטות את הרשומות המשותפות ללא צורך בנוסחא...

Thursday, November 12, 2009

השוואה קלה בין Sap Business Objects ל- Cognos

מצגת שמצאתי ברשת ,לא פרטנית והכי איכותית  אבל נותנת כמה פרמטרים טובים של השוואה בין 2 כלי ה-BI המובילים היום בשוק,יש לציין שהמסמך נבנה עבור חברה קנדית,כך שחלק מהפרמטרים שלו ספציפיים למצגת:




Smart Universe Design לפי Steve Krandel

Steve Krandel  נחשב לאחד מהגורואים הגדולים והוותיקים
 של Sap Business Objects ובמצגת הבאה שמגיעה הישר מוועידת
Sap Business Objects 2009 הוא מראה כיצד ליצור Universe
חכם ,קל לפיתוח,זמין למשתמשים וכזה שפותר בעיות מורכבות בדרכים קלות,בין הנושאים שהוא מתייחס אליהם:
בניית טבלת זמן חכמה,טיפול ב- Contexts ו -Aliases ועוד:




Monday, November 9, 2009

מתיחת פנים לדוחות

דוחות שמציגים גרפים שנראים כמו רמזורים ?
עיצוב מותנה שמחזיר חיצים המורים למטה או למעלה לפי התוצאה ?
צפו במצגת (כולל דוחות לדוגמא) של Gregg Zollinger המדגימה כיצד לבצע מתיחת פנים עיצובית לדוחות Deski.

Saturday, November 7, 2009

רשמים מעבודה עם ה- Auditor

בזמן האחרון הזדמן לי לבצע מספר פרויקטים עם רכיב ה- Auditor והנה כמה מסקנות  :

1. הביצועים בעת הרצת דוחות על בסיס הנתונים של ה- Auditor עשויים להיות מחרידים ואף לייצר Deadlock בעת גישה לטבלאות שעסוקות בלקבל נתונים מה- Repository,ההמלצה שלי היא כמו בכל בסיס נתונים תפעולי ועל זה יושב ה- Auditor בסופו של דבר לייצר Data Mart קטן שיעביר את טבלאות ה- Auditor לסביבה יומית ולשם מומלץ
לטעון את טבלאות ה- View לטבלאות רגילות,לאנדקס ולפרטש את טבלאות ה- AUDIT_EVENT וה- AUDIT_DETAIL כדי לקבל ביצועים טובים , הנתונים הרי לא חייבים להיות Online.

2. מלבד סט הדוחות הבסיסי שה- Auditor מספק ניתן ליצור דוחות מעניינים כמו:
איזה משתמש לא פעיל מעל X זמן,איזה דוחות לא הורצו מעל –X זמן,כמה דוחות כפולים יש ב- Repository,איזה תקלות מכאניות (גישה ל-DB,הרשאה לא מתאימה,Login שגוי) נגרמות למשתמשים,מתי פעם אחרונה נכנס כל משתמש למערכת,מה אחוז השימוש במערכת.

3. סטטיסטיקה בסיסית כמו כמות דוחות,כמות דוחות לעולם,כמות משתמשים,כמות דוחות למשתמש ניתנת אף היא להפקה (מצריך פיתוח של דוחות נוספים לא חלק מהדוחות שבאים עם ההתקנה).

4. נתון מעניין שגיליתי:ניתן לאתר דוחות כבדים למערכת שבד"כ מעידים גם על בנייה לא נכונה.

המשוואה אומרת שבערך 100MG =  חמש מליון רשומות,דוחות מעין אלו הם דוחות מהגיהינום שמעידים על צבירה אדירה של נתונים ושימוש לא נכון במחולל הדוחות,דוח "דוחות כבדים" סייע לי לאתר כמה "פושעי דוחות" שלא בנו דוחות כיאות והתייחסו למערכת ככלי לצבירת נתונים למקרה שיום הדין יגיע,הכי חשוב שה-DB יהיה אצלם....
מיותר לציין אך מצאתי דוחות ששוקלים מעל 700MG....את החשבון תעשו לבד...
מעבר לכך אם נתווכח האם הדוח אכן צריך להגיע למימדים אלו (המשתמש רוצה "להקפיא" את דוח הכנסות 2008)
ניקוי/איפוס הדוחות הנ"ל תיטיב עם ה- Repository מאחר והיא תצמצם את גודלו ואת העובדה שבעת שמושכים דוח גדול כזה נוצר כאמור עומס על המערכת.

5. נתון מעניין נוסף שמצאתי היה האפשרות לקבל חיווי על ה-SQL של הדוח מה שטורם רבות כמובן לניטור הדוח,הבעיה הגדולה שמצאתי בנתון זה שרק דוחות שבוצע להם Edit  ,ה-SQL שלהם מתועד.
ניתן בהחלט להשתמש בכלי אוטומטי או לכתוב סקריפט שיפתח את הדוחות וישלים את המשימה
אבל זה עשוי להיות מורכב ולא יציב (פתיחה של אלפי דוחות שחלקם כבדים,על חלקם יש הרשאות,Table Mapping ועוד)
ופה כבר עשוי להיכנס עוד כלי למשימה ה-MDM : Meta Data Manager שיכול להציג גם את ה-SQL של כל דוח לפי עולם.

6. אם הדוחות אמורים לשמש את התמיכה כדאי ליצור טבלת משתמשים משודרגת שתכיל מידע כמו שם המשתמש,טלפון,מייל ושם חטיבה/מחלקה ולטעון אותה לסכימת ה- Auditor.

7. מינוס נוסף הוא שתאריך הראשי המתעד הוא AUDIT_EVENT.Start_Timestamp והוא קיים ברמת שעה ודקה,אם יש לכם Prompts עם תאריכים (בלי LOV כמובן!) המשתמשים יצטרכו להכניס תאריך בפורמט של שעה ודקה – מומלץ לבצע Trunc על התאריך או להשתמש בשדה ה. Audit_Event.Start_date

8. לא שצריך כלי ניטור בשביל זה אבל : מ-8 עד 10 בלגן של דוחות משתמשים והרצות,ב-12 הכול נרגע ואחרי סעודת הצהרים מי שחוזר לעבוד עם דוחות הוא כנראה באמת משתמש רציני....

9.אם אתם מעוניינים לתחקר את כל הדוחות,לצפות ב-SQL שלהם ולראות דוחות שגדולים מ-X מגה תצטרכו לייצר Aliases או לשטח את טבלת ה-Audit_Detail מאחר והיא מחזיקה את הערכים הנ"ל באותה עמודה בטבלה.

10.מומלץ לטעון את ה-LOV של שדות ה-DETAIL_TYPE.Detail_Type_Description
וה-DETAIL_TYPE.Detail_Type_Description לטבלאות Dummy שטוחות ואז לבצע Nested LOV בינהם כך שתוכלו לבחור בסוג פעולה Universe Name ותחתיו לבחור את שם העולם הספציפי.

Friday, November 6, 2009

יצירת Row Restriction ב- Universe

היי, בגרסאת ה- BOXI נושא ה - row restriction עבר לעולם מה- Supervisor
במצגת הבאה שנכתבה ע"י Dallas J. Marks תוכלו ללמוד על נושא ה- RESTRICTION SETS ב- universe,
מה התווסף ב- BOXI ,כיצד לבנות הרשאות,מה הם צרכי האבטחה בעולם,דוגמאות חיות לבנייה ו...Best practices .

הנה הלינק: