Top Banner
From Blog to Book. ’http://obiee101.blogspot.com/’
439
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

From Blog to Book.

http://obiee101.blogspot.com/

2

Contents1 2007 1.1 December . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . My First Blog (2007-12-05 07:19) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Dummy Column with NULL value (2007-12-05 10:03) . . . . . . . . . . . . . . . OBIEE EVALUATE function and presentation variables (2007-12-05 18:00) . . . . . . . OBIEE Measures and Events in one chart (2007-12-06 10:55) . . . . . . . . . . . . . . . OBIEE for MicroSoft Oce (2007-12-06 14:14) . . . . . . . . . . . . . . . . . . . . . . . OLAP 101 (2007-12-06 14:57) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Pivot table with carriage return (2007-12-07 09:06) . . . . . . . . . . . . . . . . OBIEE EVALUATE Function (2007-12-07 11:39) . . . . . . . . . . . . . . . . . . . . . . OBIEE EVALUATE AGGR Function (2007-12-07 12:02) . . . . . . . . . . . . . . . . . OBIEE referencing session variables in report title (2007-12-10 14:40) . . . . . . . . . . OBIEE empty presentation tables in a repository in a multi-user environment (2007-12-11 12:20) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Excel and slashes (2007-12-11 17:45) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Default security groups for BI Publisher (2007-12-13 07:19) . . . . . . . . . . . . OBIEE Duration between events (2007-12-19 11:00) . . . . . . . . . . . . . . . . . . . . OBIEE Scale markers (2007-12-19 11:30) . . . . . . . . . . . . . . . . . . . . . . . . . . 2 2008 2.1 January . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE using oracle stored procedure to ll report (2008-01-11 13:35) . . . . . . . . . . OBIEE IsNumeric (2008-01-16 07:54) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Corda Popchart (2008-01-16 12:25) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Corda Popchart Example (2008-01-16 14:34) . . . . . . . . . . . . . . . . . . . . OBIEE X,Y and data in mouse over label (2008-01-16 17:21) . . . . . . . . . . . . . . . OBIEE adding a customized graphtype (2008-01-17 13:32) . . . . . . . . . . . . . . . . . OBIEE Graphs Gradient Eect (2008-01-22 08:48) . . . . . . . . . . . . . . . . . . . . . OBIEE 10.1.3.3.2 availble on OTN (2008-01-24 10:03) . . . . . . . . . . . . . . . . . . . OBIEE Restricting data based on User Group (2008-01-24 10:54) . . . . . . . . . . . . . 15 15 15 15 15 15 18 18 19 20 21 22 22 24 24 24 26 29 29 29 30 31 31 32 33 34 35 35 3

OBIEE backing up repository (2008-01-29 07:29) . . . . . . . . . . . . . . . . . . . . . . (2008-01-30 07:34) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Calculate YearWeek and YearWeekAgo (2008-01-30 10:56) . . . . . . . . . . . . 2.2 February . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Usefull server scripts (2008-02-01 17:13) . . . . . . . . . . . . . . . . . . . . . .

35 36 36 37 37 38 40 42 43 43 44 46 46 46 47 49 49 52 52 53 56 56 58 59 60 60 60 60 63 64 65 65 69 70 72 73 75

OBIEE development street (2008-02-02 20:06) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Adding session variables to the report title / using a narrative view (2008-02-06 20:30) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Using ORACLE stored procedures part 2 (2008-02-07 17:34) . . . . . . . . . . . OBIEE Using ORACLE stored procedures part 3 (2008-02-11 17:12) . . . . . . . . . . . OBIEE Aggregate BY (2008-02-18 20:23) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Controling Pivot View behavior (2008-02-23 12:09) . . . . . . . . . . . . . . . . OBIEE Optimizing NQQuery.log for debugging (2008-02-29 19:29) . . . . . . . . . . . . 2.3 March . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE No Thousand separator (2008-03-04 14:33) . . . . . . . . . . . . . . . . . . . . . OBIEE Continues Time Line (2008-03-09 15:43) . . . . . . . . . . . . . . . . . . . . . . OBIEE Downgrading Repository (2008-03-09 16:37) . . . . . . . . . . . . . . . . . . . . OBIEE Manage the cache part 1 (2008-03-13 22:16) . . . . . . . . . . . . . . . . . . . . OBIEE Manage the cache part 2 (2008-03-16 09:35) . . . . . . . . . . . . . . . . . . . . OBIEE Yes No Prompt (2008-03-28 10:50) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Repository Version Control (2008-03-31 20:39) . . . . . . . . . . . . . . . . . . . 2.4 April . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Combined with Similar Request and lterview (2008-04-05 13:44) . . . . . . . OBIEE View Selector, forcing a selection. (2008-04-05 14:52) . . . . . . . . . . . . . . . OBIEE 10.1.3.3.3 (2008-04-21 16:53) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 May . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 10.1.3.3.3 its out (2008-05-10 16:18) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 10.1.3.3.3 documentation (2008-05-10 16:32) . . . . . . . . . . . . . . . . . . . . OBIEE making a column selector in a prompt (2008-05-18 19:47) . . . . . . . . . . . . . OBIEE Changing the line color in a scatter graph with line (2008-05-23 09:35) . . . . . OBIEE Pivot table Measure label (2008-05-29 20:04) . . . . . . . . . . . . . . . . . . . . 2.6 June . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Flexible Dashboards (2008-06-07 11:45) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Directing a user to a default dashboard (2008-06-07 22:12) . . . . . . . . . . . . OBIEE Private output type for a chart (2008-06-10 19:49) . . . . . . . . . . . . . . . . OBIEE Excel Import, prepping the data (2008-06-15 17:04) . . . . . . . . . . . . . . . . OBIEE Blocking request based on Criteria (2008-06-19 20:49) . . . . . . . . . . . . . . . OBIEE Follow the sun / Time driven connection (2008-06-29 11:18) . . . . . . . . . . . 4

2.7

July . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE naming conventions repository (2008-07-07 19:00) . . . . . . . . . . . . . . . . . OBIEE Public Reports and Dashboards - Bypassing authentication (2008-07-07 19:08) . OBIEE Preventing Auto-Previewing of Results in Answers (2008-07-08 19:25) . . . . . . OBIEE Changing XLS (Excel) data on the y (2008-07-09 17:08) . . . . . . . . . . . . . OBIEE Plus Workshop Munchen Day 1 (2008-07-15 11:09) . . . . . . . . . . . . . . . . OBIEE Plus Workshop Munchen Day 2 (2008-07-16 10:00) . . . . . . . . . . . . . . . . OBIEE Plus Workshop Munchen Day 3 (2008-07-17 09:07) . . . . . . . . . . . . . . . . OBIEE managing the cache: Emptying/Purging the cache Part 2 (2008-07-19 10:42) . . OBIEE number of gauges on canvas (2008-07-21 18:04) . . . . . . . . . . . . . . . . . . OBIEE running it on an other web port (2008-07-23 11:28) . . . . . . . . . . . . . . . . OBIEE running it as a HTTPS / SSL service (2008-07-23 16:26) . . . . . . . . . . . . . OBIEE Migration discover to OBIEE (2008-07-24 17:26) . . . . . . . . . . . . . . . . . . OBIEE dropdown prompt (2008-07-24 20:00) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Number of values in the multiselect prompt (2008-07-25 20:00) . . . . . . . . . . OBIEE Number of default values in a multiselect prompt (2008-07-26 20:00) . . . . . . OBIEE cache management. (2008-07-27 22:44) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Protect Filter (2008-07-28 20:58) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE .Net using the webservice (2008-07-29 21:34) . . . . . . . . . . . . . . . . . . . . OBIEE SAWSessionService (2008-07-30 20:00) . . . . . . . . . . . . . . . . . . . . . . . OBIEE SAWSessionService Part 2 (2008-07-31 22:13) . . . . . . . . . . . . . . . . . . .

77 77 77 77 78 81 81 82 82 84 84 85 86 87 87 87 88 91 93 95 96 97 97 97 97 99 99 99 100 100 100 108 109 113 114 118 119 119 5

2.8

August . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 10.3.4.0 is out (2008-08-07 09:52) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Continues Date Time Line redux (2008-08-08 08:42) . . . . . . . . . . . . . . . . OBIEE Date Time Scatter graph (2008-08-08 09:07) . . . . . . . . . . . . . . . . . . . . OBIEE customising your PCXML (2008-08-08 17:09) . . . . . . . . . . . . . . . . . . . OBIEE Migrating Oracle BI Discoverer to OBIEE (2008-08-08 22:48) . . . . . . . . . . OBIEE Bottom scale on the time line graph (2008-08-09 12:03) . . . . . . . . . . . . . . OBIEE making a clear button (2008-08-09 23:00) . . . . . . . . . . . . . . . . . . . . . . OBIEE 10.3.4.0 First impressions (2008-08-10 23:14) . . . . . . . . . . . . . . . . . . . . OBIEE Setting up usage tracking (2008-08-11 06:00) . . . . . . . . . . . . . . . . . . . . OBIEE 10.3.4.0 missing popchart service (2008-08-11 14:28) . . . . . . . . . . . . . . . . OBIEE Conguring Conguring the scheduler on Windows2003/Oracle (2008-08-12 15:11) OBIEE Dierence between two rows (2008-08-12 16:00) . . . . . . . . . . . . . . . . . . OBIEE Children of the level / Converting rows to strings (2008-08-13 09:36) . . . . . . OBIEE error saving security account (2008-08-13 15:14) . . . . . . . . . . . . . . . . . . OBIEE Conguration Tags (2008-08-14 21:14) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Where is the ODBC Data Source Administrator? (2008-08-14 21:30) . . . . . .

