1 / 22

Creating Easy Information Access - A drilling Technique using Opendocument 2010

Creating Easy Information Access - A drilling Technique using Opendocument 2010. Purpose. To demonstrate how using BusinessObjects openDocument URLs stored in variables can be a powerful way to allow “drill down” or “drill through” inside of crosstabs.

tab
Download Presentation

Creating Easy Information Access - A drilling Technique using Opendocument 2010

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. Creating Easy Information Access - A drilling Technique using Opendocument 2010

  2. Purpose • To demonstrate how using BusinessObjectsopenDocument URLs stored in variables can be a powerful way to allow “drill down” or “drill through” inside of crosstabs. • Drill Down – clicking and then moving from summary information to detailed data within a report. • Drill Through – clicking and then moving away from a source report and to a target report.

  3. Background: Tools of the Trade • Proof of concept was done using BusinessObjects XI R3 • Service Pack 3 • Web Intelligence (Internet Explorer 7) • Java implementation

  4. Background: Defining openDocument • Provides URL access to multiple document types by passing a URL string to a BusinessObjects Enterprise server. • openDocument provides commands to control how reports are generated and displayed.

  5. Background: the openDocument URL • You can find information about openDocument by going to this website and downloading applicable manuals: • http://help.sap.com/ • I used “Building Reports with the SAP BusinessObjects Web Intelligence Java Report Panel”. • As defined by the user manual, the openDocument URL is as follows: http://<servername>:<port>/OpenDocument/opendoc/<platformSpecific>?<parameter1>&<parameter2>&...&<parameterN> • The exact syntax of the <platformSpecific> parameter depends on your implementation: • • For Java implementations, use openDocument.jsp in place of the <platformSpecific> parameter. • • For .NET implementations, use opendocument.aspx in place of the <platformSpecific> parameter. • A sample URL from a project at The University of Chicago is as follows: https://bobisdev:443/OpenDocument/opendoc/openDocument.jsp?sType=wid&sDocName=Open Doc Link To&sWindow=New&sRefresh=Y&lsSEnter Year:=1991

  6. Background: openDocument Parameters • The manuals will help you understand the entire list of available parameters • There aren’t too many. If you sit down and read it for a half hour, you’ll get a pretty good understanding of what openDocument’s capabilities are. • There are a couple tricky problems you might run into (e.g. how to deal with spaces, what port you need to connect to, etc) but overall openDocument is kind of easy to work with. • Parameters and/or items of note: • Join parameters with the ampersand (&). Do not place spaces around the ampersand. For example: sType=wid&sDocName=Sales2003 • iDocID – identifies the CUID of a BO document • http://<servername>:<port>/OpenDocument/opendoc/<platformSpecific>?sType=wid&sDocName=SalesReport&iDocID=2010 • sDocName – identifies the BO document name • http://<servername>:<port>/OpenDocument/opendoc/<platformSpecific>?sPath=[Sales+Reports]&sDocName=Sales+in+2009 • sDocType – identifies the BO document type (wid, rpt, car) • http://<servername>:<port>/OpenDocument/opendoc/<platformSpecific>?sType=wid (More to Come!)

  7. Background: More Parameters! • Parameters and/or items of note (continued): • sKind – identifies the file type of the target document • http://<servername>:<port>/OpenDocument/opendoc/<platformSpecific>?sKind=FullClient • lsS[NAME] – parameter that precedes single prompt values • http://<servername>:<port>/OpenDocument/opendoc/<platformSpecific>?sType=wid&sDocName=SalesReport&iDocID=2010&lsSSelect+a+City=Paris • lsM[NAME] – parameter that precedes single prompt values • http://<servername>:<port>/OpenDocument/opendoc/<platformSpecific>?sType=rpt&sDocName=SalesReport&lsMSelect+Cities=[Paris],[London] (and many more! – see the documentation.)

  8. Demo: Drilling in a Crosstab You can drilldown on row and column headers…and drill through in the crosstab body!

  9. Demo: Drilling in a Crosstab You can drilldown on row and column headers…and drill through in the crosstab body! Year, Quarter, Month

  10. Demo: Drilling in a Crosstab You can drilldown on row and column headers…and drill through in the crosstab body! Year, Quarter, Month Exec, Division, Department

  11. Demo: An additional level of complexity! openDocument URLs are stored in variables (as opposed to hyperlinks).

  12. How to Structure the Variables Use a Master Variable: • This is what actually is populated in the body of the crosstab. • This variable uses “if then” logic to calls a subordinate variables depending on what level of the hierarchy you are in. • Use DrillFilters function to identify what level you are at in the hierarchy. • Code can get a little messy (see next slide!)

  13. How to Structure the Variables Master variable might look like this (a statement for each unique situation in the hierarchy): • =If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_div] Else If (([vExec]<>"") And ([vDiv]<>"") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_dept] Else If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_qtr_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_qtr_div] Else If (([vExec]<>"") And ([vDiv]<>"") And ([vDept]="") And ([vYear]<>"") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_qtr_dept] Else If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]<>"") And ([vMonth]="")) Then [v_hyper_month_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]<>"") And ([vMonth]="")) Then [v_hyper_month_div] Else If (([vExec]<>"") And ([vDiv]<>"") And ([vDept]="") And ([vYear]<>"") And ([vQtr]<>"") And ([vMonth]<>"")) Then [v_hyper_month_dept] Else 0

  14. How to Structure the Variables (2) Master variable might look like this (a statement for each unique situation in the hierarchy): • =If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_exec]

  15. How to Structure the Variables (3) Master variable might look like this (a statement for each unique situation in the hierarchy): • =If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_div]

  16. How to Structure the Variables (4) Master variable might look like this (a statement for each unique situation in the hierarchy): • =If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_div] Else If (([vExec]<>"") And ([vDiv]<>"") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_dept]

  17. How to Structure the Variables (5) Master variable might look like this (a statement for each unique situation in the hierarchy): • =If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_div] Else If (([vExec]<>"") And ([vDiv]<>"") And ([vDept]="") And ([vYear]="") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_year_dept] Else If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_qtr_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_qtr_div] Else If (([vExec]<>"") And ([vDiv]<>"") And ([vDept]="") And ([vYear]<>"") And ([vQtr]="") And ([vMonth]="")) Then [v_hyper_qtr_dept] Else If (([vExec]="") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]<>"") And ([vMonth]="")) Then [v_hyper_month_exec] Else If (([vExec]<>"") And ([vDiv]="") And ([vDept]="") And ([vYear]<>"") And ([vQtr]<>"") And ([vMonth]="")) Then [v_hyper_month_div] Else If (([vExec]<>"") And ([vDiv]<>"") And ([vDept]="") And ([vYear]<>"") And ([vQtr]<>"") And ([vMonth]<>"")) Then [v_hyper_month_dept] Else 0

  18. How to Structure the Variables Create Subordinate Variables: • These variables are created for each unique situation in the hierarchy . • Each subordinate variable contains its own custom openDocument URL. • Or “set of instructions” (i.e. it doesn’t have to contain an openDocument URL)

  19. How to Structure the Variables Subordinate variable code might look like this: • =If (IsNull([Total Cost Amount])) Then 0 Else ("<a href=\"https://bobisdev:443/OpenDocument/opendoc/openDocument.jsp?sType=wid&sDocName=TargetforDynamicOpenDoc&sWindow=New&sRefresh=Y&lsSExec="+URLEncode(""+[Exec Level])+"&lsSDivision="+URLEncode(""+[Division])+"&lsSDepartment="+URLEncode(""+[Department Name])+"&lsSYear="+URLEncode(""+[Bp Begin Year])+"&lsSQuarter="+URLEncode(""+[Bp Begin Quarter])+"&lsSMonth="+URLEncode(""+[Bp Begin Month Short])+"\" title=\"\" target=\"_blank\" nav=\"web\">"+[Total Cost Amount]+"</a>")

  20. Why Is This Sooo Cool? • Now we have complete control at each level in the hierarchy where we link to!!! (or don’t link link to) • Use different prompts depending on what level of the hierarchy you are in. • You can vary the number of prompts also! • Drill through to different reports depending on what level of the hierarchy you are in. • One thing you might consider doing is allowing the report to drill through at only the lowest level of the hierarchy! • The possibilities are endless!!!!

  21. What to watch out for! • openDocument seems to have some bugs. Sometimes we have to delete and then recreate variables and/or links to get them to work properly. • TEST. TEST. TEST the functionality. • Some of the crosstab content seems to export in non-numeric format. I haven’t had a chance to think through the implications of this though!

  22. Questions

More Related