בינה עסקית

Download Report

Transcript בינה עסקית

Business Intelligence
1
What is “Business Intelligence”?
2
‫בינה עסקית‪ :‬מה היא?‬
‫בינה עסקית ‪Business Intelligence (BI) -‬‬
‫‪ BI ‬עוסקת בבניית מערכות‪ ,‬העוזרות לארגון‬
‫להפיק מידע משמעותי‪ ,‬מבחינה עסקית‪.‬‬
‫‪ ‬מערכות ‪BI‬‬
‫‪ ‬משתמשות במכלול הנתונים הנאספים על ידי העסק‪.‬‬
‫‪ ‬משמשות לצורך תמיכה בקבלת החלטות‪.‬‬
‫‪3‬‬
‫מרכיבים של מערכת ‪BI‬‬
‫‪ ‬מערכת ‪ BI‬כוללת חמישה חלקים‪:‬‬
‫‪ ‬מקורות נתונים‪ ,‬העברת נתונים או אנליזה בזמן אמת‪,‬‬
‫אחסון נתונים‪ ,‬מנועי אנליזה ואפליקציות‬
‫התמונה מהמאמר‪http://cacm.acm.org/magazines/2011/8/114953-an-overview-of-business-intelligence-technology/fulltext :‬‬
‫‪4‬‬
‫מקורות נתונים‬
‫‪ ‬נתונים המשמשים לקבלת החלטות יכולים לנבוע מ‪:‬‬
‫‪ ‬בסיסי נתונים תפעוליים‬
‫‪‬‬
‫‪‬‬
‫אלו בסיסי נתונים שמשתמשים בהם לפעולות יומיומיים של החברה‬
‫שימו לב שיכולים להיות הרבה בסיסי נתונים (של סניפים בינלאומיים‪ ,‬של‬
‫מחלקות שונות) בעלי סמכויות שונות‬
‫‪ ‬מקורות חיצוניים כגון‪:‬‬
‫‪‬‬
‫‪‬‬
‫‪5‬‬
‫מידע על חברות מתחרות‬
‫‪ ‬מן האינטרנט או מקבצים שחיברו אנשי מחקר‬
‫אירועים בשוק (כגון שינוי במכיר ניירות ערך)‬
‫העברת נתונים‬
‫‪ ‬העברת נתונים (בעזרת כלים בשם ‪ )ETL‬הנה תהליך שבה‪:‬‬
‫‪ ‬מפיקים את הנתונים מן המקורות הנ"ל‬
‫‪ ‬מכינים את הנתונים לאנליזה העתידית‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫מאחדים את הפורמט של כל הנתונים (אטריבוטים‪ ,‬טיפוסים)‬
‫מוודאים שלא יהיו נתונים עם טעויות (כגון רשומות חלקיות)‬
‫מוודאים שלא יהיו נתונים עבור מקרים יוצאי דופן‬
‫‪ ‬זה יכול גם לחכות עד שלב האנליזה‬
‫‪ ‬מכניסים את הנתונים למחסן הנתונים‬
‫‪‬‬
‫לצורך אנליזה עתידית‬
‫‪ ‬רשימה של כלי תוכנה‬
‫‪6‬‬
‫אנליזה בזמן אמת‬
‫‪ ‬לפעמים יש צורך באנליזה של נתונים בזמן אמת‪ .‬למשל‪:‬‬
‫‪ ‬ירידה במחיר ניירות ערך (אולי צריך לקנות מהר!)‬
‫‪ ‬מציאת פריט פגום – אולי יש צורך להחזיר את כל המוצרים‬
‫מהשעות האחרונות‬
‫‪ ‬ירידת פעילות באתר – יש לחפש סיבה‬
‫‪ ‬במקרים כאלה יש צורך לנתח את זרם הנתונים בזמן אמת‪.‬‬
‫‪ ‬לשם כך משתמשים ב‪Complex Event Processing :‬‬
‫‪( ‬עיבוד מורכב של אירועים)‪.‬‬
‫מידע נוסף‪:‬‬
‫‪ http://en.wikipedia.org/wiki/Complex_event_processing‬‬
‫‪ http://esper.codehaus.org/‬‬
‫‪ http://esper.codehaus.org/tutorials/tutorial/feedmonitor‬‬
‫‪_casestudy.html‬‬
‫‪7‬‬
‫מחסן הנתונים בקצרה‬
‫‪ ‬מחסן הנתונים – הנו‬
‫אוסף נתונים בפורמט‪,‬‬
‫המתאים לאנליזה בעזרת‬
‫כל הכלים הללו‪.‬‬
‫‪ ‬בהמשך נדבר הן על‬
‫הפורמט והן על הכלים‬
‫‪8‬‬
‫יתרונות של הפרדה בין בסיס הנתונים‬
‫התפעולי ובין מחסן הנתונים‬
‫‪ ‬ההפרדה בין בסיס הנתונים התפעולי ובין מחסן‬
‫הנתונים מאפשרת‪:‬‬
‫‪ ‬שתהליכי האנליזה הצורכים כמות גדולה של משאבים‬
‫חישוביים‪ ,‬לא יאטו את הפעילויות היום‪-‬יומיות של החברה‬
‫‪ ‬שמירת נתונים בפורמט המיועד לקריאה מהירה לצורך‬
‫אנליזה‬
‫‪‬‬
‫‪9‬‬
‫בדרך כלל לא מוחקים ולא מעדכנים נתונים במחסן הנתונים‬
‫כלי אנליזה‬
‫‪ ‬קיימים מספר סוגים של‬
‫כלי אנליזה‪:‬‬
‫‪ ‬מנוע ‪Online – OLAP‬‬
‫‪Analytical Processing‬‬
‫‪‬‬
‫מאפשר לבצע אנליזה של‬
‫הנתונים השמורים במחסן‬
‫הנתונים ע"י שימוש במודל‬
‫הקובייה (נלמד בהמשך)‬
‫‪ ‬מנוע כריית מידע‬
‫‪‬‬
‫מאפשר ללמוד דברים חדשים‬
‫מהמידע הקיים (נלמד בהמשך)‬
‫‪ ‬מנוע חיפוש (מסוג ‪)Google‬‬
‫‪ ‬כלים ליצירת דיווחים‬
‫‪10‬‬
‫‪ OLAP‬מול ‪OLTP‬‬
‫‪ ‬יש להבדיל בין שני כלים שונים‪:‬‬
‫‪Online Transaction Processing – OLTP ‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫טכנולוגיה כדי להפיק מידע מבסיסי נתונים תפעוליים‬
‫דוגמה‪ :‬משיכת מזומן מכספומט‪ .‬כלי ‪ OLTP‬כוללים כלי תוכנה‬
‫בכספומט וכו' עד בסיס הנתונים בשרת הבנק‬
‫רוב יישומי ‪ OLTP‬מסתמכים על ‪DBMS‬‬
‫‪Online Analytical Processing – OLAP ‬‬
‫‪‬‬
‫‪11‬‬
‫מבצע שאילתות מול מחסן נתונים‬
‫אפליקציות‬
‫‪ ‬משתמשי ‪ BI‬נגשים לכלים הנ"ל דרך‬
‫אפליקציות‪:‬‬
‫‪ ‬חיפוש‬
‫‪‬‬
‫ממשק למנוע חיפוש‬
‫‪ ‬גיליון אלקטרוני‬
‫‪‬‬
‫המשך עיבוד פלט שאילתות‪ ,‬כריית מידע‬
‫ודיווחים‬
‫‪ ‬לוח מחוונים‬
‫‪‬‬
‫וויזואליזציה של דיווחי סיכום‬
‫‪ ‬שאילתות אד הוק‬
‫‪‬‬
‫‪12‬‬
‫ממשק להגשת שאילתות ל ‪OLAP‬‬
‫דוגמת לוח מחוונים‬
‫‪13‬‬
‫מה נלמד בהמשך‬
‫‪ ‬בהמשך ההרצאה נלמד‪:‬‬
‫‪ ‬אנליזת נתונים השמורים במחסן נתונים בעזרת‬
‫מודל ה "קובייה"‬
‫‪ ‬כיצד מאורגן מידע במחסן נתונים‬
‫‪ ‬שפת שאילתות ‪ MDX‬עבור הקובייה‬
‫‪ ‬התפקיד של כריית מידע ב ‪BI‬‬
‫‪14‬‬
The CUBE and Operators on It
15
‫מושג הקובייה‬
‫‪16‬‬
‫קנדה מקסיקו ארה"ב‬
‫לקוח‬
‫משקה‬
‫כוהלי חלבי‬
‫‪ ‬יכולים להיות מספר רב של‬
‫ממדים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫אוכל אחרים‬
‫‪ ‬לקוח‪ ,‬מוצר ו זמן‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫מוצר‬
‫‪ ‬בדוגמה‪ ,‬הקובייה עבור מרכול‬
‫היא בעלת שלושה ממדים‪:‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫שתייה‬
‫‪ ‬קובייה הנה ייצוג לוגי רב ממדי‬
‫של נתונים השמורים במחסן‬
‫נתונים‪ .‬ייצוג זה מאפשר יישום‬
‫שיטות אנליטיות בעלות עוצמה‬
‫הממדים‬
‫‪ ‬כל ממד מורכב מחברי הממד‬
‫‪17‬‬
‫קנדה מקסיקו ארה"ב‬
‫לקוח‬
‫משקה‬
‫כוהלי חלבי‬
‫אותו אבא או הורה)‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫שתייה‬
‫‪ ‬לדוגמה‪ ,‬החברים כוהלי‪ ,‬משקה ו חלבי‬
‫הינם בנים של החבר שתייה (מכנים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫אוכל אחרים‬
‫‪ ‬חברים בממדים יכולים להיות‬
‫מאורגנים בהיררכיות‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫מוצר‬
‫‪ ‬לדוגמה‪ ,‬בממד מוצר ישנם‬
‫חברים‪:‬‬
‫‪ ‬שתייה‪ ,‬כוהלי‪ ,‬משקה‪ ,‬חלבי‪,‬‬
‫אוכל ועוד‬
‫המידות והעובדות‬
‫‪ ‬בתוך הבלוקים (הקוביות הקטנות) רשומות מידות‬
‫‪ ‬דוגמאות של מידות‪:‬‬
‫‪‬‬
‫ארה"ב‪ ,‬שתייה‪1997 ,‬‬
‫‪ ‬מידות מכונות גם עובדות‪:‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫קנדה מקסיקו ארה"ב‬
‫לקוח‬
‫‪ ‬נסביר את הכינוי בעזרת הדוגמה‪:‬‬
‫‪ ‬העובדה היא שכל השתייה שנמכרה בארה"ב בשנת ‪ 1997‬עלתה ‪$29,358‬‬
‫‪18‬‬
‫אוכל אחרים‬
‫‪ ‬חבר אחד עבור כל ממד‬
‫‪ ‬הבלוק של ‪ $29,358‬מייצג את החברים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫מוצר‬
‫‪ ‬כל בלוק מייצג רשומת חברים‬
‫משקה‬
‫כוהלי חלבי‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫שתייה‬
‫‪ ‬רווח ממכירות‬
‫‪ ‬מספר המוצרים שנמכרו וכו'‬
‫כמה בלוקים יש בקובייה?‬
‫קנדה מקסיקו ארה"ב‬
‫לקוח‬
‫משקה‬
‫כוהלי חלבי‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫שתייה‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫אוכל אחרים‬
‫‪19‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫מוצר‬
‫‪ ‬כמה בלוקים יש בקובייה?‬
‫‪ ‬תלוי‪ ,‬כי אפשר להסתכל על כל‬
‫היררכיה במפלסים שונים‬
‫‪ ‬נניח שבדוגמה רק ממד המוצר‬
‫מאורגן בהיררכיה ורק מתחת‬
‫לחבר שתייה יש בנים‬
‫‪ ‬אם נסתכל במפלס של שתייה‪ ,‬אז‬
‫ישנם ‪ 27=3*3*3‬בלוקים‬
‫‪ ‬אם נסתכל במפלס של סוגי‬
‫שתייה‪ ,‬אזי ישנם ‪45=3*5*3‬‬
‫בלוקים‬
Drill Down/Up 
Slice/Dice 
Pivot 
20
‫‪Drill Down‬‬
‫קנדה מקסיקו ארה"ב‬
‫שתייה אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$4,227‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫קנדה מקסיקו ארה"ב‬
‫‪ ‬אופרטור ‪ Drill Down‬נכנס למפלס יותר מפורט בחבר מסוים‬
‫של ממד מסוים של הקובייה‬
‫‪ ‬בדוגמה ירדנו בהיררכיה בחבר ה שתייה של ממד ה מוצר‬
‫‪ ‬יש לשים לב בדוגמה לתלות בין הסכומים בשתי הקוביות‬
‫‪21‬‬
‫כוהלי משקה חלבי‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$16,679‬‬
‫אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$8,452‬‬
‫‪Drill Up‬‬
‫קנדה מקסיקו ארה"ב‬
‫שתייה אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$4,227‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫קנדה מקסיקו ארה"ב‬
‫‪ ‬אופרטור ‪ Drill Up‬הנו ההפך מ ‪Drill Down‬‬
‫‪ ‬הוא מעלה אותנו למפלס כללי יותר‬
‫‪ ‬בדוגמה‪ :‬עלינו בחזרה בחבר ה שתייה של ממד ה מוצר‬
‫‪22‬‬
‫כוהלי משקה חלבי‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$16,679‬‬
‫אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$8,452‬‬
‫‪Slice/Dice‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫שתייה אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫קנדה מקסיקו ארה"ב‬
‫‪ ‬אופרטור ‪ Slice/Dice‬פורס את‬
‫הקובייה עבור חבר אחד או‬
‫עבור מספר חברים בממד‬
‫מסוים‬
‫‪ ‬בדוגמה פרסנו עבור חבר ‪1997‬‬
‫של ממד הזמן‬
‫‪23‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫שתייה אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫קנדה מקסיקו ארה"ב‬
‫‪ ‬שימו לב שבתוצאה יכולים להישאר‬
‫פחות ממדים ממה שהיו בקובייה‬
‫המקורית‬
‫‪ ‬אם נשארים פחות מ ‪ 3‬ממדים‪ ,‬אזי‬
‫האופרטור נכנה ‪ Slice‬ולא – ‪Dice‬‬
‫‪ ‬בדוגמה נשארו רק שני ממדים‬
‫‪ ‬למעשה תמיד אומרים ‪Slice‬‬
‫דוגמת ‪Dice‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫קנדה מקסיקו ארה"ב‬
‫שתייה אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫‪$16,679‬‬
‫‪$245,764‬‬
‫‪$4,227‬‬
‫‪$64,487‬‬
‫קנדה מקסיקו ארה"ב‬
‫‪ ‬בדוגמה זאת פרסנו עבור חברים ‪ 1997‬ו ‪1998‬‬
‫של ממד הזמן‬
‫‪24‬‬
‫שתייה אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$8,452‬‬
‫‪Pivot‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487‬‬
‫קנדה מקסיקו ארה"ב‬
‫שתייה אוכל אחרים‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$245,764‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$64,487 $245,764 $29,358‬‬
‫שתייה‬
‫אוכל אחרים‬
‫‪ ‬אופרטור ‪ Pivot‬מחליף ממדים‬
‫‪ ‬בדוגמה החלפנו ממדי המוצר והלקוח‬
‫‪25‬‬
‫קנדה מקסיקו ארה"ב‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$29,358‬‬
‫‪$0‬‬
‫‪$0‬‬
‫‪$0‬‬
Organization of Data in the Data Warehouse
26
‫שלושה סוגי ‪OLAP‬‬
‫‪ ‬קיימים שלושה סוגי ‪OLAP‬‬
‫‪ ‬ההבדלים מתבטאים באופן שמירת הנתונים‪:‬‬
‫‪ – ROLAP ‬מבוסס על מודל היחסים‬
‫‪ – MOLAP ‬מבוסס על מודל הקובייה‬
‫‪ ‬יתרון‪ :‬ביצוע שאילתות באופן מהיר‬
‫‪ ‬חסרון‪ :‬שטח דיסק מבוזבז‬
‫‪ ‬דוגמה‪ :‬הלקוח יוסי קנה רק בשנת ‪ 1997‬ורק חלב‪ ,‬אבל יש‬
‫עבורו בלוקים בקובייה עבור כל המוצרים בכל השנים‬
‫‪ – HOLAP ‬חלקי יחסים וחלקי קובייה‬
‫‪ ‬רוב מערכות ה‪ BI-‬של היום משתמשות ב ‪HOLAP‬‬
‫‪ ‬אנחנו נלמד רק על חלק היחסים (‪)ROLAP‬‬
‫‪27‬‬
‫סכמה עבור מחסן נתונים ב ‪ROLAP‬‬
‫‪ ‬אפשר להשתמש באחד משתי הסכמות‬
‫‪ ‬הפשוטה שביניהם נקראת סכמת ‪Star‬‬
‫‪ ‬העובדות שמורות‬
‫בטבלת העובדות‬
‫‪ ‬טבלת העובדות‬
‫מקושרת לטבלאות‬
‫הממדים‬
‫התמונה מהמאמר‪http://en.wikipedia.org/wiki/Star_schema :‬‬
‫‪28‬‬
‫הטבלאות אינן מנורמלות!‬
‫‪ ‬האם שיכפול נתונים זה גורם‬
‫לבעיות?‬
‫‪ ‬טבלאות הממדים אינן‬
‫מנורמלות‬
‫‪ ‬אינם ב ‪!BCNF‬‬
‫‪ ‬האם קיים שיכפול‬
‫‪ 29‬נתונים? כן!‬
‫‪ ‬בזבוז שטח דיסק? כן!‬
‫‪ ‬אנומליות? לא!‬
‫‪‬‬
‫תרגיל‪ :‬מדוע לא? (רמז‪ :‬עיין בסוף‬
‫שקופית ‪)9‬‬
‫‪ ‬יתרון‪ :‬ביצוע שאילתות על הקובייה‬
‫בצורה מהירה‬
‫‪ ‬כי לא צריכים לצרף טבלאות‬
‫סכמת ‪ Snowflake‬עבור הדוגמה‬
‫‪ ‬אם לא יכולים לעמוד בצריכת שטח דיסק של סכמת‬
‫‪ ,Star‬אזי משתמשים בסכמת ‪Snowflake‬‬
‫‪ ‬בסכמת ‪ Snowflake‬טבלאות הממדים מנורמלות‬
‫(לא בהכרח עד ‪ )BCNF‬להיררכיה‬
‫התמונה מהמאמר‪http://en.wikipedia.org/wiki/Snowflake_schema :‬‬
‫‪30‬‬
The MDX Query Language
31
‫מה זה ‪?MDX‬‬
‫‪Multi-Dimensional eXpressions – MDX ‬‬
‫‪ ‬היא שפה מיוחדת בעלת עוצמה רבה לשאילתות על‬
‫הקובייה‬
‫‪ MDX ‬הנה בעלת דמיון עם ‪ ,SQL‬אך קיימים הבדלים‬
‫מהותיים‬
‫‪ Microsoft ‬חידשו את השפה והיא נהיית לסטנדרט‬
‫בעולם ‪BI‬‬
‫‪ ‬אנחנו נלמד תוכנת ‪ ,icCube‬אפשר להוריד אותה‪:‬‬
‫‪http://www.iccube.com/download ‬‬
‫‪ ‬יש צורך להתקין ‪( 1.7 JRE‬או חדש יותר) קודם‬
‫‪32‬‬
‫פסיעות ראשונות ב ‪icCube‬‬
‫‪ ‬אחרי ההתקנה יש להריץ ‪icCube Server‬‬
‫‪ ‬נגשים לתוכנה על ידי ריצת )‪icCube Web (Local‬‬
‫‪ ‬משאירים שם המשתמש והסיסמה ריקים‬
‫‪ ‬יש לבחור סכמת "‪ "Sales‬שהיא הקובייה המגיעה‬
‫ביחד עם ‪icCube‬‬
‫‪33‬‬
‫קובייה לדוגמה‬
‫‪ “Sales” ‬הנה קובייה של מכירות של תוכנת ‪icCube‬‬
‫‪ ‬מידות (‪:)Measures‬‬
‫‪ ‬ממדים (‪:)Dimensions‬‬
‫‪34‬‬
‫‪ ‬נעיין בממד ‪Customers‬‬
‫‪ ‬מפלסים (‪)Levels‬‬
‫מאורגנים בהיררכיות‬
‫(‪:)Hierarchies‬‬
‫קובייה לדוגמה‬
‫‪ ‬ארגון חברים של ממד ‪:Customers‬‬
‫‪35‬‬
‫קובייה לדוגמה‬
‫‪ ‬בדוגמאות של ביטויי ‪ MDX‬נשתמש בשלושה‬
‫ממדים‪:‬‬
‫‪ ‬שימו לב שלכל ממד יכולים להיות כמה היררכיות‬
‫‪ ‬בקוביית מכירות יש עוד היררכיות לממד זמן‬
‫‪ 36‬נסתפק בהיררכיות בתמונה בשביל הדוגמאות‬
‫המבנה הבסיסי‬
‫של שאילתות‬
‫‪MDX‬‬
‫‪ ‬המבנה הבסיסי של שאילתות ‪:MDX‬‬
‫חברים של ממדים עבור שורות ועמודות של טבלת פלט ‪SELECT‬‬
‫קובייה ‪FROM‬‬
‫פריסה ‪WHERE‬‬
‫‪ ‬שורות ועמודות מכונים צירים (באנגלית‪)axes :‬‬
‫‪ SELECT ‬מקביל ל ‪ Pivot‬ו ‪Drill Down/Up‬‬
‫‪ WHERE ‬מקביל ל‪Slice/Dice‬‬
‫‪ ‬סדר ביצוע של השאילתה הנו כמו ב ‪:SQL‬‬
‫‪37‬‬
‫‪( SELECT ,WHERE ,FROM ‬בסדר משמאל לימין)‬
‫השאילתה‬
‫הראשונה‬
‫‪ ‬יש להציג סכום המכירות בקנדה בשנת ‪2009‬‬
‫‪ ‬שימו לב שהצבירה (כלומר‪ ,‬חישוב סכום) נעשתה עבורנו!‬
‫‪38‬‬
‫חבר‬
‫ברירת מחדל‬
‫‪ ‬עבור אילו מוצרים היה‬
‫מחושב הרווח?‬
‫‪ ‬החבר ברירת מחדל‬
‫‪Default member ‬‬
‫‪39‬‬
‫סטים של‬
‫חברים‬
‫‪ ‬יש להציג סכום המכירות‪ ,‬ומספר המכירות בקנדה וארה"ב‪.‬‬
‫יש להציג מידע רק עבור שנת ‪.2009‬‬
‫‪ ‬שימו לב שמנוע ‪ OLAP‬ידע לפרש חברים בלי שנפרש אנחנו‪:‬‬
‫‪ [Customers].[Geography].[All Regions].[North‬‬
‫‪40‬‬
‫]‪America].[Canada‬‬
‫חישוב סטים‬
‫בעזרת פונקציות‬
‫‪ ‬יש להציג את כל המידות עבור כל המדינות של צפון‬
‫אמריקה‪ .‬יש להציג מידע רק עבור שנת ‪.2009‬‬
‫‪ – Members ‬כל החברים של היררכיה או מפלס מסוים‬
‫‪ – Descendants ‬כל הצאצאים של החבר במפלס מסוים‬
‫‪41‬‬
‫סטים בעלי שם‬
‫‪ ‬לפעמים נוח לתת לסט שם‪ .‬הנה השאילתה כמו בשקופית‬
‫הקודמת‬
‫‪42‬‬
‫פריסה מול סינון‬
‫‪ ‬יש להציג את כל המידות עבור מכירות במדינות של צפון אמריקה‪ .‬יש‬
‫להציג מידע רק עבור שנת ‪ .2009‬יש להציג מידע רק עבור מדינות בעלות‬
‫מכירות העולות על ‪$13,000‬‬
‫‪ ‬ב ‪ MDX‬לא מסננים ב ‪ .WHERE‬שם רק פורסים את הקובייה‪.‬‬
‫‪43‬‬
‫עוד דוגמה של‬
‫סינון‬
‫‪ ‬יש להציג את סכום המכירות (של כל השנים) עבור כל מדינה בעלת סכום‬
‫מכירות בשנת ‪ 2010‬שעולה על ‪$80,000‬‬
‫‪44‬‬
‫סינון לפי שם‬
‫החבר‬
‫‪ ‬יש להציג את כל המידות עבור המדינות של אמריקה שהאות‬
‫השלישית בשמם היא ”‪ .“n‬יש להציג מידע רק עבור שנת ‪.2009‬‬
‫‪ – member_value ‬שם של חבר הנוכחי בהיררכיה‬
‫‪ –instr ‬איפה נמצאת מחרוזת השנייה בתוך מחרוזת הראשונה‬
‫‪45‬‬
‫‪‬‬
‫מחזירה ‪ 0‬עם לא נמצאת‬
‫פריסה לפי רשומה‬
‫של כמה חברים‬
‫‪ ‬יש להציג את כל המידות עבור המכירות בקנדה‪ .‬יש לחשב רק‬
‫מכירות של רישיונות (‪ icCube )license‬בשנת ‪2009‬‬
‫‪ ‬חברים ברשומות צריכים להיות מהיררכיות שונות (אפילו של‬
‫אותו ממד)‬
‫‪ ‬חברים ברשומות צריכים להיות מהיררכיות שלא מופיעות‬
‫‪ 46‬בצירים (כלומר‪ ,‬שורות ועמודות)‬
‫פריסה לפי רשומה‬
‫של סטים‬
‫‪ ‬הרשומה היא באמת רשומה של סטים!‬
‫‪ ‬רק שעד עכשיו התעסקנו עם סט של פריט אחד‬
‫‪ ‬יש להציג את כל המידות עבור המכירות בקנדה‪ .‬יש לחשב רק‬
‫מכירות של רישיונות (‪ )license‬המוצרים בשנות ‪ 2009‬ו ‪2010‬‬
‫‪47‬‬
‫פריסה לפי סטים של‬
‫רשומות (של סטים)‬
‫‪ ‬יש להציג את כל המידות עבור המכירות בקנדה‪ .‬יש לחשב רק‬
‫מכירות של‬
‫‪ ‬רישיונות (‪ )license‬המוצרים בשנות ‪ 2009/2010‬ו‬
‫‪ ‬תמיכת המוצרים בשנת ‪2010‬‬
‫‪48‬‬
‫סטים של‬
‫בצירים‬
‫רשומות‬
‫‪ ‬כל נקודה על הציר היא באמת רשומה!‬
‫‪ ‬הציר מוגדר כסט של רשומות‬
‫‪ ‬יש להציג את כל המידות עבור המכירות בקנדה בשנת ‪2009‬‬
‫ובארה"ב בשנת ‪.2010‬‬
‫‪49‬‬
‫סטים של‬
‫רשומותכאן?בצירים‬
‫‪ ‬מה קרה‬
‫‪ ‬היררכיות של הפריטים בסט לא דומות‬
‫‪ ‬אבל זה בסדר‪:‬‬
‫‪50‬‬
‫‪ ‬אפשר להשתמש באופרטורים על סטים‪:‬‬
‫‪Intersect ,)Crossjoin( * ,)Except( - ,)Union( + ‬‬
‫‪ ‬יש להציג את כל המידות עבור המכירות במדינות של צפון אמריקה‬
‫ודרום אמריקה בשנת ‪.2009‬‬
‫‪51‬‬
‫שימוש באופרטורים‬
‫על סטים‬
‫‪ ‬אפשר להשתמש באופרטורים על סטים‪:‬‬
‫‪Intersect ,)Crossjoin( * ,)Except( - ,)Union( + ‬‬
‫‪ ‬יש להציג את כל המידות עבור המכירות במדינות של צפון אמריקה חוץ‬
‫מקנדה ודרום אמריקה בשנת ‪.2010‬‬
‫‪52‬‬
‫שימוש באופרטורים‬
‫על סטים‬
‫‪ ‬אפשר להשתמש באופרטורים על סטים‪:‬‬
‫‪Intersect ,)Crossjoin( * ,)Except( - ,)Union( + ‬‬
‫‪ ‬יש להציג את כל המידות עבור המכירות במדינות של צפון אמריקה‬
‫בשנות ‪ 2009‬ו ‪.2010‬‬
‫‪53‬‬
‫שימוש באופרטורים‬
‫על סטים‬
‫‪ ‬אפשר להשתמש באופרטורים על סטים‪:‬‬
‫‪Intersect ,)Crossjoin( * ,)Except( - ,)Union( + ‬‬
‫‪ ‬יש להציג את כל המידות עבור המכירות במדינות של צפון אמריקה‬
‫בעלות סכום המכירות יותר מ ‪ $80,000‬ומספר המכירות פחות מ ‪.200‬‬
‫‪54‬‬
‫‪ MDX ‬היא שפה בעלת עוצמה‬
‫‪ ‬אע"פ שלמדנו המון על ‪ ,MDX‬ראינו רק חלק קטן‬
‫מהשימושים האפשריים‬
‫‪ ‬אפשר לראות עוד דוגמאות מתקדמות בסוף המצגת בכתובת‪:‬‬
‫‪ http://www.slideshare.net/markginnebaugh/mdx-what-bi-developers-need-to-know‬‬
‫‪ ‬תיאור של כל הפונקציות תמצאו בכתובת‪:‬‬
‫‪ http://technet.microsoft.com/en-us/library/ms145970.aspx‬‬
‫‪60‬‬
The Role of Data Mining in BI
61
‫כלי אנליזה (תזכורת)‬
‫‪ ‬מנוע כריית מידע‬
‫‪ ‬מאפשר ללמוד דברים חדשים‬
‫מהמידע הקיים‬
‫‪62‬‬
‫מה זה כריית מידע?‬
‫(כמה ביטויים לוקחו מגרסת עברית של ‪)http://en.wikipedia.org/wiki/Datamining‬‬
‫‪ ‬כריית מידע או כריית נתונים (באנגלית‪Data :‬‬
‫‪ )Mining‬היא גילוי מידע חדש בבסיסי נתונים‬
‫או מחסני נתונים קיימים‬
‫‪ ‬גילוי דפוסים תקפים חדשים ובעלי משמעות‬
‫‪ ‬פירוש המילים "בעלי משמעות"‪ :‬מקבלי ההחלטות‬
‫יכולים להבין את הדפוסים‬
‫‪ ‬מקבלי ההחלטות יכולים להשתמש בדפוסים‬
‫שהתגלו כדי לשפר תהליכים קיימים‬
‫‪63‬‬
‫בעיות שכריית מידע פותרת‬
‫‪ ‬סיווג (באנגלית‪ – )Classification :‬בהתאם‬
‫לדוגמאות שנאספו בעבר‪ ,‬אפשר להסיק מודל סיווג‬
‫המשמש לסווג מקרים חדשים‬
‫‪ ‬בנק יכול לבנות מודל סיווג של לווי משכנתא בהתאם‬
‫לדוגמאות שנאספו בעבר‪ .‬כאשר מגיע לקוח חדש המבקש‬
‫משכנתא‪ ,‬הוא מסווג לפי מידת הוודאות שהוא אכן יצליח‬
‫לעמוד בעתיד בהחזרי ההלוואה‬
‫‪64‬‬
‫בעיות שכריית מידע פותרת‬
‫‪ ‬ניתוח אשכולות (באנגלית‪ – )Clustering :‬פילוח של‬
‫הרשומות לאשכולות‪ ,‬כך שבכל אשכול נמצאות‬
‫רשומות בעלות מאפיינים דומים‬
‫‪ ‬ניתן להיעזר באלגוריתם לניתוח אשכולות כדי לפלח את‬
‫לקוחות החברה כדי לשלוח פרסום יותר מכוון בעתיד‬
‫‪65‬‬
‫הבעיות הנפוצות של כריית מידע‬
‫‪ ‬רגרסיה (באנגלית‪ – )Regression :‬מציאת פונקציה‬
‫הממדלת את הנתונים הקיימים תוך מזעור שגיאת‬
‫הניבוי‬
‫‪ ‬מה יהיה מכיר של מניות ‪ Google‬מחר?‬
‫‪ ‬למידת חוקי אסוציאציה (באנגלית‪Association :‬‬
‫‪ – )Rule Learning‬מציאת קשרים בין פריטים‬
‫שונים של נתונים‬
‫‪ ‬ניתוח סל קניות (באנגלית‪. )Market Basket Analysis :‬‬
‫‪‬‬
‫‪66‬‬
‫אילו מוצרים נרכשים בדרך כלל יחדיו (כגון ממרח שוקולד‬
‫ולחם)? בהתאם לתוצאות ניתן לסדר את המוצרים במרכול‬
‫בצורה האופטימלית‬
‫כריית מידע מול למידת מכונה‬
‫‪ ‬למידת מכונה (באנגלית‪ )Machine Learning :‬היא‬
‫תחום ‪.AI‬‬
‫‪ ‬מטרת למידת מכונה היא שהסוכן ילמד מניסיון‬
‫הקודם או ידע הנתון כדי לשפר ביצועים בעתיד‬
‫‪ ‬לעתים רבות שני התחומים משתמשים באותם‬
‫אלגוריתמים ולכן מתבלבלים ביניהם‬
‫‪ ‬מקור של רוב האלגוריתמים האלה הינו בתחום‬
‫למידת מכונה‬
‫‪ ‬שם של הספר על מערכת ‪ WEKA‬לכריית מידע הוא‪:‬‬
‫"‪"Data Mining: Practical Machine Learning Tools and Techniques‬‬
‫‪67‬‬
‫‪ ‬לכן‪ ,‬ניתן להגדיר‪ :‬כריית מידע משתמשת באלגוריתמים של למידת‬
‫מכונה למטרת מציאת ידע חדש בנתונים הקיימים‬
‫‪‬למדנו על‪:‬‬
‫‪ ‬מושג ‪BI‬‬
‫‪ ‬ארגון מידע במחסן הנתונים‬
‫‪ ‬קובייה ושפת שאילתות ‪MDX‬‬
‫‪68‬‬