OBIEE Stragg function on 10G.. (2008-08-16 23:35) . . . . . . . . . . . . . . . . . . . . OBIEE Hidding dashboard sections (2008-08-17 16:24) . . . . . . . . . . . . . . . . . . . OBIEE Identifying the server. (2008-08-18 21:02) . . . . . . . . . . . . . . . . . . . . . . OBIEE Back One Page (2008-08-20 20:12) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Conditional Hyperlink (2008-08-21 16:35) . . . . . . . . . . . . . . . . . . . . . . OBIEE Change the password (2008-08-21 23:23) . . . . . . . . . . . . . . . . . . . . . . OBIEE scripting user into the repository (2008-08-22 18:18) . . . . . . . . . . . . . . . . OBIEE Conditional X-axis graph (2008-08-27 17:19) . . . . . . . . . . . . . . . . . . . . OBIEE Forcing OC4J BI shutdown (2008-08-28 04:30) . . . . . . . . . . . . . . . . . . . 2.9 September . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Setting up a mailserver in a VMware (2008-09-01 21:23) . . . . . . . . . . . . . . . . . . OBIEE OpenOce (2008-09-01 22:06) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE TimeLine graph Line settings (2008-09-03 20:23) . . . . . . . . . . . . . . . . . . OBIEE Setting up an Compagny custom Skin and Style (2008-09-08 21:30) . . . . . OBIEE setting the bottomscale in a DTA Graph (2008-09-09 22:00) . . . . . . . . . . . OBIEE PDF controls (.fst les) (2008-09-10 11:45) . . . . . . . . . . . . . . . . . . . . . OBIEE Null, Nul and Nullable (2008-09-10 17:43) . . . . . . . . . . . . . . . . . . . . . OBIEE collapse the whole dashboard with one button (2008-09-10 21:01) . . . . . . . . OBIEE setting default Graph series colors. (2008-09-12 20:13) . . . . . . . . . . . . . . OBIEE Custom CSS Style / Class (2008-09-13 10:31) . . . . . . . . . . . . . . . . . . . OBIEE Title View (2008-09-13 12:02) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Setting a picture as graph backgound (2008-09-17 17:03) . . . . . . . . . . . . . OBIEE CHOOSE statement (2008-09-19 17:30) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Google chrome (2008-09-21 21:02) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE setting up customMessages folders (2008-09-23 18:47) . . . . . . . . . . . . . . . OBIEE Timestamp (2008-09-24 09:59) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE making a custom Log On and Log O screen (2008-09-24 17:45) . . . . . . . . . OBIEE Portal customization part 1 the portalbanner (2008-09-28 19:28) . . . . . . . . 2.10 October . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE the developersprompt (2008-10-01 17:26) . . . . . . . . . . . . . . . . . . . . . OBIEE Multiple Java Versions (2008-10-03 18:44) . . . . . . . . . . . . . . . . . . . . . OBIEE ReportAggregateEnabled (2008-10-04 18:41) . . . . . . . . . . . . . . . . . . . . OBIEE update tutorials (2008-10-07 18:56) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Show Thousands Separator in Chart (2008-10-07 19:02) . . . . . . . . . . . . . . OBIEE Portal customization part 2 the portalcontent (2008-10-08 20:09) . . . . . . . OBIEE Skin and Style Naming (2008-10-09 18:13) . . . . . . . . . . . . . . . . . . . . . OBIEE using the webservices (2008-10-10 16:24) . . . . . . . . . . . . . . . . . . . . . . OBIEE replacing siebelbug.gif (Powered by Oracle) (2008-10-10 17:31) . . . . . . . . . . 6

121 121 122 124 125 126 127 129 130 130 130 133 135 135 136 137 137 138 139 140 141 141 143 145 145 146 146 149 151 151 151 152 152 152 153 154 154 155

OBIEE See me live at Rittman Mead (2008-10-20 09:07) . . . . . . . . . . . . . . . . . . OBIEE using the webservices part 2 (2008-10-20 16:59) . . . . . . . . . . . . . . . . . . OBIEE Ritmann Mead BI Training Days Day 1 (2008-10-22 23:30) . . . . . . . . . . . . OBIEE Ritmann Mead BI Training Days Day 2 (2008-10-23 23:55) . . . . . . . . . . . . OBIEE Ritmann Mead BI Training Days Day 3 (2008-10-24 23:46) . . . . . . . . . . . . OBIEE using google maps (Q&D style) (2008-10-25 23:15) . . . . . . . . . . . . . . . .

155 155 156 156 156 156 158 158 159 159 161 165 165 165 172 172 173 173 174 176 176 179 182 189 191 200 201 203 207 207 209 209 209 209 210 212 212 7

OBIEE No language dropdown on loginscreen (2008-10-27 02:59) . . . . . . . . . . . . . OBIEE Clearing the log (2008-10-29 19:12) . . . . . . . . . . . . . . . . . . . . . . . . . 2.11 November . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Huge dimensions? Let s split them! (2008-11-03 23:24) . . . . . . . . . . . . . . OBIEE making it aggregate aware (2008-11-06 20:48) . . . . . . . . . . . . . . . . . . OBIEE nQSError (2008-11-08 19:53) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Stop the beep (2008-11-08 20:05) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Aggregate Persistence Wizard (2008-11-09 12:37) . . . . . . . . . . . . . . . . . OBIEE Creating indexes Q&D Style (2008-11-09 14:30) . . . . . . . . . . . . . . . . . . OBIEE OBI - Forum Live (2008-11-10 12:45) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Default colour Title border (2008-11-12 10:28) . . . . . . . . . . . . . . . . . . . OBIEE Presentation Services Cache Settings (2008-11-12 16:52) . . . . . . . . . . . . . OBIEE Outerjoin workaround? (2008-11-12 21:36) . . . . . . . . . . . . . . . . . . . . . OBIEE How To Replace Multiple Go Button By One Go Button In Prompts (2008-11-14 17:58) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Understanding Outerjoins Part 1 (2008-11-15 22:46) . . . . . . . . . . . . . . . . OBIEE Understanding Outerjoins Part 2 (2008-11-20 20:56) . . . . . . . . . . . . . . . . OBIEE Federated Querys / Fragmented Querys (2008-11-21 23:33) . . . . . . . . . . . OBIEE Excel count distinct error (2008-11-22 11:21) . . . . . . . . . . . . . . . . . . . . OBIEE Presentation server on IIS (2008-11-24 02:04) . . . . . . . . . . . . . . . . . . .

OBIEE Lets Get Professional (2008-11-27 03:27) . . . . . . . . . . . . . . . . . . . . . . OBIEE Sort Order Column property (2008-11-28 02:06) . . . . . . . . . . . . . . . . . . OBIEE AGO and TODATE Series (2008-11-29 02:34) . . . . . . . . . . . . . . . . . . . 2.12 December . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Handling SCF data / PIT Reporting (2008-12-03 23:35) . . . . . . . . . . . . . OBIEE101 First Birthday (2008-12-04 00:00) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 1K Status (2008-12-04 08:10) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE BI-Publisher Templates (2008-12-04 20:24) . . . . . . . . . . . . . . . . . . . . . OBIEE Missing BI-Oce add - in (2008-12-05 21:08) . . . . . . . . . . . . . . . . . . . . OBIEE using timeline graphs in pivot views (2008-12-06 22:39) . . . . . . . . . . . . . . OBIEE BI Publisher Login Errors (2008-12-06 22:45) . . . . . . . . . . . . . . . . . . .

OBIEE Breadcrum trail (2008-12-07 20:07) . . . . . . . . . . . . . . . . . . . . . . . . .

OBIEE Hidding a section (2008-12-08 13:40) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE First / Last of month (2008-12-08 20:25) . . . . . . . . . . . . . . . . . . . . . . OBIEE First / Last day previous week (2008-12-09 02:04) . . . . . . . . . . . . . . . . . OBI Forum Live Vergeet je niet in te schrijven (2008-12-09 09:05) . . . . . . . . . . . . OBIEE bypassing the presentation / web cache (2008-12-09 17:54) . . . . . . . . . . . . OBIEE LOV prompts (2008-12-11 20:16) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE MetaData Dictionary (2008-12-12 23:59) . . . . . . . . . . . . . . . . . . . . . . OBIEE Automating the Metadata dictionary repository updates (2008-12-17 21:12) . . OBIEE Google Chrome redux (2008-12-19 12:47) . . . . . . . . . . . . . . . . . . . . . . OBIEE Creating Bookmark and or Prompted URL (2008-12-21 15:11) . . . . . . . . . . OBIEE Keep a clean desk (2008-12-24 14:58) . . . . . . . . . . . . . . . . . . . . . . . . BI Consultant van 2008 (2008-12-29 22:54) . . . . . . . . . . . . . . . . . . . . . . . . . 3 2009 3.1 January . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Have a great Year! (2009-01-01 00:00) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Cache and VPD (2009-01-01 15:50) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE and Wiki (2009-01-01 21:04) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBI Forum Live Vergeet je niet in te schrijven !LAATSTE KANS! (2009-01-05 09:18) . OBIEE Selecting SKIN and STYLE from URL (2009-01-07 19:02) . . . . . . . . . . . . OBIEE Sample Sales (2009-01-08 17:01) . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE creating large / huge PDF documents (2009-01-09 01:30) . . . . . . . . . . . . . OBIEE Leap Year Challenge (2009-01-11 22:21) . . . . . . . . . . . . . . . . . . . . . .

213 213 214 214 214 214 216 223 223 224 226 226 227 227 227 227 228 228 228 229 229 229 232 233 233 234 235 235 237 238 243 243 247 247 247 248 249

OBIEE Cache persistence (2009-01-13 21:54) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE PROJECT INACCESSIBLE COLUMN (2009-01-15 18:42) . . . . . . . . . . . . OBIEE Multiple connection pools (2009-01-18 19:33) . . . . . . . . . . . . . . . . . . . . BI Consultant van 2008 ronde 2 (2009-01-21 21:20) . . . . . . . . . . . . . . . . . . . . . OBIEE Impersonate a user (2009-01-21 23:49) . . . . . . . . . . . . . . . . . . . . . . . OBIEE rowbased calculations in a pivot table (2009-01-22 19:48) . . . . . . . . . . . . . OBIEE Brackets in the BMM (2009-01-26 20:35) . . . . . . . . . . . . . . . . . . . . . . OBIEE Creating a Yamazumi Graph (2009-01-27 20:39) . . . . . . . . . . . . . . . . . . OBIEE Autorefresh no prompts (2009-01-28 20:01) . . . . . . . . . . . . . . . . . . . . . OBIEE Column headings (2009-01-29 17:16) . . . . . . . . . . . . . . . . . . . . . . . . 3.2 February . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Ago and and error ORA-00942: table or view does not exist (2009-02-11 09:51) OBIEE Selling federated querys (2009-02-12 13:41) . . . . . . . . . . . . . . . . . . . OBIEE Switching between lters (2009-02-13 13:36) . . . . . . . . . . . . . . . . . . . . OBIEE Editing system wide defaults (2009-02-17 17:32) . . . . . . . . . . . . . . . . . . 8

