1 / 63

בינה עסקית

בינה עסקית. Business Intelligence. בינה עסקית: מה היא ?. What is “Business Intelligence”?. בינה עסקית: מה היא?.

hanzila
Download Presentation

בינה עסקית

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. בינה עסקית Business Intelligence

  2. בינה עסקית: מה היא? What is “Business Intelligence”?

  3. בינה עסקית: מה היא? בינה עסקית (באנגלית:Business intelligence,בראשי תיבות: BI)עוסקת בבניית מערכות העוזרות לארגון להפיק מידע משמעותי מבחינה עסקית מתוך מכלול הנתונים הנאספים על ידיו לצורך תמיכה בקבלת החלטות.

  4. מרכיבים של מערכת BI • מערכת BI כוללת חמישה חלקים: • מקורות נתונים, העברת נתונים או אנליזה בזמן אמת, מחסן נתונים, מנועי אנאליזה ואפליקציות התמונה מהמאמר: http://cacm.acm.org/magazines/2011/8/114953-an-overview-of-business-intelligence-technology/fulltext

  5. מקורות נתונים • נתונים השייכים לקבלת החלטות יכולים לנבוע מ: • בסיסי נתונים תפעוליים • הם בסיסי נתונים שמשתמשים בהם לפעולות יומיומיים של החברה • שימו לב שיכולים להיות הרבה בסיסי נתונים (של סניפים בינלאומיים, של מחלקות שונות) בעלי סכמות שונות • מקורות חיצוניים כגון: • מידע על חברות מתחרות • מן האינטרנט או מקבצים שחיברו אנשי מחקר • אירועים בשוק (כגון שינוי במכיר ניירות ערך)

  6. העברת נתונים • העברת נתונים (בעזרת כלים בשם ETL) הנה תהליך שבה: • מפיקים את הנתונים מן המקורות הנ"ל • מכינים את הנתונים לאנליזה העתידית • מאחדים את הפורמט של כל הנתונים (אטריביוטים, טיפוסים) • שלא יהיו נתונים עם טעויות (כגון רשומות חלקיות) • שלא יהיו נתונים עבור מקרים יוצאי דופן (אבל זה יכול גם לחכות עד שלב האנליזה) • מכניסים את הנתונים למחסן הנתונים לצורך אנליזה עתידית

  7. אנליזה בזמן אמת • לפעמים יש צורך לאנליזה של נתונים בזמן אמת. דוגמאות: • ירידה במחיר ניירות ערך (אולי צריך לקנות מהר!) • מציאת פריט פגום – אולי יש צורך להחזיר את כל המוצרים של כמה שעות אחרונות • ירידת פעילות באתר – יש לחפש סיבה • במקרים כאלה יש צורך לנתח את זרם הנתונים בזמן אמת. • זאת עושים בעזרת Complex Event Processing (עיבוד מורכב של עירוים). • מידע נוסף: • http://en.wikipedia.org/wiki/Complex_event_processing • http://esper.codehaus.org/ • http://esper.codehaus.org/tutorials/tutorial/feedmonitor_casestudy.html

  8. מחסן הנתונים בקצרה • מחסן הנתונים – הנו אוסף נתונים בפורמט, המתאים לאנליזה בעזרת כל הכלים הללו. • בהמשך נדבר הן על הפורמט והן על הכלים

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

  10. כלי אנליזה • קיימים מספר סוגים של כלי אנליזה: • מנוע OLAP – Online Analytical Processing • מאפשר לבצע אנליזה של הנתונים השמורים במחסן הנתונים ע"י שימוש במודל הקובייה(נלמד בהמשך) • מנוע כריית מידע • מאפשר ללמוד דברים חדשים מהמידע הקיים (נלמד בהמשך) • מנוע חיפוש (מסוג Google) • כלים לייצור דיווחים

  11. OLAP מול OLTP • יש להבדיל בין שני כלים שונים: • OLTP – Online Transaction Processing הנו טכנולוגיה כדי להפיק מידע מבסיסי נתונים תפעוליים • דוגמה: משיכת מזומן מכספומט. כלי OLTP כוללים כלי תוכנה בכספומט וכו' עד בסיס הנתונים בשרת הבנק • רוב יישומי OLTP מסתמכים על DBMS • מנוע OLAP -- Online Analytical Processing • מבצע שאילתות מול מחסן נתונים

  12. אפליקציות • משתמשי BI נגשים לכלים הנ"ל דרך אפליקציות: • חיפוש • ממשק למנוע חיפוש • גיליון אלקטרוני • המשך עיבוד פלט שאילתות, כריית מידע ודיווחים • לוח מחוונים • וויזואליזציה של דיווחי סיכום • שאילתות אד הוק • ממשק להגשת שאילתות ל OLAP

  13. דוגמת לוח מחוונים

  14. מה נלמד בהמשך • בהמשך ההרצאה נלמד: • אנליזת נתונים השמורים במחסן נתונים בעזרת מודל ה "קובייה" • כיצד מאורגנת מידע במחסן נתונים • שפת שאילתות MDX עבור הקובייה • תפקיד של כריית מידע ב BI

  15. קובייה ואופרטורים עליה The CUBE and Operators on It

  16. מושג הקובייה 1999 זמן $29,358 $0 $0 • קובייה הנה ייצוג לוגי רב ממדי של נתונים השמורים במחסן נתונים. ייצוג זה מאפשר יישום שיטות אנליטיות בעלות עוצמה • בדוגמה, הקובייה עבור מרכול היא בעלת שלושה ממדים: • לקוח, מוצרו זמן • יכולים להיות מספר רב של ממדים 1998 1997 כוהלי $245,764 $0 $0 שתייה משקה חלבי $64,487 $0 $0 מוצר אוכל אחרים ארה"ב מקסיקו קנדה לקוח

  17. הממדים 1999 זמן $29,358 $0 $0 • כל ממד מורכב מחברי הממד • לדוגמה, בממד מוצר ישנם חברים: • שתייה, כוהלי, משקה, חלבי, אוכל ועוד • חברים בממדים יכולים להיות מאורגנים בהיררכיות • לדוגמה, החברים כוהלי, משקה וחלבי הינם בנים של החבר שתייה (מכנים לו אבא או הורה) 1998 1997 כוהלי $245,764 $0 $0 שתייה משקה חלבי $64,487 $0 $0 מוצר אוכל אחרים ארה"ב מקסיקו קנדה לקוח

  18. המידות והעובדות 1999 זמן $29,358 $0 $0 • בתוך הבלוקים (הקוביות הקטנות) רשומות מידות • דוגמאות של מידות: רווח ממכירות, מספר המוצרים שנמכרו וכו' • כל בלוק מקבילה לרשומה של חברים – חבר אחד עבור כל ממד • הבלוק בדוגמה שכתוב עליו 29,358$ מקביל לחברים ארה"ב, שתייה, 1997 • למידות מכנים גם עובדות: • נסביר את הכינוי בעזרת הדוגמה: • העובדה היא שכל השתייה שנמכרה בארה"ב בשנת 1997 עלתה ל 29,358$ 1998 1997 כוהלי $245,764 $0 $0 שתייה משקה חלבי $64,487 $0 $0 מוצר אוכל אחרים ארה"ב מקסיקו קנדה לקוח

  19. כמה בלוקים יש בקובייה? 1999 זמן $29,358 $0 $0 • כמה בלוקים יש בקובייה? • תלוי, כי אפשר להסתכל על כל היררכיה במפלסים שונים • נניח שבדוגמה רק ממד המוצר מאורגן בהיררכיה ורק מתחת לחבר שתייה יש בנים • אם נסתכל במפלס של שתייה, אז ישנם 3*3*3=27 בלוקים • אם נסתכל במפלס של סוגי שתייה, אזי ישנם 3*5*3=45 בלוקים 1998 1997 כוהלי $245,764 $0 $0 שתייה משקה חלבי $64,487 $0 $0 מוצר אוכל אחרים ארה"ב מקסיקו קנדה לקוח

  20. אופרטורים על קובייה • Drill Down/Up • Slice/Dice • Pivot

  21. Drill Down 1999 1999 $29,358 $8,452 $0 $0 $0 $0 • אופרטור Drill Down נכנס למפלס יותר מפורט בחבר מסוים של ממד מסוים של הקובייה • בדוגמה ירדנו בהיררכיה בחבר ה שתייה של ממד ה מוצר • יש לשים לב בדוגמה לתלות בין הסכומים בשתי הקוביות 1998 1998 1997 1997 $16,679 $245,764 $0 $0 $0 $0 כוהלי שתייה $4,227 $64,487 $0 $0 $0 $0 משקה אוכל חלבי אחרים $245,764 $0 $0 ארה"ב מקסיקו קנדה אוכל $64,487 $0 $0 אחרים ארה"ב קנדה מקסיקו

  22. Drill Up 1999 1999 $29,358 $8,452 $0 $0 $0 $0 • אופרטור Drill Upהנו ההפך מ Drill Down • הוא מעלה אותנו למפלס כללי יותר • בדוגמה: עלינו בחזרה בחבר ה שתייה של ממד ה מוצר 1998 1998 1997 1997 $16,679 $245,764 $0 $0 $0 $0 כוהלי שתייה $4,227 $64,487 $0 $0 $0 $0 משקה אוכל חלבי אחרים $245,764 $0 $0 ארה"ב מקסיקו קנדה אוכל $64,487 $0 $0 אחרים ארה"ב קנדה מקסיקו

  23. Slice/Dice 1999 $29,358 • $29,358 $0 $0 $0 $0 • אופרטור Slice/Dice פורס את הקובייה עבור חבר אחד או עבור מספר חברים בממד מסוים • בדוגמה פרסנו עבור חבר 1997 של ממד הזמן 1998 1997 1997 • $245,764 $245,764 $0 $0 $0 $0 שתייה שתייה אוכל $64,487 • $64,487 $0 $0 $0 $0 אוכל אחרים אחרים ארה"ב ארה"ב מקסיקו מקסיקו קנדה קנדה • שימו לב שבתוצאה יכולים להישאר פחות ממדים ממה שהיו בקובייה המקורית • אם נשארים פחות מ 3 ממדים, אזי האופרטור נכנה Slice ולא – Dice • בדוגמה נשארו רק שני ממדים • למעשה תמיד אומרים Slice

  24. דוגמת Dice 1999 1998 $8,452 $29,358 $29,358 $0 $0 $0 $0 $0 $0 • בדוגמה זאת פרסנו עבור חברים 1997 ו 1998 של ממד הזמן 1998 1997 1997 $245,764 $16,679 $245,764 $0 $0 $0 $0 $0 $0 שתייה שתייה אוכל $64,487 $64,487 $4,227 $0 $0 $0 $0 $0 $0 אוכל אחרים אחרים ארה"ב ארה"ב מקסיקו מקסיקו קנדה קנדה

  25. Pivot 1999 1999 $29,358 $0 $0 $0 $0 $0 • אופרטור Pivot מחליף ממדים • בדוגמה החלפנו ממדי המוצר והלקוח 1998 1998 1997 1997 $245,764 $0 $0 $0 $0 $0 קנדה שתייה $64,487 • $64,487 • $245,764 $0 $0 • $29,358 מקסיקו אוכל ארה"ב אחרים שתייה ארה"ב אחרים אוכל מקסיקו קנדה

  26. ארגון מידע במחסן הנתונים Organization of Data in the Data Warehouse

  27. שלושה סוגי OLAP • קיימים שלושה סוגי OLAP • ההבדלים מתבטאים באופן שמירת הנתונים: • ROLAP – מבוסס על מודל היחסים • MOLAP – מבוסס על מודל הקובייה • יתרון: ביצוע שאילתות באופן מהיר • חסרון: שטח דיסק מבוזבז • דוגמה: הלקוח יוסי קנה רק בשנת 1997 ורק חלב, אבל יש עבורו בלוקים בקובייה עבור כל המוצרים בכל השנים • HOLAP – חלקי יחסים וחלקי קובייה • רוב המערכות BI של היום משתמשות ב HOLAP • אנחנו נלמד רק על חלק היחסים (ROLAP)

  28. סכמה עבור מחסן נתונים ב ROLAP • אפשר להשתמש באחד משתי הסכמות • הפשוטה שביניהם נקראת סכמת Star • העובדות שמורות בטבלת העובדות • טבלת העובדות מקושרת לטבלאות הממדים התמונה מהמאמר: http://en.wikipedia.org/wiki/Star_schema

  29. טבלאות אינם מנורמלות! • האם שיכפול נתונים זה גורם לבעיות? • בזבוז שטח דיסק? כן! • אנומליות? לא! • תרגיל: מדוע לא? (רמז: עיין בסוף שקופית 9) • יתרון: ביצוע שאילתות על הקובייה בצורה מהירה • כי לא צריכים לצרף טבלאות • טבלאות הממדים אינם מנורמלות • אינם ב BCNF! • האם קיים שיכפול נתונים? כן!

  30. סכמת Snowflake עבור הדוגמה • אם לא יכולים לעמוד בצריכת שטח דיסק של סכמת Star, אזי משתמשים בסכמת Snowflake • בסכמת Snowflake טבלאות הממדים מנורמלות (לא עד BCNF) להיררכיה התמונה מהמאמר: http://en.wikipedia.org/wiki/Snowflake_schema

  31. שפת שאילתות MDX The MDX Query Language

  32. מה זה MDX? • MDX – Multi-Dimensional eXpressions • היא שפה מיוחדת בעלת עוצמה רבה לשאילתות על הקובייה • MDX הנה בעלת דמיון עם SQL, אך קיימים הבדלים מהותיים • Microsoft חידשו את השפה והיא נהיית לסטנדרט בעולם BI • אנחנו נלמד תוכנת icCube, אפשר להוריד אותה: • http://www.iccube.com/download • יש צורך להתקין JRE 1.7 (או חדש יותר) מקודם

  33. פסיעות ראשונות ב icCube • אחרי ההתקנה יש להריץ icCubeServer • נגשים לתוכנה על ידי ריצת icCube Web (Local) • משאירים שם המשתמש והסיסמה ריקים • יש לבחור סכמת "Sales"שהיא הקובייה המגיעה ביחד עם icCube

  34. קובייה לדוגמה • “Sales” הנה קובייה של מכירות של תוכנת icCube • נעיין בממד Customers • מפלסים (Levels) מאורגנים בהיררכיות (Hierarchies): • מידות (Measures): • ממדים (Dimensions):

  35. קובייה לדוגמה • ארגון חברים של ממד Customers:

  36. קובייה לדוגמה • בדוגמאות של ביטויי MDX נשתמש בשלושה ממדים: • שימו לב שלכל ממד יכולים להיות כמה היררכיות • בקוביית מכירות יש עוד היררכיות לממד זמן • נסתפק בהיררכיות בתמונה בשביל הדוגמאות

  37. המבנה הבסיסי של שאילתות MDX • המבנה הבסיסי של שאילתות MDX: SELECTחברים של ממדים עבור שורות ועמודות של טבלת פלט FROMקובייה WHEREפריסה • לשורות ועמודות מכנים צירים (באנגלית: axes) • SELECT מקביל ל Pivot ו Drill Down/Up • WHERE מקביל לSlice/Dice • סדר ביצוע של השאילתה הנו כמו ב SQL: • FROM, WHERE, SELECT (בסדר משמאל לימין)

  38. השאילתה הראשונה • יש להציג סכום המכירות בקנדה בשנת 2009 • שימו לב שהצבירה (כלומר, חישוב סכום) נעשתה עבורנו! SELECT[Customers].[Canada] on Rows, [Measures].[Amount] on Columns FROM [Sales] WHERE [Time].[2009]

  39. חברים בהיעדרות • עבור אילו מוצרים היה מחושב הרווח? • עבור החבר בהעדרות! • Default member SELECT[Customers].[Canada] on Rows, [Measures].[Amount] on Columns FROM [Sales] WHERE [Time].[2009]

  40. סטים של חברים • יש להציג סכום ומספר המכירות בקנדה וארה"ב. יש להציג מידע רק עבור שנת 2009. • שימו לב שמנוע OLAP ידע לפרש חברים בלי שנפרש אנחנו: • [Customers].[Geography].[All Regions].[North America].[Canada] SELECT {[Canada], [United States]} on Rows, {[Measures].[Count], [Measures].[Amount]} on Columns FROM [Sales] WHERE [Time].[2009]

  41. חישוב סטים בעזרת פונקציות • יש להציג את כל המידות עבור כל המדינות של צפון אמריקה. יש להציג מידע רק עבור שנת 2009. • Members– כל החברים של היררכיה או מפלס מסוים • Descendants – כל הצאצאים של החבר במפלס מסוים SELECT Descendants([North America],[Country]) on Rows, [Measures].members on Columns FROM [Sales] WHERE [Time].[2009]

  42. סטים בעלי שם • לפעמים נוח לתת לסט שם. הנה השאילתה כמו בשקופית הקודמת WITH SET [Amer.Countries] AS Descendants([North America],[Country]) SELECT [Amer.Countries] on Rows, [Measures].members on Columns FROM [Sales] WHERE [Time].[2009]

  43. פריסה מול סינון • יש להציג את כל המידות עבור מכירות במדינות של צפון אמריקה. יש להציג מידע רק עבור שנת 2009. יש להציג מידע רק עבור מדינות בעלות מכירות עולות על 13,000$ • ב MDX לא מסננים ב WHERE. שם רק פורסים את הקובייה. WITH SET [Amer.Countries] AS Descendants([North America],[Country]) SELECT Filter([Amer.Countries],[Measures].[Amount]>13000) on Rows, [Measures].members on Columns FROM [Sales] WHERE [Time].[2009]

  44. עוד דוגמה של סינון • יש להציג את סכום המכירות (של כל השנים) עבור כל המדינה בעלת סכום המכירות בשנת 2010 שעולה על 80,000$ WITH SET [myset] AS Filter([Country].members, ([Measures].[Amount], [2010])>80000) select [myset] on rows, [Measures].[Amount] on columns from [sales] /* select order([Country].members, [measures].[amount], bdesc) on Rows, [measures].[Amount] on Columns from [sales] where [2010] */

  45. סינון לפי שם החבר • יש להציג את כל המידות עבור המדינות של אמריקה שהאות השלישית בשמם היא “n”. יש להציג מידע רק עבור שנת 2009. • member_value – שם של חבר הנוכחי בהיררכיה • instr– איפה נמצאת מחרוזת השנייה בתוך מחרוזת הראשונה • מחזירה 0 עם לא נמצאת WITH SET [Amer.Countries] AS Descendants([North America],[Country]) SELECT Filter([Amer.Countries], instr([Geography].member_value, "n")=3) on Rows, [Measures].members on Columns FROM [Sales] WHERE [Time].[2009]

  46. פריסה לפי רשומה של כמה חברים • יש להציג את כל המידות עבור המכירות בקנדה. יש לחשב רק מכירות של רישיונות (license) icCube בשנת 2009 • חברים ברשומות צריכים להיות מהיררכיות שונות (אפילו של אותו ממד) • חברים ברשומות צריכים להיות מהיררכיות שלא מופיעות בצירים (כלומר, שורות ועמודות) SELECT [Canada] on Rows, [Measures].members on Columns FROM [Sales] WHERE ([Time].[2009], [Product].[License])

  47. פריסה לפי רשומה של סטים • הרשומה היא באמת רשומה של סטים! • רק שעד עכשיו התעסקנו עם סט של פריט אחד • יש להציג את כל המידות עבור המכירות בקנדה. יש לחשב רק מכירות של רישיונות (license) המוצרים בשנות 2009 ו 2010 SELECT [Canada] on Rows, [Measures].members on Columns FROM [Sales] WHERE ({[Time].[2009], [Time].[2010]}, [Product].[License])

  48. פריסה לפי סטים של רשומות (של סטים) • יש להציג את כל המידות עבור המכירות בקנדה. יש לחשב רק מכירות של • רישיונות (license) המוצרים בשנות 2009/2010 ו • תמיכת המוצרים בשנת 2010 SELECT [Canada] on Rows, [Measures].members on Columns FROM [Sales] WHERE {({[Time].[2009], [Time].[2010]}, [Product].[License]), ([Time].[2010], [Product].[Support])}

  49. סטים של רשומות בצירים • כל נקודה על הציר היא באמת רשומה! • הציר מוגדר כסט של רשומות • יש להציג את כל המידות עבור המכירות בקנדה בשנת 2009 ובארה"ב בשנת 2010. SELECT {([Canada],[2009]), ([United States],[2010])} on Rows, [Measures].members on Columns FROM [Sales]

  50. סטים של רשומות בצירים • מה קרה כאן? • היררכיות של הפריטים בסט לא דומות • אבל זה בסדר: SELECT {([Canada],[2009]), ([United States],[License])} on Rows, [Measures].members on Columns FROM [Sales] SELECT {([Ottawa],[2009]), ([United States],[Feb 2010])} on Rows, [Measures].members on Columns FROM [Sales]

More Related