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