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”
I haven’t had a good rant in a while. I’m overdue.
Here are some real comments that were posted on BOB.
I already have around 18 contexts in Universe and hence I dont want to add any extra
The last two companies I have worked at, forbade the use of contexts
I only create contexts when I’ve got no other choice.
And this one wins the prize:
Here’s a list of what I cannot do (client requirements)
1. Cannot use contexts in the universe.
If you recognize one of your comments, please understand I am not ranting about you as a person, but about the sentiment or opinions expressed in the comment itself.
As a consultant, my job was sometimes to deliver a solution. At other times my job was to provide advice. My advice was based on my assessment of two things: what the client told me they wanted, and what I felt like they really needed. Continue reading “Use Contexts, Dammit”
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”
I did a fun presentation (at least I had fun) at the New York user group a few years back. I found the original download package and have posted it on the presentations page on this site. The download package includes the presentation in Adobe PDF format, several universes, some Microsoft Access database files, some sample reports… basically everything you need to go through the slides and review the examples.
There is a “readme” file that contains notes on how to get everything working. The reports and universes were originally built in version 5, but should be usable in any current version (up through XI 3.1 as I type this). The demonstration reports were all built in Desktop Intelligence.
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”
It might not be obvious, but when you are looking at the “list mode” screen in the Universe Designer product there is a method to the madness that is the order of the joins displayed. The joins are – believe it or not – displayed in chronological order based on when they were created. This can help when you have to include a new join in a context as it will always be at the end of the list. I have become used to that feature.
But I have yet to figure out how the contexts are ordered on the same screen. Has anyone ever noticed a pattern as to how the order of contexts is determined? If so, I would love to hear it.
Some time back I answered a question on BOB that asked:
How can I copy a context?
There are a number of reasons why you might want to do this. In a semi-complex universe you might have a bunch of snowflake tables and a series of fact tables. After building the first context, the second (third, fourth…) are essentially the same but with a different fact table. As far as I know there is no way to copy / paste a context, but there is a fairly simple way to source a new context from an existing one. Here’s what I do: Continue reading “How To Copy a Context”
The other day I was talking to someone about contexts in a universe and they offered the typical response. You probably know the one… it says that you should set up one context per fact table. If you read many posts on BOB then you’ll see that phrase quoted quite a bit. The question is: Is this the truth, the whole truth, and nothing but the truth?
No, it is not.
Continue reading “Is “One Context Per Fact Table” a True Statement?”
A few days ago I finally got started on what will become a series of posts about fan and chasm traps. The post was “Do I Have a Fan Trap?” and it included a definition of a fan trap in a universe and showed a basic solution. However, it also mentioned that the basic solution would not work in most cases, and that contexts would be required for a more complete solution. If you are new to the Universe Designer, or even if you just have not worked with contexts that much, the first step is understanding exactly what a context does for you. That is what I hope to do with this post.
Continue reading “What Is a Context Anyway?”