OBIEE Making a distinct date prompt (2009-02-23 12:53) . . . . . . . . . . . . . . . . . OBIEE Reporting on dateranges (2009-02-23 15:31) . . . . . . . . . . . . . . . . . . . . OBIEE see you in Brigthon (2009-02-24 07:43) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Executing your own JavaScript (2009-02-25 14:05) . . . . . . . . . . . . . . . . . OBIEE Conguring Case Insensitive Search (2009-02-26 20:15) . . . . . . . . . . . . . . OBIEE Default Portnumbers (2009-02-26 20:39) . . . . . . . . . . . . . . . . . . . . . . OBIEE Simulating Drill up (2009-02-27 11:44) . . . . . . . . . . . . . . . . . . . . . . . 3.3 March . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Between Dates Prompt (2009-03-02 11:11) . . . . . . . . . . . . . . . . . . . . . OBIEE Date, TimeStamp and ORACLE Indexes (2009-03-03 18:25) . . . . . . . . . . . OBIEE NQSSetSessionValue (2009-03-03 22:31) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Custom Authenticators (2009-03-05 21:45) . . . . . . . . . . . . . . . . . . . . . BI Consultant 2008 (2009-03-06 10:58) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE identifying the hierarchy level (2009-03-06 13:32) . . . . . . . . . . . . . . . . . Forum Autorefresh (2009-03-09 13:31) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE date prompt to day month year (2009-03-10 08:26) . . . . . . . . . . . . . . . . OBIEE hidden column writeback (2009-03-10 11:31) . . . . . . . . . . . . . . . . . . . . OBIEE Google Maps Multiple Addresses (2009-03-17 08:50) . . . . . . . . . . . . . . . . OBIEE Referencing Presentation Variables in Filters (2009-03-17 13:19) . . . . . . . . . 3.4 April . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Dynamic prompt content (2009-04-01 17:01) . . . . . . . . . . . . . . . . . . . . OBIEE Between prompt using the calendar control (2009-04-01 19:33) . . . . . . . . . . OBIEE Image prompt (2009-04-01 20:54) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 10.1.3.4.0 Get your patches (2009-04-02 22:05) . . . . . . . . . . . . . . . . . . . OBIEE OBI - Forum Live (2009-04-03 12:00) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Questions (2009-04-03 19:54) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Using SQL based scale makers (2009-04-07 09:27) . . . . . . . . . . . . . . . . . OBIEE Multi lingual prompt (2009-04-15 19:42) . . . . . . . . . . . . . . . . . . . . . . OBIEE Showing zeros in a bargraph (2009-04-17 09:21) . . . . . . . . . . . . . . . . . . OBIEE Get the FireBug! (2009-04-17 12:12) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Prompts putting the label in front (2009-04-17 22:13) . . . . . . . . . . . . . . . OBIEE Prompts putting the label in front part 2 (2009-04-18 08:59) . . . . . . . . . . . OBIEE The nal skills, Creating great dashboards. (2009-04-19 19:48) . . . . . . . . . . OBIEE Dashboard Design 001 (2009-04-19 20:36) . . . . . . . . . . . . . . . . . . . . . . OBIEE 10.3.4.1 is out! (2009-04-25 08:45) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 10341 First Impressions (2009-04-25 10:16) . . . . . . . . . . . . . . . . . . . . . OBIEE Opaque data labels on charts (2009-04-25 12:53) . . . . . . . . . . . . . . . . . . OBIEE Answers Tab Headings (2009-04-26 11:01) . . . . . . . . . . . . . . . . . . . . .

251 253 255 255 256 257 259 260 260 261 262 263 264 265 269 269 270 270 273 274 274 275 276 277 278 278 278 281 282 284 284 285 286 286 291 291 292 293 9

