• ברוכים הבאים
    לאתר הקורסים שלנו!

  • קורסים בBO,SQL וDWH

    לקטלוג הקורסים המלא, הקישו כאן
  • חומרי לימוד מקוריים ובעברית

    אנו משקיעים משאבים רבים כדי שחומר הלימוד יהיה מובן ומעודכן

    כל חומרי הלימוד מפותחים על ידנו וכתובים בעברית
  • יחס אישי וסבלנות אין קץ

    אנו מסבירים את החומר בסבלנות ועונים על כל שאלה

    יש לנו סבלנות לכל אחד
  • מדריכים מנוסים

    אצלנו המדריכים מנוסים הן בנושאי הקורס והן בהדרכה
  • 1
  • 2
  • 3
  • 4
  • 5
  • קורס הSQL המהפכני, המלמד SQL מההתחלה , לא רק את תחביר הפקודות אלא גם את כל הדינמיקות השונת המתרחשות בשפה.
    הקורס נלמד על מגוון בסיסי נתונים כדי לחקות את סביבת העבודה לאחר סיום הקורס.
    קראו עוד
  • בקורס זה אנו מלמדים כיצד לפתח דוחות באמצעות הWebintelligence. הקורס שם דגש על מספר נושאים, כגון הבאת נתונים מהDB באמצעות יצירת שאילתא, יצירה ועיצוב אובייקטים גרפים דוגמת, טבלה וגרף, ושימושיות למשל כדי לתזמן דוח. הקורס מלווה בתרגול רב, חלק נקודתי וחלק על ידי תרגילים מסכמים.
    קראו עוד
  • בקורס זה אנו נלמד כיצד לפתח דוחות באמצעות הWebintelligence של תוכנת Business Objects בגרסא 4.x . הקורס הוא קורס בן יום אחד למשתמשים אשר מכירים את הBO בגרסאות ישנות שלו, אשר שונות בצורה מהותית מגרסא 4. הקורס כרגיל מלווה בתרגול ובהרבה טיפים.
    קראו עוד
  • קורס ה Bo Designer Master הוא קורס ייחודי שפותח בארץ המקנה למשתמש מיומנויות מקצועיות בפיתוח עולמות תוכן באמצעות כלי הDesigner של Business Objects. קורס זה מדמה את סביבת העבודה של הDesigner וכן את המצבים והבעיות בהם נתקל בעבודתו. הקורס מועבר באמצעות סביבות של בסיסי נתונים "חיים" המכילים מודלים הקרובים מאד למודלים האמיתיים הנמצאים בפרויקטים. התלמיד בוחר את בסיס הנתונים שעליו רוצה לפתח את עולמות התוכן. (ישנן שתי אפשרויות: Sql Server או Oracle.)
    קראו עוד
  • למדתי מספר קורסים של אתר dwh.co.il בנושאי Business Objects. למרות שאני מנוסה מאד בתחום הBI למדתי דברים רבים ומעניינים שפתחו לי אפשרות לבצע דברים חדשים בעבודה היומיומית....
    קראו עוד
  • לאחר שמערכת הBO הוטמעה בארגון , החלטנו להרחיב את היריעה ולהכניס עוד משתמשים למעגל כותבי הדוחות. לצורך זה הזמנו קורסי Business Objects מאתר dwh.co.il. הקורסים של האתר היו מותאמים בדיוק למה שהיינו צריכים, המדריך הסביר בסבלנות....
    קראו עוד
  • dwh,אני חייב לכם תודה על הקורס שהעברתם לנו כאן בישראכרט - קורס מצויין ברמה גבוה, עם המון תכלס דרך תרגולים בה גם אנשי ה-BI המנוסים ביותר שלנו הצליחו ללמוד ולחדש...
    קראו עוד
  • DWH.CO.IL העבירו קורס Business Objects לקבוצת מנהלים ואנליסטים בביטוח ישיר ,הקורס הועבר בצורה מקצועית ויעילה ונגע בנקודות החשובות בעבודה היומיות....
    קראו עוד
  • במסגרת הטמעת מערכת הBusiness Objects בארגון , הזמנו קורס infoview באתר dwh.co.il....
    קראו עוד
  • הזמנו לבזק את אחת מהסדנאות BO Design למתקדמים. בהתחלה לא ידענו אם זה באמת מה שאנחנו צריכים, מאחר ויש לנו ניסיון רב בDesign בארגון....
    קראו עוד
  • פיתוח הקורסים

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

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

SCD הלכה למעשה-חלק 1

פרק בניתוח מערכות DWH

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

 

ההגדרה הפשוטה ביותר של SCD :

 

SCD היא טבלת Dimension השומרת היסטוריה

