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