Sunday, December 28, 2008
Information OnDemand - לא כל המידע יושב בארגון...
Trend Analyzer Component באקסליוס
קראו כאן :
http://www.infosol.com/buildpage.aspx?k=x_tt2
Friday, December 26, 2008
מדריך Webi 3.X להורדה
Performing On Report Analysis with Web Intelligence :
http://help.sap.com/businessobject/product_guides/boexir3/en/xi3_web_intelligence_formulas_functions_calculations_en.pdf
לצערי אין לי זמן לכתוב מדריך בעברית,אך מי שמחפש תכונה מסויימת מוזמן לשאול...
Tuesday, December 23, 2008
פילטור מדדים בדוח
בעקרון כל שדה שמגיע מהשאילתא מייצר רשימת ערכים ברת סינון,אולם כל חישוב שמשנה את רמת הסיכום או מכיל פונקציות כמו for each,all,max,min,אחוזים,where נחשב לחישוב "מורכב" שאינו מייצר רשימת ערכים וכאן פילטר פשוט לא יספיק.
אז הנה מאמר נחמד מבית Ezine המציג את הבעיות וכמובן שאת הפתרונות:
http://www.reportmessenger.com/eZine/2006_Q3/bo.htm#applyingfilters
Saturday, December 13, 2008
בניית תת-שאילתא קוארלטיבית ב - Designer
אולם אם נרצה לשלוף עבור כל לקוח את התאריך הנוכחי בכדי לאפשר להסתכל על מצבו העכשווי נצטרך להשתמש בתת-שאילתא קוארלטיבית אותה נוכל לשלב כתנאי בעולם.
תת-שאילתא קוארלטיבית היא תת-שאילתא מיוחדת שקרויה גם repeating sub query.
למה ? מאחר והיא חוזרת על עצמה.בדוגמא שלפנינו תת - השאילתא מחזירה עבור כל לקוח את התאריך האחרון שלו .תת-השאילתא סורקת את רשומות הלקוח מוצאת את התאריך הנוכחי שלו ועוברת ללקוח הבא,מוצאת את התאריך המקסימלי שלו וכך הלאה,עד שהיא מסיימת לעבור על כלל הלקוחות.
על מנת לאפשר את ה"לופיות" הזו אנו בונים alias כנגד טבלת הלקוחות בכדי לאפשר את ההשוואה החוזרת הזו (קוראלצייה...) של כל לקוח ולקוח.
קוראלציית ה- alias מתרחשת on the fly ונשבץ אותה בפסוקית ה- From כתנאי בעולם.
טבלת ה – s1 היא טבלת ה-alias ואנו מביאים את השורה הנוכחית (המקסימלית...) ע"י שימוש בפונקציית ה-max על שדה ה- invoice_date :
from sales s1
(where s1.cust_id = Sales.cust_id
התוצאה:לכל לקוח מוחזר תאריך הקנייה האחרון:
יש לקחת בחשבון: מאחר ותהליך ביצוע התת-השאילתא הקוראלטיבית יכול להיות יקר במשאבים מאחר והוא חוזר על עצמו שוב ושוב יש לבחון במקרה הצורך שיפור ביצועים ע"י שימוש ב- partitions או index כאשר צריך לבדוק מה הפתרון המתאים ביותר שיציע ה- DBA או ע"י אנליזה עצמאית שתערכו על השאילתא.
Webi XI tips & tricks
1.מצגת שנכתבה ע"י Alan Mayer ומציגה מבחר טיפים וטריקים (כולל לדיזיינר) לשימוש מוצלח יותר ב - Webi XI
http://www.integrasolutions.net/pdf/2006webintelligencebestpractices.pdf
2.מצגת שנכתבה ע"י Michael Welter ומציגה מבחר דוגמאות כיצד ליצור משתנים,נוסחאות,עיצובים וטיפים (גם לדיזיינר...)
http://sfarea.org/P5.pdf
Wednesday, December 10, 2008
זיהוי פילטרים חבויים בדוח
Tuesday, December 9, 2008
30 הפיצ'רים הבולטים ב-BOXI XI 3.X
1. Document Linking
2. Optional prompts
3. Native printing in rich client and applet
4. Support for stored procedures in universes
5. Desktop Intelligence to Web Intelligence report migration enhancements
6. Multilingual prompts
7. Enhanced OLAP source access capabilities
8. Derived Tables on Derived Tables
9. Query Sampling, Query Percentage Rank
10. Rich client/offline
11. Personal data provider
12. Track data changes
13. Semi-additive measures; smart cube
14. Link to URL Wizard
15. Report to Report Linking Wizard
16. Added functions
17. Extension points
18. Publishing
19. New Semantic Layer driver support: Java Beans; JDBC
20. Layering
21. Embed images
22. Align objects
23. Filter map
24. Format painter
25. Zoom content
26. New undo/redo !!!!!!!!!!!!!
27. Find values in report, find objects, chart or table name in doc structure
28. Keyboard shortcuts
29. Structure View and Structure View Navigation shortcuts
30. New formulas
Tuesday, December 2, 2008
בניית חישובים ומשתנים בדוח
בצמד המצגות הבא שנכתבו ע"י David G. Rathbun ו - Alan K. Mayer
תוכלו למצוא המון טיפים וטריקים איך ליצור משתנים מורכבים בדוח,לבצע טריקים חישוביים ולהכיר את יסודות התחביר המורחב,חלק מהנושאים המתוארים במצגות המצורפות מועברים בקורס מתקדמים שאני מעביר,בבקשה:
צמצום גודל הדוח
איך תוכלו לצמצם את הנפח וע"י כך להפחית משמעותית את הזמן שאתם מחכים לביצוע של כל פעולה ופעולה ?
קראו את המאמר המצויין הבא של חברת Infosol
Question:
I have a complex document which takes a while to download and is over 400 MB in size, even when the data is purged! How can I reduce the size of this document
Answer:
BusinessObjects Reporter (5.x/6.x) and Desktop Intelligence (XIR2, XIR3) have a known issue with retaining data from previous queries that have since been modified or deleted, and with retaining variables and formulas that are no longer in use. To reduce the size of existing reports, with the data provider ghosts, the report must be recreated (there is an easy way to do this with minimal work involved). To reduce the size of reports with just variable and formula ghosts, you can simply delete the variables and formulas (but you must first know how to tell which variables and formulas are in use).
Recreating Reports
To recreate a complex report from scratch might take some time. Luckily, Desktop Intelligence (Reporter) provides the ability to save a report as a template. Refer to our techtip titled, “All About Templates” to review how templates are created and reused. Then you can recreate the queries either manually, or with a macro available to the public on the BOB user forum website (http://busobj.forumtopics.com/) for copying the dataproviders and variables.
Once the report data and variables are recreated, apply the templates created from the original report. This can result in reducing the size of a report from over 400 Mbytes to around 50 Mbytes!
To avoid the problem in the creation of future reports, purge the data-providers prior to modifying or deleting them.
Deleting Unused Variables and Formulas
In the Variable Manager interface, all variables and formulas and constants are viewable and a delete button is present. Although they must be deleted one at a time, for each attempt at deletion, a message will appear which effectively tells you whether the variable or formula or constant is currently used in the report. You may want to beware of nested variables, though.
Monday, December 1, 2008
Synchronization Bible - המדריך לסנכרון בין שאילתות
תוכלו לקרוא על כל הסודות,הג'ננות,הטיפים והטריקים בעת חיבור שאילתות,מתי זה עובד ,מתי זה לא עובד,
איך לטפל בבעיות חישוב ועוד המון נושאים אחרים מעניינים:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c0733bb6-5c43-2b10-a2a7-949ebe11c2f6
והנה עוד מצגת מצויינת שנכתבה ע" Steve Bickerton :
http://www.forumtopics.com/busobj/viewtopic.php?t=53239
בחירת סוג האופרטור ב-Prompt
כלומר התוצאה שתתקבל תהיה prompt עם רשימת האופרטורים לבחירה...הנה התחביר:
Sunday, November 30, 2008
datepart של רבעון ושנה:SQL Server
הנה הפונקצייה ל- SQL Server:
'Q'+convert(varchar, datepart(qq, pubs.dbo.sales.ord_date))+'-'+ convert(varchar, datepart(yyyy, pubs.dbo.sales.ord_date))
Friday, November 28, 2008
ANSI 92 - פרמטר ב-Designer
נשנה את הפרמטר הראשון ANSI 92 מ- N ל- Y :
כעת נבחין במס' שינויים ביכולות העולם:
1. ניתן לבצע Full Outer Join בין טבלאות :
2. רוב ה- DB's זורקים את ה- Joins לפסוקית ה- Where (טרה לא...)
ANSI 92 מעביר אותם אל פסוקית ה- From:
לפני:
המשמעות היא שה- SQL שנוצר כעת עשוי להיות אופטימלי מאחר וה- Joins מתבצעים כבר ברמת ה- From ,כך שכמות הרשומות שהשאילתא צריכה לעבד מצטמצמת כשמגיעים ל- where
(ארקדי ודימה אומרים שתמיד עדיף ככה וכך גםה-execution plan של ה-SQL...)
3.אפשרויות עריכה מתקדמות ב- Join
אפשרות זו קובעת איזה אובייקטים שהמשתתש בוחר בתנאי השאילתא יעברו לפסוקית ה- From,כאשר ניתן לבחור בחלונית זו רק את אותם אובייקטים המבוססים על הטבלאות ב- Join,המשמעות היא שוב שביצועי השאילתא עשויים להיות טובים יותר...
א.אפשרות ראשונה :
Default behavior / No objects in FROM = אובייקטי התנאי נשארים בפסוקית ה-FROM :
ב.אפשרות שניה :
כל- All objects in FROM= אובייקטי התנאי יועברו ל- FROM :
ג.אפשרות שלישית:
Selected objects in FROM = רק האובייקטים הנבחרים יועברו לפסוקית ה- FROM
בסה"כ הכל ANSI 92 נותן אפשרויות שליטה מתקדמות בייצור ה-SQL הגנרי בעולם ויכול לשפר את כל מבנה העולם.עכשיו מה שנשאר לכם זה רק לדבר עם איגור ה-DBA שיבדוק האם יש באמת שיפור בשאילתות....
Thursday, November 27, 2008
מציאת משתמשים שלא ביצעו Login ל- BOXI באמצעות ה- Query Builder
באמצעות הרצת הסקריפט הבא ב- Query Builder תוכלו לגלות מי הם:
select top 1000000 si_id, si_name, si_lastlogontime from ci_systemobjects
where si_kind = 'user' and si_lastlogontime is null
Wednesday, November 26, 2008
Xcelsius 2008 SP1 Fixpack 1 יצא לדרך
חבילת התיקון הראשונה ל-Xcelsius יצאה ומכילה בתוכה מספר תיקונים מתבקשים והריהם לפניכם,החשובים מבינהם סומנו באדום:
Tab Set component produces ActionScript Error #1034 and then crashes when user groups Tab Set's canvases in Object Browser. -> resolved
Filter component loses art and is disabled in Preview, when both Radio Button and Play Selector are also on canvas. -> resolved
LiveCycle Data Services connection: Querying for Data Destinations clears spreadsheet bindings for all existing data elements and resets them to null-> resolved
Using QAAWS, Xcelsius report does not show changed data.-> resolved
When a model contains a large number of Live Office connections, Preview produces an Action Script error.-> resolved
Placing an existing group of components into a Container component, and then un-grouping the components renders them unselectable.-> resolved
A SWF file stored on a local machine with a QaaWS connection, will consume a second license when the connection is refreshed.-> resolved
List Box, Label Based Menu, List Builder and Ticker components: In Design Mode, alert icons persist after deleting previously set Alert Values.-> resolved
After session times out, QaaWS connection does NOT pop up BOE login dialog and cannot retrieve data.-> resolved
Components are unable to bind to cells in spreadsheets with an exclamation point in the name of the spreadsheet, for example "Xcelsius!".-> resolved
Alerts: When using the Enable Auto Colors option, in conjunction with enabling alerts using the By Value selection, the color gradient chosen by Xcelsius will vary each time the XLF is opened.-> resolved
After opening an XLF file that uses a Global Font (selected from File>Document Properties) other than the default Verdana font, will selected font will be displayed correctly in Preview mode, but not in Design mode.-> resolved
Performance issues of Flash files produced by Xcelsius 2008.-> various performance improvements (for detail information check Fixed Issues document)
Problem: When retrieving data using QaaWS or Web Service data connections, some selector Labels display "Undefined", "Null" or produce ActionScript error message #1009.-> resolved (for detail information check Fixed Issues document)
Label Based Menu: When component is displayed using Dynamic Visibility, the first Label is missing. -> resolved (for detail information check Fixed Issues document)
Excel 'IF' Function: If the IF function's Logical_test parameter references a blank cell, Xcelsius will calculate the formula incorrectly in Preview mode or at runtime.-> resolved
Map components - Alerts: When the alert threshold values are bound to a range, and the values are dynamically changed, the alerts are not updated.-> resolved
When an MXML component, for example MXML Horizontal Slider sample component provided with the SDK, is added to the canvas, all other components will not update when changes are made to their Properties panel.-> resolved
Selectors - Unable to take square brackets as labels.-> resolved
Label components are editable during runtime, and Labels are selectable using Tab key navigation.-> resolved
Tab Set component: When dragging a component into the Tab Set from the Object Browser, it is possible to place the component inline with the Tab Set's Canvas components, rather than within the Canvas. This causes an ActionScript error.-> resolved
תחביר פונקציית ה-isnumber ,isnull ב- Webi XI
בדרך זו ניתן להיפתר משורות שלא מכילות ערכים ובהמשך להגיע לסינון רשומות עם ערכים בלבד.
אחד המקומות שפונקצייה זו באה לידי ביטוי היא בעת שילוב שאילתות שלא תמיד מציגות רשומות חופפות.
לדוגמא:שאילתא אחת מחזירה לקוח עם הכנסה ושאילתא שנייה לקוח עם סכום הזמנה משוער.
אולם ישנם לקוחות שאין להם סכום הזמנה משוער ולקוחות כאלו שאין להם סכום הכנסה אך יש להם סכום הזמנה משוער.
איך נמצא רק את הלקוחות שיש להם גם הכנסה וגם סכום הזמנה משוער?
ה- isnull ולחילופין ה- isnumber מאפשרים לנו להגיע לתשובה לשאלה:"מהן הרשומות המשותפות ל- 2 השאילתות בלבד?" בקלות,הנה התחביר ל- Webi:
=If (IsNumber([Number of guests]) And IsNumber([Sales revenue]) ; 1
Sunday, November 23, 2008
Universe Designed for Dashboards Metrics
Prompt:הקלד מס' אותיות וקבל את כל הערכים
המשתמש מקליד את האותיות se ומקבל את כל הערכים שמתחילים בצירוף זה
service 1service 2 וכו'...
חשוב לזכור:פונקציית ה- Like המאפשרת את החיפוש והמציאה, מתאימה לשדות מסוג Character
חיפוש בהתחלה:
tablename.culomn_name like @variable('type the first letters') +'%'
חיפוש בסוף:
CUSTOMER.name like '%' + @variable('type the first letters')
count all ב- Webi XI
count([field];all) .a=
Saturday, November 22, 2008
בניית שעוני Xcelsius על גבי עולם באמצעות ה- QaaWS
Query as a Web Service המתחבר ל- Universe ומייצר על גביו שאילתא אותה ניתן כאמור לחבר באופן דינמי לשעון ב- Xcelsius .
כיצד ניתן לבצע זאת? קראו כאן בסיפור לקוח אמיתי שהתרחש ב- CLEVELAND CLINIC:
http://sfarea.org/P18.pdf
General Best Practices in Universe Design
וגם למנוסים שהיו רוצים לקרוא בכלליות על יסודות ה-Designer :
http://www.gaboug.org/archive/200809_UniverseBestPractices.ppt
פרמטר דינמי בדיזיינר : END_SQL
אז הנה לכם פתרון אבטחה (חלקי כמובן) ב- 2 שקל:
החל מגירסא 6 ,חלק מהפרמטרים שנוהלו בעבר בקובץ ה - prm עברו לעולם,אחד מהם הוא פרמטר ה - END_SQL המאפשר לכם להוסיף ל- SQL המיוצר בכל שאילתא הערה בסוף הסקריפט.
המשמעות ?
אפשר להכניס את שם העולם,הדוח ואת שם המשתמש על מנת לאפשר ל- DBA לעלות על זהות המשתמש הרצחני באמצעות SQL Profiler או כלי ניטור דומה...
כיצד חוסכים שקלים רבים ?
צעד ראשון:
נכנסים לתיבת הפרמטרים בעולם ומכניסים את ההערה הרלוונטית לפרמטר ה- END_SQL
ושם נכניס את ההערה הבאה:
/* Universe Sales, user @variable('BOUSER')*/
בהערה כתבנו את שם העולם ואת משתנה ה- BOUSER המציג את שם המשתמש :
אחרי שאישרנו את הוספת ההערה ע"י הקלקה על כפתורית ה- Replace
ניתן לראות בסוף ה- SQL שאנו מייצרים בעולם את ההערה:
באמצעות כלי ה- Trace SQL הקיימים ברשותנו נוכל לחזות ב- SQL + מאיזה עולם ואיזה משתמש הריץ
את ה - SQL.
לפרמטר הנ"ל אפשר להוסיף גם את המשתנה :
/* Universe Name - User @Variable('BOUSER') Report @Variable('DOCNAME')*/
ואז גם שם הדוח יופיע בסקריפט ה- SQL.
תבלו.
Thursday, November 20, 2008
תשאול ה - repository באמצעות ה- Query Builder
Create a Top Ten Report in Xcelsius
כיצד ניצן ליצור ב- xcelsius דוח שיציג את X הלקוחות הרווחיים ביותר?
צפו בסרט הבא,גם ככה המנהל שלכם אף פעם לא נמצא בסביבה...
SAP and Business Objects roadmap
Real Time BI עם Xcelsius
Wednesday, November 19, 2008
ניתוח סטטיסיטי עם Oracle על גבי עולם
Wildcard Prompts ב- Designer
Data Federator - מה זה בכלל ?
למה זה טוב ?
בדיזיינר יש ODBC מיוחד שמתחבר ל- Data Federator ומאפשר בניית עולם על גביו מה שאומר שניתן לבנות עולם אחד ממקורות מידע שונים.
כמובן שאפשרות זו כמוסה בבניית DW ,אך אם רוצים לתת מענה לבעיות ספציפיות המחייבות שילוב מקורות מידע באותו עולם (מה שבדרך רגילה לא ניתן) ולתת פתרונות לג'ננות של המשתמשים,ה- Data Federator יכול להיות מענה יעיל
הנה מס' לינקים למצגות אודותיו:
Centigon - מבחר plugins לאקסליוס
מרקעים לשעונים ועד פונקציות של מיון ודירוג:
דוגמא לכל הרכיבים ביחד:
Live Office Vs QaaWS - מה חסר ?
Tuesday, November 18, 2008
טריק:איך לתזמן דוח רק במידה והוא מחזיר נתונים
משהו כמו (מתאים ל- SQL server ) :
=CAST(CASE count(*) WHEN 0 THEN '0 rows returned forced SQL error' ELSE count(*) END AS int)
מאחר ו- SQL server לא יכול לבצע cast על ההודעה הוא יייצר הודעת שגיאה ייזומה מה שיפיל את ה- Instance והדוח לא יתוזמן ועל כן גם לא ישלח,במידה ויוחזרו רשומות,הריצה תתבצע כרגיל,הדוח ישלח ליעדו ותוכלו לחגוג עם החבר'ה בהרמת כוסית קפה.
אם אתם על Oracle תצטרכו לחקות את ה-SQL עם תחביר מקביל או דומה.
Friday, November 14, 2008
חידושי גרסא XI 3.0 -כל מה שרציתם לדעת
מבחר מצגות ו- pdf's להורדה עושים את העבודה נאמנה:
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/90c09362-5b64-2b10-f79a-b0fb76a5dfda
http://www.chiboug.org/WebPage.asp?PN=NewsDoc10038
http://www.chiboug.org/WebPage.asp?PN=NewsDoc9720
Universe for Metadata Manager
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/f0d33e66-1173-2b10-febc-a6991b5fa47a
הסבת דוחות מ Deski ל- Webi
בעוד הכלי למעשה די מוגבל ומאפשר הסבה של בערך 50% מהדוחות (סטטיסטיקה לא רשמית ) ,עדין ישנם מצבים בהם ניתן להשתמש בו בהצלחה,בסמינר המצולם הבא,תוכלו להקשיב,לראות וללמוד מה כן אפשר לעשות איתו ובאיזה מצבים הוא יהיה יעיל ולאיזה סוג דוחות הוא יתאים:
https://businessobjects-events.webex.com/ec0507l/eventcenter/recording/recordAction.do?theAction=poprecord&path=pop_program_info&confViewID=300907005&siteurl=businessobjects-events
BI Desktop -הישר ממעבדות Business Objects
BI Desktop הוא רכיב מגניב לויזואליזציית והצגת הנתונים הישר משולחן העבודה המסוגל לשלב דוחות וובי,xceslisus ועוד בדרך קלה ומהירה,צפו בסרטון הבא המתאר איך להשתמש ברכיב ה- Desktop:
יצירת רשימת ערכים מקוננת בדיזיינר
בסה"כ רציתם שהמשתמש יבחר ב-prompt אזור ומיד יקבל ב-prompt השני רק את הסוכנים העובדים באותו אזור .
מה שנקרא nested prompts , שתי שיטות כיצד לבצע זאת:
אחת ע"י התניית רשימת הערכים והשנייה ויזואלית:
http://homepage.mac.com/rmetzk/PDF_Files/Cascading_Prompts.pdf
http://www.infosol.com/bi/techtips/bo_tt8.html
Thursday, November 13, 2008
Delegated Measures -גרסא 3.x בדיזיינר
כ- Delegated Measures המאפשר שליטה טובה יותר באופי החישוב
על כך במאמר הבא שנכתב ע"י Dave Rathbun :
http://www.dagira.com/2008/11/10/designer-xi-3-new-feature-database-delegated-measures/
Wednesday, November 12, 2008
שבוע נוכחי באורקלית - פונקצייה לדיזיינר
יבוא יום ואני אאגד את כל פונקציות הזמן בחוברת מהודרת,לבנתיים:
הפונקצייה הבאה מחזירה את ימי השבוע הנוכחי נכון ליום ההרצה,לדוגמא:
אם היום ה - 11/09/2007 אני אקבל את כל התאריכים הבאים:9/10/11 ,
כלומר כל הימים מתחילת השבוע עד ליום ההרצה.
הפונקצייה מבוססת על ההנחה שהשבוע מתחיל ביום ראשון ומסתיים ביום שבת וניתן לשלבה ב- where
כאובייקט תנאי בעולם : הפונקצייה מקבלת שדה מסוג תאריך (date...) כ- Input
ומחזירה את כל התאריכים שנמצאים בטווח של השבוע הנוכחי (output)
table.date between trunc(next_day(sysdate,'SUNDAY')-7)
and
trunc (next_day(sysdate,'SUNDAY')-1)
לעזעזל היישור....
פונקציות זמן ל-Designer ,כל ה-DB's
SQL server :
mysql :
Oracle :
טרה:
סיבות ל- Timeout כשמתזמנים דוחות
Getting Personal with Publications
קצת על publications וכיצד ניתן להפיץ דוחות לפי פרופילים:
http://www.dataspace.com/Downloads/NOBOUG2-13-07.pdf
Dashboard בשעתיים...
בניית dashboard ב- BOXI
Designer SDK Import Utility
דוגמא קלאסית: יש לכם קובץ אקסל המכיל את כל אפיון המיפוי (טבלאות,שדות,תאורים) ואתם מעוניינים לטעון אותו ישירות
Tuesday, November 11, 2008
Auditor -מעקב אחר משתמשי BOXI - -גרסא 3
המצגת הבאה שנכתבה ע"י Meredith McLarty סוקרת הן את חידושי גרסא 3 והן את שלבי ההתקנה וההגדרה וכולות המעקב(מעקב אחר דוחות deski,ה-IP של המחשב נכלל במידע ועוד...) :
חידושי גרסא 3 - CMC
במצגת הבאה תוכלו לתהות על קנקנן של השינויים,לקבל השוואה בין הגרסאות
Custom Access Levels
Scope of Rights
חידושי הדיזיינר - גרסא 3.0 !
בין הנושאים הנסקרים:
Nested Derived Tables
Delegated Measures
Class Restrictions
הנה הלינק:
וירטואליזצייה והקשר ל- BOXI
Consolidation שרתים,הרחבת ביצועים והכי חשוב:
איך זה קשור ל- Business Objects ולשיפור יכולותיו ?
קראו כאן במאמר טרי שנכתב ע"י :
Alan Mayer – Integra Solutions
ו-
James Landis – Southwest Airlines
מוועידת BO העולמית:
http://www.integrasolutions.net/pdf/VirtuallyYours.pdf
Monday, November 10, 2008
שימוש ב- @Variable בעולם
http://dallasmarks.blogspot.com/2008/11/tips-and-tricks-using-variable.html
בניית מודל אבטחה בגרסא XI 3.0
New XI 3.0 Security Concepts
קראו במצגת הבאה שנכתבה ע"י Sébastien Goiffon מחברת 360view
http://www.bonymaug.com/2008-JUN-06/360view.pdf
אינטגרציית Active Directory ב- BOXI
Case Insensitive Prompts
Sunday, November 9, 2008
Dashboards חיים עם Flynet Web Service
הנה מאמר מאת kalyan Verma המדגים זאת:
http://myxcelsius.com/2008/11/07/generating-web-services-for-xcelsius-using-flynet-web-service-generator/
XI3.x New Features -מעקב אחרי שינויי מידע בדוח
הנה סרטון קצר המדגים כמה מהשינויים החדשים בגרסאת XI3.x בוובי:
מעקב אחר שינויים בדוח ו-prompt אופציונאלי:
מחידושי גרסא XI 3.x :דיזיינר:Class & Universe Restrictions
עד עכשיו ניתן היה ליצור התניות SQL ברמת האובייקט ,כעת ניתן להגדיר שההתניה תחול גם ברמת התיקייה וגם ברמת העולם כולו !
שלא בדומה ל-self join החל רק על טהל מסויימת ,פה יכולים להיות בתיקייה מסוימת(או בעולם)
אובייקטים מכל מיני טבלאות וה-restriction יכול על כולם,שווה לימוד ובדיקה:
http://www.dagira.com/2008/11/05/designer-xi-3-new-feature-class-restrictions/
Friday, November 7, 2008
שינוי סדר הטבלאות בפסוקית ה- from ב-Oracle:
על מנת לקבל SQL אופטימאלי ,ב- Oracle ,סדר הטבלאות צריך להיות מסודר מהגבוה לנמוך.בכדי לשנות את סדר הטבלאות יש להתערב בקובץ ה- prm המחזיק את הפרמטרים של ה- SQL
המחולל בעולם
מיקום הקובץ בגרסת BOXI :
D:\Program Files\Business Objects\BusinessObjects Enterprise 11.5\dataAccess\connectionServer\odbc\oracle dir
בגרסא 6:
C:\Program Files\Business Objects\BusinessObjects Enterprise 6\dataAccess\RDBMS\connectionServer\oracle
פותחים את הקובץ הprm- ושם משנים את הפרמטר:
התוצאה:
נתקלתי כבר במקרים בהם שאילתות שופרו בעד 50% זמני ריצה,במקרים אחרים דובר על שיפור קל.
מיוחד בבלוג: סקירת Polestar
BusinessObjects Polestar
ה-Polestar מאנדקס את העולם (אובייקטים,תנאים,LOV ) ומאפשר למשתמש להריץ חיפוש
למשל על נציג מסויים,שנת מכירות ,מוצר ולקבל את כל החתכים במגוון תצורות וגרפים דינמיים
לאחר התקנה וניסוי ראשוני אני יכול לומר שזה נראה מדהים,קל מאוד להפעלה ואינטואטיבי למשתמש,מוזמנים לקרוא ולהכיר:
Web Service for Xcelsius
Thursday, November 6, 2008
מדריך Webi XI להורדה
Tales from a Universe Ninja
בניית Dashboad באמצעות Dashboard Manager
http://sfarea.org/P16.pdf
XI 3.0 Administration Best Practice
לקחים מפרוייקט אקסליוס
Live Office -הרצת ובניית דוחות הישר מתוך חבילת ה-Office
מה עוד אפשר לעשות כדי לשפר ביצועי שאילתא ?
קראו כאן כיצד ניתן לשפר את ביצועי השאילתות ע"י אופטימיזציית מבני הנתונים שיפור מדדים
http://diamond.businessobjects.com/node/5764
http://diamond.businessobjects.com/node/5691
Antivia Desktop -יכולות web 2.0 ב-BOXI
Delivering Kimball Marts - בניית מחסן נתונים
בקצב הטורבו: שיפור LOV's בעולם
Businness Objects Tips and Tricks
הסתרת גרף במידה ומופיעות X רשומות
Chasm vs Fan trap
לינק בין דוחות ב - webi xi :כל מה שרציתם לדעת
אקסליוס- Drilling into Multiple Charts
פונקציות זמן לדיזיינר:רבעון נוכחי/קודם/הבא
InfoBurst -הפצת דוחות בפורמטים שונים/יעדים שונים
נה כלי נוסף של חברת Infosol המשלים את יכולות התזמון וההפצה ב- BOXI ומאפשר בין השאר הפצת דוחות למשתמשים מסוגים שונים/יעדים שונים ומאפשר להפיץ את תוצאות תזמון הדוח בפורמטים שונים (בתזמון אחד..)
http://www.infosol.com/business%20intelligence/solutions-infoburst_tour.html
http://www.infosol.com/IBSite/docs/infoburst%20brochure.pdf
וכלי נוסף של חברת APOS המכיל יכולות דומות וכולל יכולת ZIP לדוחות,אבטחת דוחות,אינדיקציה האם לשלוח את הדוח או לא(במקרה שאין תוצאות) ועוד...צפו בדמו מצד ימין:
http://www.apos.com/DistributionServer/Default.aspx
איך בונים profiles ב-Publication
על חישובים בדוח
תצוגת מידע אפקטיבית!
באילו דרכים הוא קריא יותר ובאילו דרכים הוא פחות מובן ?
כנסו כנסו:
http://www.lyontechnologies.com/download/LyonS_2006.pdf
http://www.lyontechnologies.com/download/LyonS_2007.pdf
שילוב Xcelsius עם Widgets
הקלדת מלל ב-Prompt ללא תלות ב-Case Sensitivity
כמה ערכים נבחרו ב-prompt וכמה הם מהווים ?
Siilant Install - סוף סוף אחד שעובד...
כל מה שהיה צריך לעשות בכדי שזה יעבוד היה לכרוך "" מסביב ל-patch לשרת..
הנה דוגמא:
"file://server_name_patch_to_install_folder/setup.exe" /qn REBOOT=ReallySuppress CLIENTLANGUAGE=EN INSTALLLEVEL=4 NO_SAMPLES=1 NO_TEMPLATES=1 NO_LOG=1 NO_WEBHELP=1 INSTALLSWITCH="Client" ADDLOCAL="Clients,Reporter"
אגב מי שיחליף את הפרמטר QN ב-QB
Voyager - ה- Olap Viewer של ה- BOXI
במי לבחור IBM, SAP, Oracle Or Microsoft
שימו לב שמדובר ב-5 דפים...
מה זה Context בעולם ?
סיפור לקוח בחברת CNA מעקב וניתוח פעילות משתמש
Web Intelligence Extension Points
מצ"ב הלינק :
Universe On XML
Alerters On Charts -Webi XI
CPU or Named User
Chasm & Fan traps ב-Designer
Microsoft and Business Objects technologies.
גרפים וצבעים דינמיים ב-Webi XI
ספריית BOXI
הנה מבחר לינקים לספרים מצויינים:
מדריך ל-CMC:
ניהול תצורת שרתי BOXI:
החזרת nulls ללא outer join ב-BO
מבנה בסיס הנתונים לא תמיד מאפשר זאת מאחר ויש צורך ב-outer join לטבלה המתאימה
כיצד עוקפים זאת ? כך וכך:
ביצועים ? כרגיל תלוי באופי השאילתא ,באופן כללי אמור לרוץ מהר יותר מ-outer join...
פתרון באג בעת ייצוא אקסליוס ל-PPT
בעקרון כל מה שצריך לעשות זה לעבור ישר ל-slide show ובאריכות הנה ההסבר:
לחובבי ה- dashboards
http://dashboardspy.com
Multi-Pass SQL ב-BOXI
טוב למפתחים ולדיזיינרים שרוצים לדעת איך ה-SQL מתנהג ואיך לשפרו
Xcelsius 2008 GMaps Plugin Best Practices
במאמר הבא נסקרים ה- best practices לשילוב זה:
Business Objects נגד Microsoft
המצגת גם כוללת השוואה פרטנית של מחולל הדוחות crystal מול ה-RS....
Cubes and Universes
במאמר הבא שנכתב ע"י Stéphane-Robert Langer נסקרים ההבדלים:
פונקציית זמן לדיזיינר : חודש קודם
datepart(month,dateadd(month,-1,getdate()))
אם היום דצמבר,הפונקצייה מחזירה את החודש הקודם (נובמבר) ולא 30 יום אחורה...
יום אחרון בכל חודש
הפונקצייה טובה ל- SQL Server ומחזירה עבור כל חודש (בתקופת הזמן הנבחרת) את היום האחרון בחודש:
select dateadd (dd,-(day(dateadd(mm,1,table.period_date))),dateadd(mm,1,table.period_date))
add_months(date,1)-1
current week in Oracle
אם היום ה - 11/09/2007 אני אקבל את כל התאריכים הבאים:9/10/11 ,כלומר כל הימים
מתחילת השבוע עד ליום ההרצה.
הפונקצייה מבוססת על ההנחה שהשבוע מתחיל ביום ראשון ומסתיים ביום שבת וניתן
לשלבה ב- where ,כאובייקט תנאי בעולם :
הפונקצייה מקבלת שדה מסוג תאריך (date...) כ- Input
ומחזירה את כל התאריכים שנמצאים בטווח של השבוע הנוכחי (output)
table.date between trunc(next_day(sysdate,'SUNDAY')-7)
and
trunc (next_day(sysdate,'SUNDAY')-1)
חודש קודם - Oracle
כלומר לא חודש אחורה (30 יום אחורה מהיום לדוגמא) ,אלא את החודש הקודם:
במידה ונריץ היום (02/09/2007) את השאילתא עם התנאי נקבל את כל התוצאות שנעו בין התאריכים:
01/08/2007 ועד ה- 31/08/2007 23:59:59
DATE between trunc(last_day(add_months(sysdate,-2)) + 1(AND trunc(last_day(add_months(sysdate,-1)))+0.99999
כרגיל היישור...
Day diff in days,hours,minutes SQL Server+Oracle
כמובן שאת ה- SQL אתם יכולים לשבץ בעולם כאובייקט המחשב את הזמן בימים,שעות,דקות...
SELECT DATEDIFF(day, 0, DATEADD(minute, DATEDIFF(minute, PROCESS.date_created, PROCESS.date_modified), 0))as days,DATEPART(hour, DATEADD(minute, DATEDIFF(minute, PROCESS.date_created, PROCESS.date_modified), 0))as hour, DATEPART(minute, DATEADD(minute, DATEDIFF(minute, PROCESS.
באורקל:
SELECT floor((date1-date2)*24) ' HOURS ' mod(floor((date1-date2)*24*60),60) ' MINUTES ' mod(floor((date1-date2)*24*60*60),60) ' SECS ' time_difference FROM dates;
חודש נוכחי - SQL Server
היי
פונקציית זמן אשר ניתן לשלב בעולם,כתנאי כבסיס להשוואה מול תאריך או כפרומפט ומחזירה את החודש הנוכחי בשנה הנוכחית,טוב ל- SQL Server :
{fn year(convert (SMALLDATETIME, {fn CURDATE()}))}*100+{fn month(convert (SMALLDATETIME, {fn CURDATE()}))}
כרגיל היישור...אבל בהעתקה לדיזיינר זה יסתדר.
Wednesday, November 5, 2008
צמצום זמן העיצוב
מה לעשות גם לקובץ אקסל גדול לוקח זמן להיפתח...
2 טיפים לזירוז זמן העיצוב :
1.בחלונית השאילתא לכו לכפתורית ה- Options ושם הגבילו את השאילתא ל- X שורות (תגבילו על כמה שורות שאתם צריכים כדי לקבל פידבק לעיצובים שבצעתם)
זמן העיצוב יקטן משמעותית מאחר ואתם עובדים על מסת נתונים קטנה .לאחר סיום כל העיצובים תוכלו להריץ את הדוח על כלל השורות
2.דרך תפריט ה- View-->Structure ,מרגע שבחרתם באפשרות זו יוצג רק מבנה הטבלה (שמות השדות והנוסחאות) ולא הערכים עצמם.זמן העיצוב יצטמצם משמעותית :אתם תבצעו את כל הפעולות העיצוביות על המבנה ורק אז בסופן תחזירו את האפשרות ל – View רגיל המציג את הנתונים עצמם,אחריו אמנם תחכו זמן מה,אך זה יקרה פעם אחת ולא אחרי כל עיצוב...
מצגת טיפול בהודעת השגיאה DIV0
בעקבות חלוקה של ערכים ב-0...
הקפצת תיבות הפרמטרים בעת פתיחת הדוח
אתם מעוניינים שבעת פתיחת הדוח ה - prompts יקפצו ישר ויציגו למשתמש את תיבות הפרמטרים ?
לכו לתפריט ה - Tools
לשונית ה - save
ושם יש אופציה של :
Refresh document when opening
כדאי להיזהר עם אפשרות זו לגבי דוחות ללא פרמטרים שרצים הרבה זמן...
prompt לבחירת ערך אחד,כמה או את כולם
תחביר ה- prompt הבא מאפשר למשתמש לבחור ערך אחד, כמה ערכים או את כל הערכים ע"י הקלדת
המילה 'all' או כוכבית
אם אתם מעוניינים שהמילה 'all' תהיה חלק מרשימת הערכים עצמה יש להיכנס לרשימת הערכים
עצמה ולבצע union עם המילה 'all' מטבלת dummy או טבלה אמיתית ,הנה דוגמא לתחביר:
CLIENT.CLIENT_AREA IN @Prompt('chose area or type all for all areas','C','Customers\Client Area',multi,free) OR 'all' IN @Prompt('chose area or type all for all areas','C','Customers\Client Area',multi,free) .
prompt לבחירת ערכי null,notnull או כולם פונקצייה לדיזיינר
ניתן ליצור prompt שיאפשר בחירת ערכי null ,notnull או את כולם.
בדרך זו המשתמש יכול לבחור את כל הלקוחות עם ת.חיוב,ללא ת.חיוב או את כולם
גם הפעם הפונקצייה מתאימה ל SQL server...