בואו נדגים את הנושא באמצעות מודל פשוט.

לפנינו טבלת Fact המתארת מכירות בחברת מוצרי צריכה.

Fact_Sales

המכילה את השדות הבאים:

Sales_Date- תאריך המכירה

Agent_id- קוד סוכן המכירות

Product_Id- קוד מוצר נמכר

Quantity- מספר פריטים שנמכרו

total- סה"כ סכום המכירה

את שדה ה Agent_Id , מפענחת טבלת המימד, Dim_Agents, המכילה את  השדות הבאים:

Agent_id- קוד סוכן המכירות

Agent_name-שם הסוכן

Agent_Region- אזור מכירה

 בואו נראה, ערכים לדוגמא: ) נתמקד בסוכן מספר 1)

Fact_Sales

total

Quantity

Product_id

Agent_id

Sales_date

1000

5

2

1

1/1/2010

900

10

5

1

1/2/2010

1300

20

7

1

7/9/2010

3000

15

9

1

5/1/2011

9000

10

12

1

1/2/2011

1200

6

17

1

5/3/2011

 

Dim_Agents

Agent_Region

Agent_Name

Agent_id

South

John Smith

1

 

כעת אם נרצה, למצוא את סכום המכירה לפי אזור, נשתמש בטבלת הdim_agents כדי למצוא את האזור. SQL, לדוגמא:

Select sum(total), agent_region
From fact_sales,dim_agents
Where fact_sales.agent_id=dim_agents.agent_id
Group by agent_region

נקבל

South    16400

כעת, בוצע שינוי ארגוני ובתאריך 1/1/2011, סוכננו היקר עבר מאזור South לאזור North, כמובן שטבלת הDim השתנתה והיא כעת:

Agent_Region

Agent_Name

Agent_id

North

John Smith

1

 

במידה ונריץ את הSQL שוב, נקבל הפעם

North    16400

וכאן בעצם טמונה הבעיה. המכירות שבוצעו לפני 1/1/2011, אשר צריכות להיות משויכות לSouth, ישויכו לNorth מאחר וNorth הוא האזור הנוכחי של agent 1.

אחת מהדרכים הנפוצות ביותר לפתור בעיה זאת הוא השימוש בScd (Slowly Changing Dimensions)

ישנם מספר סוגים של SCD`s, הנפוץ מבניהם, נקרא SCD Type2, ובו נתמקד. הרעיון הוא פשוט:

נבחר תכונה או תכונות במימד (במקרה זה, Agent_Region) ונתעד כל שינוי בתכונה בצירוף התאריכים מ\עד.

לדוגמא, לטבלה המימד, dim_agents, ניצור טבלה נוספת, scd_agents המתארת את השינוי המדובר. השדות של טבלה זאת יהיו:

Agent_id קוד סוכן המכירות

Agent_region אזור מכירה

Date_from תאריך מ  שבו התכונה התקיימה. הרשומה הראשונה תכיל את התאריך המינימלי בFact או לשם פשוט, תאריך נמוך בצורה קיצונית, למשל 1.1.1911

Date_to תאריך עד שבו התכונה התקיימה. הרשומה האחרונה, תכיל תאריך גבוה בצורה קיצונית, למשל 1.1.9999

Is_Current שדה זה הוא שדה כן\לא המתאר האם הרשומה המסוימת היא הרשומה האחרונה לagent

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

Is_Current

Date_to

Date_from

Agent_region

Agent_id

0

1/1/2011

1/1/1911

south

1

1

1/1/9999

1/1/2011

north

1

 

חיבור לFact Table

כדי לחבר את הטבלה החדשה שיצרנו ל Fact Table, יש למצוא לכל agent_id בטבלת הFact את המקביל לו בטבלת הSCD ואשר התאריך  בטבלת הfact נופל בין התאריכים בטבלת הSCD.(זאת הסיבה המדויקת מדוע בחרנו לאכלס את התאריכים בטבלת הSCD בתאריכי קיצון.) נראה את הSQL לדוגמא:

Select sum(total), agent_region
From fact_sales,scd_agents
Where fact_sales.agent_id=scd_agents.agent_id and fact_sales.sales_date  between scd_agents.date_from and scd_agents.date_to
Group by agent_region

 

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

לאחר ההרצה, נקבל את התוצאה הבאה:

 South 3200

North 13200

הצלחנו לפתור את הבעיה, שכן המכירות לפני 1/1/2011 שויכו לSouth, בעוד המכירות לאחר 1/1/2011 שויכו לNorth.

 

חלק 2 של המאמר בכתובת הזאת.

 

תנו לנו לייק לקבלת עדכונים שוטפים