In the first post in this series I defined what time-sliced measures are and why they can be useful in a universe. In the second post I described a special calendar table that was designed and built to support the requirements for this solution. I also showed how the join logic worked in conjunction with the table design. This post completes the implementation. I am finally going to work on the measure objects that a user will see.
In any universe design project I strive for the following goals:
- Deliver the correct result
In my opinion, this is always the number one goal in any universe design.
- User friendly
This is quite important but secondary to correctness
- Easy to maintain
Universe maintenance is always allowed to suffer in order to provide the first two attributes on this list, but it is a worthwhile goal to strive for nonetheless
In this post I will show how all three of these goals are ultimately met by this implementation. When I am done I will have a completed universe. This post will cover slides 26 through 30 from my 2008 GBN Conference presentation. There is a link to download the file at the end of this post. Continue reading “Time Sliced Measures Part III: Making Measures”
In the first post in this series I defined what time-sliced measures are and why they can be useful in a universe. I also shared the design requirements for a particular project I was on. The requirements included:
- Each report is expected to have multiple time-sliced measures
- Users must be able to select the type of calendar during the refresh process; calendar types include Monthly and Fiscal
- Users can provide any possible date as the “to date” for the time slices
- The process of splitting each time-slice time period into its own SQL statement should be completely transparent
- The resulting SQL should be as efficient as possible
In this post I am going to cover the design of a special table that we built in order to support our solution for these requirements. After I talk about the table design I will cover how I use it in the universe, as well as provide a few pros and cons about this solution as I have outlined it so far. Just to prepare you, this post is a bit longer than most that I write, and gets fairly detailed. This post will cover slides 23 through 25 from my 2008 GBN Conference presentation. There is a link to download the file at the end of this post. Continue reading “Time-Sliced Measures Part II: Time Slice Calendar Table”
During the 2008 GBN Conference in Dallas I delivered a presentation related to universe design. The last third of the presentation demonstrated a solution for time-sliced measures that I have used on a couple of different projects now. After the presentation I had two different people make suggestions that were proposed as being easier to implement than what I showed.
In each case I was able to tell the person that we had considered and perhaps even tested their suggestion and found it lacking in some way. I didn’t have time to present all of the different options during the one hour slot that I had at the conference, but I have unlimited time to explain options here on my blog. 🙂 But before I go back and detail things that we tried that did not work out so well, I am going to have a few posts (it’s too long for just one) about the solution we did implement.
This blog post will cover slides 19 through 22 from the 2008 GBN Conference presentation. Continue reading “Time-Sliced Measures Part I: Defining the Problem”
In an attempt to complete the blog posts related to my GBN Conference presentation from 2008 before the upcoming conference in 2009 kicks off I bring you Context Versus Alias: The Smackdown Cage Match. 😆 People often post on BOB as if contexts and aliases are competing for the same job, and that is certainly not true. Each technique has an appropriate use, and I will cover them (although not in much depth) in this post. I won’t be showing the process for creating contexts or aliases in this post as it would end up being too long.
This post is related to slides 13 through 17 from my 2008 conference presentation. Continue reading “Context Versus Alias Overview”
Earlier today I delivered my GBN Conference presentation to an audience over the web. It was… interesting. 🙂 I have done web presentations before but never to an audience of this size. I didn’t have time to count, but it seemed like there were well over 100 attendees that stayed through to the very end. I hope they (or you, if you were online) found the time to be worthwhile.
It was certainly different for me. Presenting to a live audience is not stressful to me at all anymore. I have enough experience that it just doesn’t bother me. Whether I am delivering a training class to an audience of ten, or a conference presentation to an audience of hundreds, it doesn’t make me nervous at all. But today on the call was a different story. Continue reading “Webinar is Done, Whew!”
The presentation that I did for the 2008 GBN conference earlier this year has been scheduled for a webcast that will be hosted on the GBN web site. Registration is required, but it’s fairly simple. If you go to the GBN Home Page there is a link for Webcast Series on the right side of the screen. Clicking that link will take you to the schedule, and a link to sign up for the various presentations, including this one.
There are other speakers from the GBN conference that will be delivering their presentations in this format as well. I just get to go first and iron out all of the bugs in the process. 🙂
A Brief Overview of Measure Objects
A universe has three basic types of result objects: dimensions, details, and measures. Measure objects are analytical values like dollars or quantities. Measure objects have two extra settings that dimensions and details do not have: a SQL aggregate function and a report Projection function. The SQL aggregate function is not enforced by the application, but it should always be present. (That’s a subject for another blog post. Or two.)
The SQL aggregate function is performed by the database server, and the projection function is used by the report engine. This is what makes measures “roll up” when you slice and dice or drill on a report. The problem is, certain calculations cannot be done by the database because there is no valid projection function. Designer 3.x gives me a way to address that by introducing a new projection function setting of Database delegated. This post will explain why that’s important and how it works.
Continue reading “Designer XI 3 New Feature: Database Delegated Measures”
Designer has provided the option to create “stub joins” in a universe for quite a few years. A stub join is a permanent where clause on a table that appears as a small stub rather than a full join connecting two tables. This feature has often been used to apply security to a table via a reference to the @Variable(‘BOUSER’) value.
However this strategy had one major flaw in that if the table was not referenced in the query then the security would not be applied. I now have a much more flexible (and powerful) option in Designer 3: Class Restrictions.
Continue reading “Designer XI 3 New Feature: Class Restrictions”
The @Prompt() function has been around for a very long time. There have been subtle changes made to it over the years to support some of the new Web Intelligence extended options but they were not always documented. I don’t know about you, but I find using undocumented features a bit daunting. 🙂
Continue reading “Designer XI 3 New Feature: Extended Prompt Syntax”
I have been asked by a few different folks about evaluations for the conference, both from an attendee perspective and for speakers as well. For previous conferences conference attendees filled out evaluation forms before leaving the site (that’s how you got your conference t-shirt). For the GBN conference we didn’t do that. From what I hear, conference attendees will be soon receiving an email with a link to an online survey, at which point you will be able to provide any feedback about the overall conference.
I don’t know how much of the details for the conference feedback will be made public. Business Objects did not release the overall conference evaluation numbers to the public. I do know that every single comment will be read, categorized, and evaluated. This was the first year for a GBN-run conference and I think everyone recognized that there were some differences. The opportunity before us will be to sort out which differences were important, which should be repeated, and which should be fixed.
For example, one bit of feedback that I intend to provide is related to the room configuration. The room I was scheduled to speak in was quite large, and fairly deep. I don’t know how many rows of chairs there were, but it was more than a few. Yet there was no raised platform for the speaker in the front of the room. I am sure that impacted how visible I was in the back of the room. I imagine everyone could hear me, but hearing is not the same as hearing + seeing at the same time. I think for larger rooms we want to make sure we have elevated platforms next year.
Speakers, on the other hand, will be waiting a bit longer to get our feedback. I don’t have exact dates, but I am told that each speaker should be getting an email soon with more details on when we can expect to see our results. I know I look forward to seeing the numbers. I have had some great comments over the years, and I do strive for the best overall ratings that I can get.
Survey response percentages are typically very low. If you attended the conference and you’re reading this, I would encourage you to fill out the survey once you get the link. The function of the steering committee is to “steer” or guide in the desired direction. It is your voice that should determine that direction. Let’s hear it. 🙂