Show This Dimension, Well Sometimes

Object Level Security Based on User Recently I had an interesting request come up and I thought I would share the solution with my fellow universe development nerds. Hope you enjoy and questions\comments are always welcome! Just like in the Universe Designer, Information Design Tool (IDT) in BI4 gives you options to create security profiles […]

Troubleshooting Long Running Reports

I caught a tweetstream the other day that Diversified Semantic Layer’s friend and past guest, Michael Welter, had a question on diagnosing and solving for long running queries in Web Intelligence (Webi)…at least I think it was Webi. I saw it fly by and really wanted to weigh in, but it got away from me. I did not necessarily see answers to Michael’s question in that time frame, so I wanted to take some things that occurred to me and that I use in my debugging process.

I may be overly sensitive to this topic, now that I think of it. My first employer had a very very large data warehouse (at the time, largest in the world every other month). While full of rich data, it was painfully slow and as a result BusinessObjects was the perceived as slow by the business. Let’s work on that. I’m going to keep this post within the confines of Webi. There may be similar settings and techniques that can apply to Crystal Reports, Xcelsius, Explorer, etc. (even Deski…sorry Jamie).

Use Multiple Connections in a Single Universe

I’m not sure why, but this is an old trick that I’ve used that has come up twice in recent weeks for different deployments I work on. Everybody should know by now that a universe can only point to a single connection for any single query without federation in place. However, a fairly simple override can allow differing users to utilize a different connection each when they run a query.

Let’s take a scenario where you are using one SAP BusinessObjects instance. Within that reporting architecture, you have a base of users that have data on regional databases dbnorth, dbsouth, dbeast, and dbwest. When a user logs in and runs a report against the universe, they have to run against their assign database connection. You wouldn’t clone the universe four times….would you? (The answer is no)

Universe Designer = Design Tool

I hate that title…but it is the best I could come up with…

At the risk of sounding a little bit redundant, my experience has taken me from the small enterprise with under 250 users to the giga-enterprise with upwards of 30k users. Regardless of size, each strives to implement processes to improve the development lifecycle within all of IT. Inevitably, these processes get trickled down to the business intelligence teams as well with the edict to implement them on both universe and report design. I’d like to challenge that this may not be the best approach for the enterprise.

Optional Prompts with Default Values in Designer

Updated 4/12/2010 – I feel like a blockhead. I went to reference my own blog and found a copy and paste issue in my formula below. It’s fixed (I hope). Sorry!

Truth be told, today I felt like a total rookie. I got a requirement that screamed “don’t dare duplicate that report just so you can have a version to schedule and version to run on demand”. The requirement was to run a Web Intelligence report monthly through the job server (always running for the prior month when executed) but to also allow the user to open, refresh, and be prompted for a list of values. I spent a few minutes tinkering with some SQL that ultimately lead me to a simple pre-defined condition for my reports. I’m certain this has been blogged and forum posted to death by now, but I’m going to throw it out there for fun.

Prompted Table Names in Designer

I was faced with a problem where normalization of a table was somewhat impractical due to the sheer size of the data. It was perceived that any indexing strategy, coupled with the size of the data and physical infrastructure, would hurt query performance. The decision was made by the modelers to leave a dimension off of the table and create a table for each unique value for the dimension. This created a challenge in that satisfying the requirements would require potentially hundreds of tables to be added to the universe. The solution: use the @prompt syntax to enable the user to choose the appropriate table to segment report data with. This will ensure that before the query is run, the table needed is selected.