OBIEE not all change is good change (2009-04-26 11:42) . . . . . . . . . . . . . . . . . . OBIEE OLAP on 11G (2009-04-30 21:50) . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 May . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Enable users to change password (2009-05-04 16:00) . . . . . . . . . . . . . . . . OBIEE Bubble chart (2009-05-05 14:11) . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Greenbar Customization (2009-05-05 20:04) . . . . . . . . . . . . . . . . . . . (2009-05-05 21:14) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Brighton 2009 (2009-05-16 19:03) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Cache File Name revealed (2009-05-19 12:52) . . . . . . . . . . . . . . . . . . . . OBI Forum live de tweede editie (2009-05-25 14:18) . . . . . . . . . . . . . . . . . . . . OBIEE views.css color cheat sheet (2009-05-26 02:50) . . . . . . . . . . . . . . . . . . . OBIEE Background colour prompt (2009-05-28 09:56) . . . . . . . . . . . . . . . . . . . 3.6 June . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Essbase install (2009-06-06 21:36) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE get Internet Explorer Developer Toolbar (2009-06-11 11:30) . . . . . . . . . . . OBIEE New portal banner (2009-06-11 19:44) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Leading zeros calendar prompt (2009-06-12 15:33) . . . . . . . . . . . . . . . . . OBIEE Availible images (2009-06-15 22:03) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Get all users from RPD (2009-06-16 21:43) . . . . . . . . . . . . . . . . . . . . . OBIEE Remote Admintool login problems (2009-06-19 22:56) . . . . . . . . . . . . . . . OBIEE Get all users and roles from RPD (2009-06-22 19:49) . . . . . . . . . . . . . . . OBIEE Remember my ID and password (2009-06-23 19:19) . . . . . . . . . . . . . . . . OBIEE backslash in dashboard page name (2009-06-23 20:37) . . . . . . . . . . . . . . . OBIEE Online Photoshop (2009-06-28 08:19) . . . . . . . . . . . . . . . . . . . . . . . . 3.7 July . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Dashboard Default Controls (2009-07-07 18:20) . . . . . . . . . . . . . . . . . . OBIEE Cool CSS trick (2009-07-08 17:57) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Adding custom image in Conditional Column Format (2009-07-08 18:59) . . . . OBIEE perfmon (Performance Monitor) (2009-07-09 20:23) . . . . . . . . . . . . . . . . OBIEE made it to Expert on OTN (2009-07-10 09:35) . . . . . . . . . . . . . . . . . . . OBIEE Nifty New Blog (2009-07-10 09:47) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Hide the page options button (2009-07-10 11:03) . . . . . . . . . . . . . . . . . . OBIEE New Sample Sales Analysis v 1.3 (2009-07-11 21:46) . . . . . . . . . . . . . . . . OBIEE DiagCap.vbs (2009-07-12 15:19) . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Enable508 (2009-07-13 21:17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE OTN is Down / was Down (2009-07-16 10:32) . . . . . . . . . . . . . . . . . . . OBIEE If you had a 1000 wishes&. (2009-07-17 21:35) . . . . . . . . . . . . . . . . . .

294 294 295 295 295 297 299 299 301 302 302 303 304 304 304 304 305 305 306 307 308 310 310 311 311 311 311 311 313 313 314 314 315 315 315 316 316 317

OBIEE get the previous row (2009-07-22 17:54) . . . . . . . . . . . . . . . . . . . . . . . 10

OBIEE Hide the saved lter view link (2009-07-22 19:14) . . . . . . . . . . . . . . . . . OBIEE my rst server (2009-07-23 19:39) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE How to get started (2009-07-25 22:16) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Google Maps an alternative ending (2009-07-26 15:58) . . . . . . . . . . . . . . OBIEE Moving period to date aggregations (2009-07-27 20:14) . . . . . . . . . . . . . . 3.8 August . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE UDML and Notepad (2009-08-02 12:13) . . . . . . . . . . . . . . . . . . . . . . . OBIEE www obiforums com (nice idea) (2009-08-03 19:41) . . . . . . . . . . . . . . . . OBIEE TopN versus the rest (2009-08-06 17:35) . . . . . . . . . . . . . . . . . . . . . . OBIEE Prompts setting a default value to force a selection (2009-08-15 15:57) . . . . OBIEE Google Maps linebreak in annotations (2009-08-15 19:33) . . . . . . . . . . . . . OBIEE Prompt based on groupmembership (2009-08-17 19:05) . . . . . . . . . . . . . . OBIEE Cong Tags (2009-08-19 20:45) . . . . . . . . . . . . . . . . . . . . . . . . . . .

317 318 318 321 321 322 322 323 324 326 327 328 329 330 332 332 333 334 336 336 337 338 339 340 341 341 341 342 342 342 343 345

OBIEE Bing Maps (2009-08-21 22:11) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.9 September . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Got the u (2009-09-13 16:05) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

OBIEE Patches 10341 (2009-09-18 21:06) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE ODBC Client (2009-09-19 00:43) . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE a blog lost&. (2009-09-20 09:06) . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE LDAP Problems? Try this! (repost) (2009-09-22 00:20) . . . . . . . . . . . . . . OBIEE Tooltip Text in Column Heading (2009-09-22 15:33) . . . . . . . . . . . . . . . . OBIEE Grand Totals with Calculated Columns (repost) (2009-09-24 00:21) . . . . . . . OBIEE Using the Top N Filter (repost) (2009-09-26 00:22) . . . . . . . . . . . . . . . . OBIEE When the Top N Filter fails& (repost) (2009-09-28 00:25) . . . . . . . . . . . . OBIEE Open a Linux-Hosted OBIEE Repository in Online Mode (repost)(2009-09-30 00:26) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.10 October . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Multiple repository s / Multiple presentation servers (2009-10-02 21:51) . . . . . a generic calendar dimension (2009-10-29 20:09) . . . . . . . . . . . . . . . . . . . . . .

3.11 December . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Making an OR lter (2009-12-17 09:46) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Top N Months across (2009-12-17 10:25) . . . . . . . . . . . . . . . . . . . . . . 4 2010 4.1 January . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE a new year (2010-01-02 20:13) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE PATCHES 10.1.3.4.1 part 2 (2010-01-03 20:51) . . . . . . . . . . . . . . . . . . . OBIEE Navigating from report to report (2010-01-05 19:56) . . . . . . . . . . . . . . . . OBIEE Aggregate BY part 2 (2010-01-08 21:18) . . . . . . . . . . . . . . . . . . . . . .

345 345 345 347 348 11

OBIEE ResultRowLimit (2010-01-13 18:52) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Google Charts part 1 (2010-01-16 21:19) . . . . . . . . . . . . . . . . . . . . . . OBIEE Google Charts part 2 (2010-01-19 20:28) . . . . . . . . . . . . . . . . . . . . . . OBIEE Oracle support (2010-01-20 19:32) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Horizontal Pivot Sections (2010-01-22 21:03) . . . . . . . . . . . . . . . . . . . . OBIEE Google Charts part 3 QR Codes (2010-01-25 16:08) . . . . . . . . . . . . . . . . OBIEE Party 2000 page views (2010-01-27 20:26) . . . . . . . . . . . . . . . . . . . . . . OBIEE Performance tuning (2010-01-28 18:35) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Horizontal Pivot Sections Part 2 (2010-01-30 00:00) . . . . . . . . . . . . . . . . OBIEE Reset OC4J Admin password (2010-01-31 19:16) . . . . . . . . . . . . . . . . . . 4.2 February . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Report Name Length (2010-02-03 20:16) . . . . . . . . . . . . . . . . . . . . . . OBIEE PATCHES 10.1.3.4.1 part 3 (2010-02-06 17:44) . . . . . . . . . . . . . . . . . . . OBIEE Pivot Conditional Format Grand Total Part 2 (2010-02-06 20:40) . . . . . . . . OBIEE Grabbing the logical SQL (2010-02-09 20:26) . . . . . . . . . . . . . . . . . . . . OBIEE Changing unchangeable cells (2010-02-12 20:00) . . . . . . . . . . . . . . . . . . OBIEE Chancing CSS style on the y (2010-02-15 20:22) . . . . . . . . . . . . . . . . . OBIEE JavaScript and comments (2010-02-18 18:57) . . . . . . . . . . . . . . . . . . . . OBIEE ATR les (reports). (2010-02-21 20:39) . . . . . . . . . . . . . . . . . . . . . . . OBIEE Popup box (2010-02-24 20:09) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Presentation Server Always Refresh (2010-02-27 20:42) . . . . . . . . . . . . . . 4.3 March . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Quirky Report Name (2010-03-02 19:47) . . . . . . . . . . . . . . . . . . . . . . OBIEE Report XML Structure Part 1 (2010-03-05 21:05) . . . . . . . . . . . . . . . . . OBIEE conditional format using arrows (2010-03-07 21:03) . . . . . . . . . . . . . . . . OBIEE Report XML Structure Part 2 (2010-03-08 20:27) . . . . . . . . . . . . . . . . . OBIEE Report XML Structure Part 3 (2010-03-11 20:48) . . . . . . . . . . . . . . . . . OBIEE Start reading on graphs! (2010-03-16 20:58) . . . . . . . . . . . . . . . . . . . . OBIEE rtfm.ini cong le (2010-03-22 16:49) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE PATCHES 10.1.3.4.1 part 4 (2010-03-26 23:27) . . . . . . . . . . . . . . . . . . . 4.4 April . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 11G still waiting&& (2010-04-19 21:49) . . . . . . . . . . . . . . . . . . . . . . 4.5 May . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE using display folders (2010-05-05 10:50) . . . . . . . . . . . . . . . . . . . . . . . OBIEE multi-line tabs (2010-05-06 14:26) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Naming Conventions Physical Layer (2010-05-07 10:55) . . . . . . . . . . . . .

349 350 352 353 353 355 356 357 359 361 362 362 363 364 367 370 372 374 375 377 378 379 379 379 380 382 383 384 385 385 385 385 386 386 386 388 390 391

OBIEE New Google charts (2010-05-08 21:27) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Naming Conventions 12 Business Model Layer (2010-05-09 11:02) . . . . . . . . .

OBIEE See me speak (2010-05-11 11:40) . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Remove Default button from one dashboard only (2010-05-11 18:51) OBIEE Naming Conventions . . . . . .

393 393 394 395 396 397 398 398 401 406 408 412 413 413 414 414 414 414 415 415 416 416 419 421 422 423 427 428 428 428 430 430 430 431 431 432 433 433 436 13

Presentation Layer (2010-05-11 20:06) . . . . . . . . . .

OBIEE Remove PDF print option for one dashboard only (2010-05-11 21:13) . . . . . . OBIEE Open letter to Oracle (2010-05-14 11:51) . . . . . . . . . . . . . . . . . . . . . . OBIEE Remove line below guided navigation link (2010-05-15 19:02) . . . . . . . . . . . My Scrapbook (2010-05-16 12:17) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Events Calendar (2010-05-17 20:07) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Conditional format based on other column in charts (2010-05-18 09:39) . . . . . OBIEE Playing With TopN Part 1 (2010-05-20 21:13) . . . . . . . . . . . . . . . . . . . OBIEE Playing With TopN Part 2 (2010-05-21 21:41) . . . . . . . . . . . . . . . . . . . OBIEE Brighton 2010 (2010-05-22 17:50) . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Playing with TopN part 3 the Rank Function (2010-05-22 20:16) . . . . . . . . . OBIEE 11g The GA bet (2010-05-23 23:54) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Like to bet? (2010-05-24 22:18) . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE TimeStamp Calculations: (2010-05-25 18:00) . . . . . . . . . . . . . . . . . . . . 4.6 June . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE 11g Launch (2010-06-06 12:59) . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Guide user to help text (2010-06-14 12:36) . . . . . . . . . . . . . . . . . . . . . OBIEE PATCHES 10.1.3.4.1 part 5 (2010-06-17 08:32) . . . . . . . . . . . . . . . . . . . OBIEE11G Visualisations (2010-06-18 10:21) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Multie line tabs part 2 (2010-06-23 14:40) . . . . . . . . . . . . . . . . . . . . . OBIEE Which report uses which column (2010-06-24 18:50) . . . . . . . . . . . . . . . . OBIEE you don t want to see this&.. (2010-06-25 08:48) . . . . . . . . . . . . . . . . . OBIEE Google map redux (2010-06-26 18:03) . . . . . . . . . . . . . . . . . . . . . . . . OBIEE dynamic pivot calculations (2010-06-28 10:18) . . . . . . . . . . . . . . . . . . . OBIEE Adding Image to Column Header (2010-06-30 08:42) . . . . . . . . . . . . . . . 4.7 July . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Which connection pool user NOT to use (2010-07-02 10:52) . . . . . . . . . . . OBIEE 10G the Farewell Competition (2010-07-04 11:12) . . . . . . . . . . . . . . . . . OBIEE dynamic columns in the by statement (2010-07-04 14:34) . . . . . . . . . . . . . OBIEE 10G The Farewell Competition! (2010-07-05 11:49) . . . . . . . . . . . . . . . . OBIEE Administration Tool Options Part 1 (2010-07-06 08:13) . . . . . . . . . . . . . . OBIEE11g Launch day! (2010-07-07 16:59) . . . . . . . . . . . . . . . . . . . . . . . . . OBIEE Administration Tool Options Part 2 (2010-07-08 08:22) . . . . . . . . . . . . . . OBIEE Administration Tool Options Part 3 (2010-07-10 08:27) . . . . . . . . . . . . . . OBIEE Administration Tool Options Part 4 (2010-07-12 08:33) . . . . . . . . . . . . . . OBIEE Images Cheat Sheet (2010-07-14 00:43) . . . . . . . . . . . . . . . . . . . . . . . OBIEE remove the whole portalbanner (2010-07-16 11:23) . . . . . . . . . . . . . . . . .

14

Chapter 1

20071.1 December

My First Blog (2007-12-05 07:19)Wow, Even I had to go with the ow and create my own blog. Let me introduce myself... My name is John Minkjan and Im a senior BI consultant voor [1]CIBER in the Netherlands. I use this blog to store all the things I run into when using OBIEE. Mostly to use it as a reminder (how did we to that?). Feel free to send me any comments!1. http://www.ciber.nl/

OBIEE Dummy Column with NULL value (2007-12-05 10:03)Sometimes you need a dummy column in Union (ALL) querys with a NULL value. Try this => CAST(NULL as double)

OBIEE EVALUATE function and presentation variables (2007-12-05 18:00)I have this function dened in a report: evaluate(bi server.fnc XXX l ind ( %1, %2) as varchar(250),@ {MACHINEID } {1234 } ,@ {PTESTCODE } {X56GH }) both %1 and %2 are varchar When I put the report in a dashboard and try to ll the presentation values the report comes back with: [nQSError: 27005] Unresolved column: X56GH. (HY000) The reason for this error is that ist trying to use the column X56GH instead of the string X56GH. The solution is to put single quotes around the presention variables: evaluate(bi server.fnc XXX l ind ( %1, %2) as varchar(250),@ {MACHINEID } {1234 },@ {PTESTCODE } {X56GH }) But not around the default values!

OBIEE Measures and Events in one chart (2007-12-06 10:55)Recently I had a question from a customer, a truck management company. They collect electronically statistics from several truck company s. One statistic is fuel consumption. 15

[1] The other one is trips to the garage:

[2] Where 1 = Tyre change, 2 = Oil Change, 3= Fuel Filter Change, 4 = Other maintenance.

They want this data combined in one chart, to see if a trip to garage has an inuence on the fuel consumption.

First I combined the data into one view using UNION ALL and a couple of dummy columns. If I have an event for that date I put in a 10 else NULL.

[3] Combo Graph 16

Then I put this into a Line Bar

[4]

A simple way to combine Measure and Events.

[17-DEC-2007] @George:

This is the date format:[5]

[6]

1. http://bp2.blogger.com/_3AP-vNabdk4/R1fJOz2SG7I/AAAAAAAAAAY/JJ3LkEiiMkw/s1600-h/Fuel_Consumption.JPG 2. http://bp1.blogger.com/_3AP-vNabdk4/R1ffgj2SG8I/AAAAAAAAAAg/vQcbULxHeRI/s1600-h/Trucks_in_Garage.JPG 3. http://bp0.blogger.com/_3AP-vNabdk4/R1fmIT2SG_I/AAAAAAAAAA4/VBL-a34WP38/s1600-h/Combined.JPG 4. http: //bp1.blogger.com/_3AP-vNabdk4/R1fy5j2SHAI/AAAAAAAAABA/V8ionxf9DcI/s1600-h/Chart_Measure_and_event.JPG 5. http://bp0.blogger.com/_3AP-vNabdk4/R2YYTuEukFI/AAAAAAAAADI/j6XsdyMKLH4/s1600-h/OBIEE_date_format.JPG 6. http://bp2.blogger.com/_3AP-vNabdk4/R2YYFOEukEI/AAAAAAAAADA/i5sk9v4MqS0/s1600-h/OBIEE_date_format.JPG

17

OBIEE for MicroSoft Oce (2007-12-06 14:14)When you try to log on to OBIEE for the rst time from Excel, you are asked to dene a connection:

[1] The setup documentation and the default settings from OBIEE for MS-Oce can put you in the wrong direction. The port number is the port where your bioce is running, default this is the same port as your BI-server (default) 9704. Your connection could look like this:

[2]1. 2. http: http://bp1.blogger.com/_3AP-vNabdk4/R1f4-j2SHCI/AAAAAAAAABQ/eA_TvHp72hE/s1600-h/OBIEE_MS_OFFICE_ //bp1.blogger.com/_3AP-vNabdk4/R1f3Ij2SHBI/AAAAAAAAABI/eutaEe5giHE/s1600-h/OBIEE_MS_OFFICE_CONNECTION.JPG CONNECTION_WITH_PORT_INFO.JPG

OLAP 101 (2007-12-06 14:57)Found this blog entry: Part I: [1]http://oraclebi.blogspot.com/2007/11/olap-workshop-basic-over view-of-olap.html part II: [2]http://oraclebi.blogspot.com/2007/11/olap-workshop-part-2-und erstanding-olap.html Part III: [3]http://oraclebi.blogspot.com/2007/12/olap-workshop-part-3-bui lding-analytic.html Some good basic info examples when you need to talk with customers1. http://oraclebi.blogspot.com/2007/11/olap-workshop-basic-overview-of-olap.html 2. http://oraclebi.blogspot.com/2007/11/olap-workshop-part-2-understanding-olap.html

18

3. http://oraclebi.blogspot.com/2007/12/olap-workshop-part-3-building-analytic.html

OBIEE Pivot table with carriage return (2007-12-07 09:06)

One of my customers wanted some data presented in a pivot table with a maximum of 5 columns. If more data is available then a sort of carriage return should be given and continue on next line. (A sort of DTP) First I concatenated all the data into 1 cell:

[1]

Then

I

determined

the

ColomnNumber

and

RowNumber

for

each

element.

[2]

19

[3] And nally put it in a pivot table:

[4] Dont forget to set the aggregate level for the measure to rst!1. http://bp2.blogger.com/_3AP-vNabdk4/R1kLskfttHI/AAAAAAAAABk/JNwQlSy_nOA/s1600-h/obiee_concat_data.JPG 2. http://bp0.blogger.com/_3AP-vNabdk4/R1kOrEfttJI/AAAAAAAAAB0/1Llu22_vukk/s1600-h/obiee_row_number.JPG 3. http://bp0.blogger.com/_3AP-vNabdk4/R1kOmEfttII/AAAAAAAAABs/eXyTiP6ilok/s1600-h/obiee_column_number.JPG 4. http://bp0.blogger.com/_3AP-vNabdk4/R1kPfEfttKI/AAAAAAAAAB8/N5waGJo-b14/s1600-h/OBIEE_PIVOT_CARRIAGE_ RETURN.JPG

OBIEE EVALUATE Function (2007-12-07 11:39)In the documentation for OBIEE 10.3.3.1 you nd a very small description of the EVALUATE function:

6.1 EVALUATE Function This function is intended for scalar and analytic calculations. Syntax: EVALUATE(DB Function( %1), { Comma separated Expression }) Example: SELECT 20

e.lastname,sales.revenue,EVALUATE(dense rank() over(order by %1 ),sales.revenue) FROM sales s, employee e; As often in practice the real world is more complex: Good practice is to tell the EVALUATE function which type of return value it can expect: EVALUATE(DB Function( %1) as returntype, {Comma separated Expression }). If you omit this it might sometimes complain that it cant concatenated values from a dierent type. Another trap is when you use columns from several tables for the input variables, be sure that they have a direct join. Else OBIEE will try to join them underwater which can lead to unwanted Cartesian products.

OBIEE EVALUATE AGGR Function (2007-12-07 12:02)In the documentation for OBIEE 10.3.3.1 you nd a very small description of the EVALUATE AGGR function:

6.2 EVALUATE AGGR Function This function is intended for aggregate functions with group by clause. Syntax: EVALUATE AGGR(DB Aggregate Function( %1), {comma separated Expression }) Example: SELECT year.year, sales.qtysold, EVALUATE AGGR(sum( %1), sales.quantity) From SnowFlakeSales; This function is very useful if you want to use the build in statistics functions from the ORACLE database like: CORR COVAR POP STDDEV POP The following example calculates the coecient of correlation between the list prices and minimum prices of products by weight class in the sample view oe.products:SELECT weight class, EVALUATE AGGR(CORR( %1, %2) as double, product information.list price, product information.min price) FROM product information; If you get a [38083] The Attribute denes a measure using an obsolete method. error, check whether you set the Aggregation Rule of the logical column correctly. Good info can also be found here: [1]http://www.oracle.com/technology/products/bi/pdf/Oracle %20Business %20Intelligence %20Server %20and %20Embedded %20DB %20Functions.pdf1.

http://www.oracle.com/technology/products/bi/pdf/Oracle%20Business%20Intelligence%20Server%20and%

20Embedded%20DB%20Functions.pdf

21

OBIEE referencing session variables in report title (2007-12-10 14:40)After spending way to much time gering out the exact lingo, I decided to blog them for futher reference:

currentTime => @ {system.currentTime } system.productVersion => @ {system.productVersion } session.locale => @ {session.locale } = en-gb session.language => @ {session.language } = en rtl =>@ {session.rtl } = false session.loginTime => @ {session.loginTime } session.logoutTime =>@ {session.logoutTime } session.lastAccessTime =>@ {session.lastAccessTime } session.currentUser => @ {session.currentUser.id } = administrator user.homeDirectory => @ {user.homeDirectory } = /users/administrator user.id => @ {user.id } = administrator user.displayName => @ {user.displayName } = administrator

OBIEE empty presentation tables in a repository in a multi-user environment(2007-12-11 12:20)

If you check in a repository in a multi-user environment, you will notice that it doesnt accept empty presentation tables, which you might use for table indentation.

One solution is to using a dummy column:

[1] To make it invisible for the other users you can make a special user HideColumn: 22

[2][3] And set the persions only for this user:

[4][5] This way OBIEE checks in and out without any problems.

1.

http:

//bp2.blogger.com/_3AP-vNabdk4/R151jJPKGyI/AAAAAAAAACg/lGWPetcbpoM/s1600-h/OBIEE_Folder_indentation.JPG 2. http://bp3.blogger.com/_3AP-vNabdk4/R150OZPKGwI/AAAAAAAAACQ/K9dZbckVI9Q/s1600-h/OBIEE_HideColumn_User. JPG 3. http://bp1.blogger.com/_3AP-vNabdk4/R152X5PKGzI/AAAAAAAAACo/2nRZCPDMnZY/s1600-h/OBIEE_HideColumn_User. JPG 4. 5. http://bp0.blogger.com/_3AP-vNabdk4/R150dpPKGxI/AAAAAAAAACY/yzH2FTeVLZI/s1600-h/OBIEE_HideColumn_ http://bp1.blogger.com/_3AP-vNabdk4/R152-5PKG0I/AAAAAAAAACw/3oLAP4VfPok/s1600-h/OBIEE_HideColumn_ Permissions.JPG Permissions.JPG

23

OBIEE Excel and slashes (2007-12-11 17:45)Just a tip from my (time costly) experience when using the Excel plug-in. Try to avoid the / - forward slash (: costs / hr) in column names . Excel has sometimes trouble handling those columns if the column name is used in further (VBA) scripting. Basically it not a good idea to use any mathematical signs (+-/* % # &) in a column name.

OBIEE Default security groups for BI Publisher (2007-12-13 07:19)If you are using OBIEE and BI Publisher side by side using shared security model (XDO), you wil need to create some default users groups:

[1] These groups are used by the XMLP server:

XMLP ADMIN XMLP DEVELOPER XMLP SCHEDULER XMLP ANALYZER EXCEL XMLP ANALYZER ONLINE XMLP TEMPLATE DESINGER If you are working with multi user repository development remember to assign the groups at least to one project, or the group will be lost at check in.1. http://bp0.blogger.com/_3AP-vNabdk4/R2DPTJPKG1I/AAAAAAAAAC4/_xGzZsqnrP8/s1600-h/OBIEE_Default_Users.JPG

OBIEE Duration between events (2007-12-19 11:00)OBIEE doesnt have a default GANTT type chart type.

[1] 24

For a customer I developed a simple and crude alternative. First I get the LAG column and a Dummy column which calculates the total duration in the selection so far:

[2]

[3] Then a select a vertical bar graph in which I give the dummy column the same colour as the background: 25

[4] I know its crude, but it works, but any better suggestions are welcome.1. http://bp0.blogger.com/_3AP-vNabdk4/R2jshOEukGI/AAAAAAAAADQ/ofQS7i8OGxw/s1600-h/OBIEE_DURATION_BETWEEN_ EVENTS.JPG 2. http://bp1.blogger.com/_3AP-vNabdk4/R2jsneEukHI/AAAAAAAAADY/gsfT0Q-gVOo/s1600-h/obiee_dummy_column.JPG 3. http://bp0.blogger.com/_3AP-vNabdk4/R2jsuOEukII/AAAAAAAAADg/r2HsXivmTx0/s1600-h/obiee_lag_column.JPG 4. http://bp3.blogger.com/_3AP-vNabdk4/R2js6-EukJI/AAAAAAAAADo/Vb0r1PurZqI/s1600-h/OBIEE_DURATION_ BETWEEN_EVENTS_TOTAL.JPG

OBIEE Scale markers (2007-12-19 11:30)According to the documentation you can set a scale marker based on a column value.

[quote]Options for these values include a static value, a variable, a value sourced from a column included in the request, or one derived from a SQL query. Advanced options enables you to dynamically set values based on results of a column, query, or presentation variable which is evaluated while rendering the chart as follows.[/quote]

It seems that if a query is very complex (5 union all and some dashboard prompts) you loose the column selector (undocumented feature?).

== After futher research I discovered that this feature seems to be turned on or o based on the availble columntypes. If you make the column an aggragate (SUM,MIN,MAX etc) you can use it directly.... == 26

You can add the scale marker manually by rst adding a static marker and then editing the XML directly by replacing the linePosition part:

(saw:linePosition>(saw:columnRef columnID=c59/> (/saw:linePosition> ( Replace the ( with < ) where c59 is the column you want to use as a scale marker.

27

28

Chapter 2

20082.1 January

OBIEE using oracle stored procedure to ll report (2008-01-11 13:35)Oracle stored procedures by default dont return recordsets, but sometimes a query is to slow or complex. Especially if it contains multiple outerjoins or complex statistical calculations. (yes, if know how to handle table types there is an other workaround see: http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11 QUESTION ID:666224436920 ) In this demo I will show you a workaround. First you need to tables, one for the parameters and one for the resultset.

CREATE TABLE SH.DEMOPAR ( ID NUMBER, SDATE DATE DEFAULT trunc(sysdate - 183), EDATE DATE DEFAULT trunc(sysdate), MACHINENUMBER VARCHAR2(30 BYTE) ) ; CREATE UNIQUE INDEX SH.DEMOPAR PK ON SH.DEMOPAR (ID) ; CREATE TABLE SH.DEMODATE (ID NUMBER, MDATE DATE, VALUE NUMBER, INTERPOL NUMBER, C1 NUMBER, C2 NUMBER ) ; CREATE UNIQUE INDEX SH.DEMODATE PK ON SH.DEMODATE (ID, MDATE) ; For the parameter table you need to construct an XML le for the write-back functionality: - - - - - -INSERT INTO DEMOPAR VALUES(@ {c0 },@ {c1 },@ {c2 },@ {c3 }) -UPDATE DEMOPAR SET SDATE = @ {c1 },EDATE = @ {c2 },MACHINENUMBER = @ {c3 } WHERE ID= @ {c0 } - - - 29

- - Alter the - The name of the category that the data item belongs to. [All, except, X-Y and Time Plot] % CATEGORY TOTAL => The sum of all data values in the category to which the data item belongs. [Area, Bar, Line, Pareto, Pie, Radar] % CLOSE VALUE => The close value for a high-low data item. [Stock] % GRAPH TOTAL => The sum of all data values in a bar, line, pie, or radar graph. [Area, Bar, Line, Pareto, Pie, Radar] % HIGH VALUE => The high value for a high-low data item. [Stock] % LOW VALUE => The low value for a high-low data item. [Stock] % OPEN VALUE => The open value for a high-low data item. [Stock] % PERCENT OF CATEGORY => The data value represented as a percentage of the sum of all data values in its category. [Area, Bar, Line, Pareto, Pie, Radar] % PERCENT OF TOTAL => The data value represented as a percentage of the sum of all data values in the graph. [Area, Bar, Line, Pareto, Pie, Radar] % SERIES NAME => The name of the data series that the data item belongs to. [All] % TIME VALUE => The time value for a Time Plot data item. [Time Plot] % VALUE => The value of the data item. [Area, Bar, Line, Pareto, Pie, Radar] % XVALUE => The x value for an X-Y data item. [X-Y] % YVALUE => The y value for an X-Y or Time Plot data item. [X-Y, Time Plot]

You can nd the .PCXML les here: {OracleBI }\web\app\resashs oracle10\popbin or {OracleBI }\web\app\resashs Siebel77\popbin look for After editing you have to restart the java host and the presentation service. 32

Till Next Time1. http://bp2.blogger.com/_qd3TDEvIh4Y/R48zG3kyvhI/AAAAAAAAAA0/4A9ht_QOwa0/s1600-h/OBIEE_BUBBLE_MOUSE_ OVER_NO_FORMAT.JPG

OBIEE adding a customized graphtype (2008-01-17 13:32)One of our customers had the need for some extra customized graphtypes in answers. It took me a while to gure out how OBIEE connects but here is how we did it.

1. In the map {OracleBI }\web\app\resashs oracle10\popbin make a copy of the PCXML for the graphtype you want customize. 2. rename the le [FI:bubble2.pcxml] 3. Open the le and make the custyomistions you want 4. In the map {OracleBI }\web\app\resashs oracle10\charts make a copy of the CXML for the graptype you want to customize. 5. rename the le [FI:bubble2.cxml] 6. open the le and edit in sawc:template => displayNameRef=kmsgChartCustomBubble 7. edit in sawc:seriesRules => displayNameRef=kmsgBubbleCustomSeries 8. edit in sawc:engineSpecic le=popbin/bubble2.pcxml 9. Save and close the le. 10. Next we have edit the messages !you have to this for every language you use! (remember to back it up, else you loose it after every (re-)install/update of OBIEE) [EDIT: or make a custommessage folder for each language] go to {OracleBI }\web\msgdb\l en\messages 11. open chartmessages.xml and add the entry Bubble - Custom 33

12. Save and close the le 13. open charviewmessages.xml and add the name=kmsgChartCustomBubble>Bubble - Custom 14. Save and close the le 15. restart the Java-host and the prestationserver. entry Very usefull point for security logging events Execute before query -> Ideal to ll a global temp table or to do some execution logging Execute after query -> To close you execution loging Execute on dissconnect -> close your security log Sadly in the OBIEE documentation (10.1.3.x ) there is no info about these options... I did some research (mostly trail and error) on how to incoperate variables in these scripts. The syntax for this is dierent then in the rest of OBIEE. All parameters have to be enclosed in single quotes: :USER, :PASSWORD VALUEOF(REPOSITORY VARIABLE) VALUEOF(NQ SESSION.SESSION VARIABLE) If you want to pass something from the dashboard put in a session variable. The execution string is build like 42

BEGIN SCHEMA.PACKAGE NAME.PROCEDURE NAME(PARAMETER); END; Dont forget the semicolons ; Till Next Time

OBIEE Using ORACLE stored procedures part 3 (2008-02-11 17:12)If you are using the Multi User Development (MUD) be aware that the connectionscripts arent updated when you check in. You have to edit them manualy in the main repository. Till Next Time

OBIEE Aggregate BY (2008-02-18 20:23)OBIEE has many aggregate functions: AVG, AvgDistinct, BottomN, Count, CountDistinct, Count (*) (CountStar), First, Last, Max, Median, Min, NTile, Percentile, PeriodAgo, PeriodToDate, Rank, StdDev, Sum, SumDistinct, TopN.

Default OBIEE groups these functions on the lowest level. If you want it in an other grouping you can use the BY statement in your function

denition. dene multiple columns (Comma seperated):

If neccesary you can also

43

In the background OBIEE is translating this to ANSI-SQL: WITH SAWITH0 AS (select T21.LICENSEPLATE as c1, T21.MEASUREDATE as c2, T21.FUELCONSUMPTION as c3, avg(T21.FUELCONSUMPTION) as c4, count(T21.FUELCONSUMPTION) as c8, sum(T21.FUELCONSUMPTION) as c9from TBLFUELCONSUMPTION T21group by T21.LICENSEPLATE, T21.MEASUREDATE, T21.FUELCONSUMPTION) select SAWITH0.c1 as c1, SAWITH0.c2 as c2, SAWITH0.c3 as c3, SAWITH0.c4 as c4, sum(SAWITH0.c9) over (partition by SAWITH0.c2) / sum(SAWITH0.c8) over (partition by SAWITH0.c2) as c5, sum(SAWITH0.c9) over (partition by SAWITH0.c1) / sum(SAWITH0.c8) over (partition by SAWITH0.c1) as c6, sum(SAWITH0.c9) over (partition by SAWITH0.c1, SAWITH0.c2) / sum(SAWITH0.c8) over (partition by SAWITH0.c1, SAWITH0.c2) as c7 from SAWITH0order by c1, c2, c3 Which isnt always the most cost eective way, you might consider using the EVALUATE AGGR function instead for very complex aggregations. Till Next Time

OBIEE Controling Pivot View behavior (2008-02-23 12:09)One of the more powerful tools in OBIEE is the pivot view. If you have large amounts of data you sometime run out of rows and or columns or even worse out of cells You can control these values by altering the instancecong.xml. This le is usually found in ..\OracleBIData\web\con g Good info can be found in the Oracle Business Intelligence Presentation Services Administration Guide (b31766.pdf) If you open instancecong.xml in notepad you get something like these parameters 44

The behavior of the pivot view can be altered with the following parameters:

[MaxVisibleColumns] Sets the maximum number of columns to be displayed in a Pivot View default {1000 } [MaxVisiblePages] Sets the maximum number of page choices (or pages in PDF) to be displayed in a Pivot View default {1000 } [MaxVisibleRows] Sets the maximum number of rows to be displayed in a Pivot View. Default {100000 } [MaxVisibleSections] Sets the maximum number of sections to be displayed in a Pivot View. Default {1000 } Altered in the in-

stance cong it would look like this:

If you still run out of cells try this: [CubeMaxPopulatedCells] The maximum number of populated cells in the Pivot Table. If this maximum is exceeded, the user receives an error when rendering the pivot table. Default {150000 } [CubeMaxRecords ] The maximum number of records returned by a query for the Pivot Table engine to process. This roughly governs the maximum number of cells that can be populated in a pivot table (unpopulated cells in a sparse pivot table do not count). If this maximum is exceeded, the user receives an error when rendering the pivot table.

Till next Time 45

OBIEE Optimizing NQQuery.log for debugging (2008-02-29 19:29)When building and debugging OBIEE repository s and reports you will often go back to the NQQuery.log. Depending on the security setting of the user the actual query send to the database will be logged here. Because the log can grow very quickly over time it often means having to scroll to the end of the log to nd the information needed. By default the maximum size for the NQQuery.log is 10MB. This setting is found in the NQSCong.ini

under USER LOG FILE SIZE: If the log goes beyond this size OBIEE will rename it as NQQuery.log.old after it has nished the last request. In a development environment you might consider setting this value to 50KB (or even as low as 10KB).

That way the log only contains the very last actions you are interested in. Be aware that if the new log goes beyond the USER LOG FILE SIZE the old NQQuery.log.old will be overwritten.

Till Next Time

2.3

March

OBIEE No Thousand separator (2008-03-04 14:33)One of our customers wants no thousand separators visible when using the English languages settings. To achive this you have to edit your localedenitions.xml. You can nd this probably in \OracleBi\web\cong. 46

Restart the presentation sever.

WOW: (Word Of Warning) Do not use wordpad to edit this le but Notepad or an real XML-editor! Till Next Time

OBIEE Continues Time Line (2008-03-09 15:43)

Because OBIEE graph types are not Date/Time aware you often face the problem of broken Date/Time Lines. If you dont want to wait for OBIEE 11G you might want to try this alternative. Our table with fuel consumption entrys doesnt have an entry for each day after ltering:[1]

Due to this fact the graphical representation is wrong: 47

[2] port with a union query based on a calendar dimension:

One solution is to combine this re-

The executed query against 10G looks now like this:

[3] much better.

The graphical representation is no

48

[4] Be aware that a union query will inuence the perfromance! Till Next Time1. http://bp2.blogger.com/_qd3TDEvIh4Y/R8q-OoJkGjI/AAAAAAAAAG4/Tx4f6N23iV4/s1600-h/OBIEE_UNION_001.JPG 2. http://bp1.blogger.com/_qd3TDEvIh4Y/R8q-DYJkGiI/AAAAAAAAAGw/puEEutCN8n0/s1600-h/OBIEE_UNION_002.JPG 3. http://bp0.blogger.com/_qd3TDEvIh4Y/R8q9-IJkGhI/AAAAAAAAAGo/--l9epvTnRc/s1600-h/OBIEE_UNION_003.JPG 4. http://bp2.blogger.com/_qd3TDEvIh4Y/R8q95oJkGgI/AAAAAAAAAGg/se_25YjaSV0/s1600-h/OBIEE_UNION_004.JPG

OBIEE Downgrading Repository (2008-03-09 16:37)I wrote a Q &D Command line tool to downgrade an OBIEE repository. You have to run it on the oldest OBIEE-server. < COBIEEDG {CIBER } Obiee downgrade tool < No warrantys what so ever!!!!!!!!! < version 0.0.2 < 09 March 2008 < COBIEEDG Has to run on the oldest OBIEE server!! -? Show Argument Help -U User -P Password -I Source Repository -O Output Repository -N New Repository Number You can download it [1]here! Till Next Time1. http://www.pi4aa.nl/obiee/cobieedg.zip

OBIEE Manage the cache part 1 (2008-03-13 22:16)Emptying/Purging the cache One of the most powerful features of OBIEE is the way it uses its cache. Good cache management can really boost your performance. From the system management point of view there are a couple of tips and tricks to inuence the cache performance. For a customer I made a couple of handy scripts for handling the cache. 1. Purging the whole cache. If you have a completed database reload or want to do some performance testing with your repository 49

you might want to purge the whole cache. Put the following in a .txt le in your maintenance directory // Purge complete cache // John Minkjan Ciber Nederland // executed by cmd string: // nqcmd -d AnalyticsWeb -u Administrator -p Administrator -s c:\obiee\mscripts\purg ecompletecache.txt Call SAPurgeAllCache()

You can execute this from the commandline: nqcmd -d AnalyticsWeb -u Administrator -p Administrator -s c:\obiee\mscripts\purgeco mpletecache.txt

[1] 2. Purging the cache by table If you have a major update of your dimensional tables you might want to clear the cache for just one table. Put the following in a .txt le in your maintenance directory: // Purge complete cache // John Minkjan Ciber Nederland // FileName: PurgeTableCache.txt // executed by cmd string: // nqcmd -d AnalyticsWeb -u Administrator -p Administrator -s c:\obiee\mscripts\Purg eTableCache.txt Call SAPurgeCacheByTable( JJMORCL SH, NULL, SH, TBLTRUCKS ); You can execute this from the commandline: nqcmd -d AnalyticsWeb -u Administrator -p Administrator -s c:\obiee\mscripts\PurgeTa bleCache.txt

[2] WOW: the database, schema, (catalog), and tablename are the names in OBIEE not in the database. 3. Purging the cache by query Sometimes you only want to purge only old data from your cache. Put the following in a .txt. le in your maintenance directory: // Purge cache by Query // John Minkjan Ciber Nederland // FileName: PurgeQueryCache.txt 50

// executed by cmd string: // nqcmd -d AnalyticsWeb -u Administrator -p Administrator -s c:\obiee\mscripts\Purg eQueryCache.txt Call SAPurgeCacheByQuery(SELECT TBLFUELCONSUMPTION.LICENSEPLATE, TBLFUELCONSUMPTION.MEASUREDATE, TBLFUELCONSUMPTION.FUELCONSUMPTION FROM Trucks WHERE TBLFUELCONSUMPTION.MEASUREDATE = TIMESTAMPADD(SQL TSI YEAR, -2,NOW()); // Query 2 SELECT TBLFUELCONSUMPTION.LICENSEPLATE, TBLFUELCONSUMPTION.MEASUREDATE, TBLFUELCONSUMPTION.FUELCONSUMPTION FROM Trucks WHERE TBLFUELCONSUMPTION.MEASUREDATE The rumors seem to be wrong, still no release of 10.1.3.3.3. Till Next Time 59

2.5

May

OBIEE 10.1.3.3.3 its out (2008-05-10 16:18)OBIEE 10.1.3.3.3 is out, you can nd at [1]OTN. They havent updated there documentation yet.... Till Next Time Of course I was beaten by Venkatakrishnan : [2]http://oraclebizint.wordpress.com/2008/05/10/oraclebi-ee-101 333-released-and-out-for-download/ Most improvements seem to be in the BI publisher tool. Stil no datetime aware graphs.1. http://www.oracle.com/technology/software/index.html 2. http://oraclebizint.wordpress.com/2008/05/10/oracle-bi-ee-101333-released-and-out-for-download/

OBIEE 10.1.3.3.3 documentation (2008-05-10 16:32)The rst documentation is out : [1]http://download.oracle.com/docs/cd/E10415 01/doc/bi.1013/e10416/toc.htm Till Next Time1. http://download.oracle.com/docs/cd/E10415_01/doc/bi.1013/e10416/toc.htm

OBIEE making a column selector in a prompt (2008-05-18 19:47)On of our customers has a very wide table containing 50+ settings columns and four result columns. For there report they only use one of the setting columns, but they wanted total freedom to select this column (1 of 50+). A normal prompt for this report would take up a very large portion of the screen and was found very unpractical / unaesthetic. Here is how we solved this, based on the PAINT example:

First we made a simple report based on the columns Year, Year Ago Dollars and Dollars. For debugging purpose we added the Logical SQL view. On the year column we added the following lter based on a presentation variable. 60

[1]

No switch to the Advanced tab: Have a close look at the request XML especially the lter part: Periods.Year FILTER01 LEFT Now edit the FILTER XML to: @ {FILTER01 LEFT } {1 } @ {FILTER01 RIGHT } {1 } Dont forget the single quotes ().

Press the set XML button:

and switch back to your criteria view:

Save the report! If you run the report and have a look at the logical SQL:

61

you will see that the lter have evaluated into 1=1, which is always TRUE. Its a good practice not to let it evaluate to NULL = NULL since not every database will give back the same result. Now create a new prompt called FILTER01 LEFT as a dropdown list based on SQL:

In the SQL statement you put: SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region union all SELECT case when 0=1 then Markets.Region Test the result:

else 1 end FROM Paint else Markets.Total US end FROM Paint else Markets.Region end FROM Paint else Markets.District end FROM Paint else Markets.Market end FROM Paint else Products.Total Product end FROM Paint else Products.Type end FROM Paint else Products.Brand end FROM Paint else Products.UPC end FROM Paint else Products.Color end FROM Paint else Products.Finish end FROM Paint else Products.Size X end FROM Paint

Add the second prompt FILTER01 RIGHT as edit box prompt:

Test the result:

62

Save the prompt and open a new dashboard page, put the prompt and the report on the dashboard page:

Test the result

Till Next Time John Minkjan is a senior BI-consultant at Ciber in the Netherlands, the English text of this article is also published on his compagny blog [2]http://knowledge.ciber.nl/weblog/1. http://bp1.blogger.com/_qd3TDEvIh4Y/SDBsSA8jhwI/AAAAAAAAALI/gvgsN1NPbxA/s1600-h/blog002.JPG 2. http://knowledge.ciber.nl/weblog/

OBIEE Changing the line color in a scatter graph with line (2008-05-23 09:35)In OBIEE they forgot to put in a editor to change the line color for a Scatter with lines graph. Its a known issue on Metalink3. A simple workaround is to edit the PCXML le for this graph type. You can nd it in: ...\OracleBI\web\appbackslashres\s oracle10\popbin Open the le scatter.pcxml after the {/legend } tag and before {/graph } tag add the following:

{SeriesDenition Number=1 Color= #2175BB/ } {SeriesDenition Number=2 Color= #F4B44D/ } {SeriesDenition Number=3 Color= #A4C000/ } {SeriesDenition Number=4 Color= #F9F400/ } {SeriesDenition Number=5 Color= #82AFDD/ } {SeriesDenition Number=6 Color= #000000/ } {SeriesDenition Number=7 Color= #C8C8C8/ } {SeriesDenition Number=8 Color= #CC6600/ } {SeriesDenition Number=9 63

Color= #CC99CC/ } {SeriesDenition Number=10 Color= #EE00EE/ } {SeriesDenition Number=11/ } {SeriesDenition Number=12/ } {SeriesDenition Number=13/ } {SeriesDenition Number=14/ } {SeriesDenition Number=15/ } {SeriesDenition Number=16/ } {SeriesDenition Number=17/ } {SeriesDenition Number=18/ } {SeriesDenition Number=19/ } {SeriesDenition Number=20/ } (Note replace the { and } with correct tag symbols) Till Next Time

OBIEE Pivot table Measure label (2008-05-29 20:04)One of those things you have to be reminded of how it works.

If you have this request: You will get a default table view like this:

Lets put it in a pivot table: Switch the measure label box with the region: 64

It becomes even more intressting wen we bring the measure label box to row pane:

Till Next Time

2.6

June

OBIEE Flexible Dashboards (2008-06-07 11:45)

One of our customers wanted a exible dashboard. They wanted to select a x number of trucks and have an individual graph for each truck. The number of selected truck varies between 0 and 5. We made this possible by using the RANK function in OBIEE. We made a simple report for the licence plate dimension:

[1][2] 65

Have a look at SQL going to the database:

[3] If we put a lter (: 3) on the RANK we get:

[4] You see that the ltering is done after getting the RANK number from the db. Now save this report 5 times were you put a dierent number in each rank lter (SEL1, SEL2, SEL3, SEL4 and SEL5) . To test this make a dashboard page with a dimension prompt and the 5 SEL reports:

[5] Select 1 truck:

[6] Select 3 trucks:

[7] Now make your real reports and lter them Filter based on results of another request.

66

[8]

[9] Set your NO RESULTS view do a simple -

[10] Do this also 5 times every time on a dierent SEL report. (RES1, RES2, RES3, RES4 and RES5) Put the 5 RES reports to your dashboard instead of the SEL reports.

67

[11] Check if it works:

[12] Till Next Time

(this text is also published on [13]http://knowledge.ciber.nl/) NOTE: in some cases using RCOUNT instead of RANK works better, there is a known issue of OBIEE RANK function when numbers are strings.

1. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image.png 2. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_3.png 3. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_4.png 4. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_5.png 5. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_6.png 6. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_7.png 7. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_8.png 8. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_9.png 9. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_10.png 10. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_11.png 11. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_12.png 12. http://www.pi4aa.nl/blogjohn/OBIEEFlexibleDashboards_99FF/image_13.png 13. http://knowledge.ciber.nl/

68

OBIEE Directing a user to a default dashboard (2008-06-07 22:12)One of our customers wanted the OBIEE users after login directed to a default dashboard based on the department they work in. First we created a view containing P USER, DEPARTMENT and PORTALPATH.

[1] In the variable manager we created an initialization block

[2]

[3] We connected this to a session variable called PORTALPATH. This is a OBIEE reserved word so will get a warning, just ignore it.

[4] You need to restart the BI-server and the presentationserver! Let s try it: USER1 69

[5] USER2

[6] USER3

[7] Till Next Time

1. http://www.pi4aa.nl/blogjohn/OBIEEDirectingausertoadefaultdashboard_13259/image.png 2. http://www.pi4aa.nl/blogjohn/OBIEEDirectingausertoadefaultdashboard_13259/image_3.png 3. http://www.pi4aa.nl/blogjohn/OBIEEDirectingausertoadefaultdashboard_13259/image_4.png 4. http://www.pi4aa.nl/blogjohn/OBIEEDirectingausertoadefaultdashboard_13259/image_5.png 5. http://www.pi4aa.nl/blogjohn/OBIEEDirectingausertoadefaultdashboard_13259/image_6.png 6. http://www.pi4aa.nl/blogjohn/OBIEEDirectingausertoadefaultdashboard_13259/image_7.png 7. http://www.pi4aa.nl/blogjohn/OBIEEDirectingausertoadefaultdashboard_13259/image_8.png

OBIEE Private output type for a chart (2008-06-10 19:49)

Sometimes you want the OBIEE chart in a higher graphical denition. This can be done by altering the instancecong.xml. Problem with this is that this will change the setting for the whole presentation server. At one of our customers we had the need only to change this for the scatter chart and leave the rest on default (Flash) This is how we did it: Warning: Remember PNG and JPEG graphical types are not down drillable! Step 1: Altering imagetypes.cxml First locate your Chart support directory, usually found in &OracleBI\web\app\restbackslashs oracle10\chartsupport 70

Make a copy of imagetypes.cxml in the same directory, give it a name which refers to the chart type you want to use (eg: imagetypesScatter.cxml ) Open the renamed le (e.g. with Notepad):

Changed preferred to the image type you want (e.g.: png )

! Save the le Step 2: Altering charttype.cxml Now locate the charts directory usually found &.\OracleBI\web\appackslashres\s oracle10\charts

Open the .CXML le for the chart type (e.g.: scatter.cxml )

Alter the {?xml:namespace prex = xi / } {xi:include parse=xml href=fmap://chartSupport/imagetypes.cxml 71

} {/xi:include } {?xml:namespace prex = xi / } {xi:include parse=xml href=fmap://chartSupport/imagetypes.cxml } {/xi:include } (of course use the correct tag sign) Till Next Time

OBIEE Excel Import, prepping the data (2008-06-15 17:04)One of our customers has an application which generates an Excell with combined data.

They wanted this to be imported into OBIEE, but couldn t get OBIEE to see the data. They got the connection oke, but didn t see the tables. This problem was caused by the fact that the generating application didn t prep the data. It didn t set the named ranges for the three tables. Here is how you do it by hand: Select a range:

Enter a range name and press enter!

Do the same for the two other tables:

Here is how you do it by VBA code:

Columns(A:B).Select ActiveWorkbook.Names.Add Name:=MY TABLE RANGE, RefersToR1C1:= =Sheet1!C1:C2 72

When you now try to import the data into OBIEE you will see the three tables:

Till Next Time Note: dont forget to disable the count distinct feature: [1]http://obiee101.blogspot.com/2008/11/obiee-excell-count-disti nct-error.html1. http://obiee101.blogspot.com/2008/11/obiee-excell-count-distinct-error.html

OBIEE Blocking request based on Criteria (2008-06-19 20:49)The basis can be found in Oracle Business Intelligence Presentation Services Administration Guide (B31766.pdf)

When a user attempts to execute a request that your code blocks, you can display an error message, and the request will not be executed. The answerstemplates.xml le includes a message named kuiCriteriaBlockingScript that can be overridden to either dene or include JavaScript that denes a validateAnalysisCriteria function. By default, this message contains a function that always returns True. Answers calls your validateAnalysisCriteria function when the user tries to execute the request. The function can return True if the request is not blocked, or False or a message if the request is blocked. If a message or a value other than False is returned, the message is displayed in a popup window. In either case, the query is blocked.

Since the documentation on this subject is guiding you in the wrong direction, I toke upon myself to make a step by step instruction. Step 1: in .. \OracleBI\web\msgdb create a customMessages folder if it not already there: 73

Step 2: in \OracleBI\web\msgdbackslashcustomMessages create an XML le named : qbCriteria.xml (The name is arbitrary, the content isn t !!!)

Step 3: Enter the following XML into the le { ?xml version=1.0 encoding=utf-8? } { WebMessageTables xmlns:sawm=com.siebel.analytics.web.messageSystem } { WebMessageTable system=QueryBlocking table=Messages } { WebMessage name=kuiCriteriaBlockingScript translate=no } { HTML } { script language=javascript src=fmap:myblocking.js / } { /HTML } { /WebMessage } { /WebMessageTable } { /WebMessageTables } Replace the { and } Save the le! In &OracleBI\web\app\restbackslashb mozilla (this is wrong in the OBIEE documentation) make a new text le called myblocking.js

Enter the following Script: // This is a blocking function. It makes sure users pick what I want them to. function validateAnalysisCriteria(analysisXml) { // Create the helper object var tValidator = new CriteriaValidator(analysisXml); 74

// Validation Logic if (tValidator.getSubjectArea() != Paint) return Why dont you try Paint?; if (!tValidator.dependentColumnExists(Markets,Region,Markets, District)) { // If validation script noties user, then return false alert(Region and District go so well together, dont you think?); return false; } if (!tValidator.dependentColumnExists(Sales Measures,,Periods,Year)) return You picked a measure so pick Year!; if (!tValidator.lterExists(Sales Measures,Dollars)) return Why dont you lter on Dollars?; if (!tValidator.dependentFilterExists(Markets,Market,Markets )) return Since youre showing specic Markets, please lter the markets.; var n = tValidator.lterCount(Markets,Region); if ((n 3)) return Please select 3 or fewer specic Regions; return true; } save the le: the name myblocking.js is seemingly hard coded is OBIEE somewhere, I wasn t able to change it&&.. Restart the whole BI-server and play around in the Paint and Paint Exec subject area. In Paint Exec:

In Paint:

Till Next Time

OBIEE Follow the sun / Time driven connection (2008-06-29 11:18)One of our customers wanted a follow the sun solution to connect to there international databases. Translated to the practice this means that they wanted to set a connectionpool based on the the local time. To achieve this we made a repository initationblock called REP IB TNS and a repository variable called LOCAL TNS TO USE. 75

In the datasource block we made a very simple query which determines which TNS to uses based on the time of the day:

We forced a refresh every 10 minutes by setting the lifespan of the block:

In the connection pool you make a reference by using the VALUEOF method: 76

n theory it takes a maximum of 15 minutes (10 minutes for REP IB TNS, 5 minutes for the connection pool) to refresh all connections Till Next Time

2.7

July

OBIEE naming conventions repository (2008-07-07 19:00)One of those things which can cost you a lot of time: If for some reasons you really need spaces in a repository name, put double quotes around it! paint 1.rpd doesnt work, paint 1.rpd does. If want to use a subdirectory you can use subdir\paint.rpd. Be aware this is relative to you ..OracleBI\server\Repository directory. Till Next Time

OBIEE Public Reports and Dashboards - Bypassing authentication (2008-07-07 19:08)Have look at [1]this entry in Venkatakrishnans blog (a comprehesive blog for every OBIEE specialist!) Till Next Times1. http://oraclebizint.wordpress.com/2008/06/30/ oracle-bi-ee-1013332-public-reports-and-dashboards-bypassing-authentication/

OBIEE Preventing Auto-Previewing of Results in Answers (2008-07-08 19:25)If you are creating a new request it can be a pain in the ... wenn every time you add a column the whole query is exectued. Especially if you are working on a pivot view. This can be switched of by default (except for the tableview) Yes, its in the manual, Yes, there is a typo in the example...... 77

Oracle Business Intelligence displays the results of the request when editing most views within Answers. If you prefer that the user explicitly ask to view the results, you can create an XML message that species that auto-preview should be disabled when new views are created. The user can still click the display results link to view the results when editing a view.

Here is my example. In your customMessage Folder make a new XML entry called PreventAutoPreview.XML (or any other name you fancy). This folder is ussaly found under ..\OracleBI\web\msgdbtbackslashcustomMessages. Add the following XML in the message:

! Save the le and restart the presentation server.

Now all the autopreview is switched o: Till Next Time

OBIEE Changing XLS (Excel) data on the y (2008-07-09 17:08)

One the big strengths of OBIEE is the possibility to easily integrate Excel sheets into the repository. If you leave everything to the default settings you will nd that you can t edit the sheet on the y without having to restart the OBIEE services. Here is a workaround. Step 1: Make the XLS workbook shareable 78

In Excel goto Tools > Share Workbook

In the Editing tab check the Allow changes&&.. box. When prompted save the workbook! Step 2: Set the connection pool settings:

79

Uncheck: Require fully qualied table names Shared logon Enable connection pooling Use multithreaded connections Execute queries asynchronously Check: Parameters supported Set: Parameters supported to Repeatable read Step 3: 80

Deselect the cacheable checkbox Now when you have made a change to your Excel sheet you only have to press the refresh button in your

OBIEE report:

Till Next Time

OBIEE Plus Workshop Munchen Day 1 (2008-07-15 11:09)Just started the OBIEE Plus workshop in Munchen Germany. Altough a lot of 101 and 201 stu the program seems very intressting. They are on Linux so some new challenges for me :-) Update 1: I REALLY NEED TO GET MY LINUX UP TO SPEED!!! Who knows of a great 101 site for linux? Update 2: This afternoon we rushed trough the basics. Good to (re)nd some of the buttons which you dont use every day. Update 3: Had some good tips and tricks from the course leaders from Oracle I will make them in a couple of post next week (or wenn I nd the time......) Till Next Time

OBIEE Plus Workshop Munchen Day 2 (2008-07-16 10:00)All whole day of working on the repository, nnaly gured out how and why to use preferred drill path, will blog it soon... Update 1: Got some really good info on using the webservice in VB and C #. So much to learn, so little time. Till Next Time 81

OBIEE Plus Workshop Munchen Day 3 (2008-07-17 09:07)Had some good discussions on how and when to use the OBIEE cache. Update 1: Had some good info about clustering, global synchronization is still a challenge. Update 2: Some interesting discussions on security and a lab on using the Oce plug-in. Update 3: Very good demo on how to use SOA with OBIEE. Update 4: Nice demo on using Essbase General conclusion: If you a possibility to follow this workshop from Oracle PTS, you really should do it. The course leaders are very knowledgeable and very willing to help you with your private issues. Till Next Time

OBIEE managing the cache: Emptying/Purging the cache Part 2 (2008-07-19 10:42)Besides using batch / shell command to purge the cache (see: [1]http://obiee101.blogspot.com/2008/03/obiee-manage-cache-part1.html), it s also possible to do this automatically based on events in your ETL process. This is done by having the OBIEE cache manager polling one or more a EVENTS table(s). What you do is have a predened reference table in a each database you are using. (If you have 1 complete ETL process you could log all table changes in one table.) The Event table should have the following structure (copied from the OBIEE documentation )

Note 1: You can play around with the column names as long as they imported in this order in the OBIEE repository. Note 2: Although UpdateTime needs to be unique, you can not put a UNIQUE constrain on this column. OBIEE copies the row back into the table during the purging process. A script for an Oracle version would look like this: CREATE TABLE OBIEE UPDATE EVENTS ( UPDATE TYPE INTEGER DEFAULT 1 NOT NULL, UPDATE TIME DATE DEFAULT SYSDATE NOT NULL, DB NAME VARCHAR2(40 BYTE), CATALOG NAME VARCHAR2(40 BYTE), 82

SCHEMA NAME VARCHAR2(40 BYTE), TABLE NAME VARCHAR2(40 BYTE) NOT NULL, OTHER VARCHAR2(80 BYTE) DEFAULT NULL ) / Imported in the OBIEE repository it would look like this:

Now assign this table as an event table: Tools > Utilities > Oracle Event Tables

Drag the event table(s) to the right side

Set the polling frequency, press OK. Let s ll the cache with a simple query: (SH schema)

Check if the cache is actually lled:

Fill the Event table: (Based on the SH schema) INSERT INTO obiee update events 83

(db name, catalog name, schema name, table name ) VALUES ( orcl SH , NULL, SH , Sales ) / COMMIT / Look in the cache directory after the polling time:

Note 3: OBIEE removes each entry from the EVENT table independent if it was a success or not. Note 4: OBIEE only logs failures in the NQServer.log. Usually found in ..OracleBI\server\Log Till Next Time1. http://obiee101.blogspot.com/2008/03/obiee-manage-cache-part-1.html

OBIEE number of gauges on canvas (2008-07-21 18:04)Some time ago a colleague of mine encountered the following error screen when developing a dashboard with gauges.

After a small discussion: why the hell he needed more then the OBIEE default of 100 gauges on a single screen? , he convinced me that it was for development purposes only. The properties which inuence the gauge behavior can be found in the instancecong.xml. If they are not yet present in the

le OBIEE uses the default settings. Till Next Time

OBIEE running it on an other web port (2008-07-23 11:28)On a default installation OBIEE runs on web port 9704. This means that the user will have the put the portnumber in the webadress. (http://myhostname:9704/analytics/saw.dll?Dashboard).

If you want to run the websdervice on dierent portnumber or even better from the default port 80, this is what you have to do. Step 1: Navigate to your OC4J cong directory, ussally found in ..:\OracleBI\oc4j bi\j2ee\home\cong Step 2: Add a new directory called: backup orignal. Copy the whole content of the cong directory to the new directory. (better save then sorry......) Step 3: Open the le named default-web-site.xml in 84

a (XML) editor. Step 4: between the {web-site } nd the port= tag, change it to port = 80. Save

the le. Step 5: Add a new directory called: backup change YYYYMMDDNNN (:backup change 20080723001. Copy the whole content of the cong directory to the new directory. (Why?, if you not carefull during an upgrade you loose all your OC4J settings......) Step 6: Stop and start your OC4J. You can now run your OBIEE website from

the new portnumber. Of course you also have to alter the port number in the OBIEE cong les: ...\OracleBI\oc4j bi\j2ee\home\applicatio ns\bioce\bioice\WE BINF\bioce.xml ...\OracleBI\xmlp\XMLP textbackslashAdmin\Conguration\xmlp- server-cong.xml ...\OracleBIData\web\conf ig\instancecong.xml Till Next Time This article is also published on: [1]http://knowledge.ciber.nl/weblog/1. http://knowledge.ciber.nl/weblog/

OBIEE running it as a HTTPS / SSL service (2008-07-23 16:26)We where recently asked how to run OBIEE as a HTTPS / SSL service. The customer wanted this because of in house security policy. Here is how we did it: Step 1: Navigate to your OC4J cong directory, ussally found in ..:\OracleBI\oc4j bi\j2ee\home\cong. Add a new directory called: backup orignal. Copy the whole content of the cong directory to the new directory. (better save then sorry......) Step 2: Creating the SSLFILE (site certicate). Open a command box and navigate to your OC4J cong directory, ussally found at: ..:\OracleBI\oc4j bi\j2ee\home\cong. Enter keytool -genkey -keyalg RSA -keystore sslle -storepass MySecretPassword -validity 365 Next you will get a couple of questions on your name and organisation, the values entered here are used for encrypting the key.

[1] On