One of the hardest concepts to explain when introducing new folks to Business Objects is context.
I now imagine blog readers who have been working with the tools for a while have started nodding their heads in agreement, only to stop and say, “Hey, wait a second, is Dave talking about universe contexts or report calculation contexts?”
And the answer is, of course, yes. π
Both concepts can be quite complicated and take a while to fully understand. Since I have already written a number of blog posts about universe contexts I thought it was time to turn my attention to the report technique of calculation contexts. Note that this concept is used in Desktop Intelligence and Web Intelligence but not in Crystal. This post is intended to be an overview only. I have plans for a detailed post on each of the various context operators where I will go into much more depth. For this post my goal is to introduce the concept and provide some basic definitions. Continue reading “Calculation Context Part I: Overview”
This tip comes courtesy of Joe Szabo. I met Joe many years ago at a common client. A few weeks ago we had a casual conversation in the hallway at the 2009 GBN conference. I don’t remember how we got started but the subject of documenting complex Web Intelligence reports came up somehow. I was probably complaining and Joe said something like, “… but don’t you just do blah blah blah? That’s what I do, and it works great.” This post is going to be all about the “blah blah blah” that Joe shared with me. It will help you provide documentation for complex Web Intelligence reports. It will even help debug reports. And best of all, it will help determine exactly what is different between those two different versions of the same report so you can make sure the right version gets migrated into production.
I am going to show screenshots from Web Intelligence 3.0 for this blog post but the same process works in XI R2 as well. Continue reading “Quick Tip: Detailing Web Intelligence Document Contents”
In Part I of this series I talked briefly about the need for report writers to sometimes “make up” data. In that post I showed how I could use the Web Intelligence Rich Client (or alternatively Desktop Intelligence) to import data from a spreadsheet in order to fill out holes in data. In this post I am going to show an equivalent solution using multiple data providers from a universe instead. I will redo the same example shown before (with a lot fewer screenshots since quite a bit of the process is the same). Because I am using a universe I can show two different possible solutions. Continue reading “Making Up Data Part II: Using Universe Data”
I am often asked why I still participate so much on BOB after all of these years. The main reason is I still get inspired by questions that make me think a little bit. The puzzle for today’s post was presented as a question something like this:
How can I display each individual value selected in the UserResponse() function on its own row in a table?
I believe the reason for wanting this behavior is fairly clear. If you have a bunch of complex data it would be much easier for the report consumer to read this:
XYZ123ABC
DEF456HIJ
BOB111BOB
Instead of this:
XYZ123ABC;DEF456HIJ;BOB111BOB
As is often the case, the strict answer to the question is “you can’t do it that way” with Web Intelligence. Despite the “you can’t…” answer I am going to show how it can be done.
Continue reading “Displaying UserResponse() Values On Separate Rows”
Reporting tools are designed to report. Seems simple, doesn’t it? But sometimes they need to do more in order to meet the requirements. For example, a frequent question on BOB (in fact it’s in the Reporter FAQ) goes like this:
I have only six months of data, but I have to show all twelve months in my report. How can I show the missing data?
The trick is to understand that Business Objects does not make up data. It just doesn’t have that capability. And you can’t edit the report directly in order to add those extra values to the result set. However, there are a couple of tricks that I can share that will help solve this issue. Continue reading “Making Up Data Part I: Personal Data Providers”
In the first post in this series I talked about different places I could place complex calculations. I reviewed some pros and cons of doing calculations during ETL, in the universe, or on a report. In this post I am going to focus only on report calculations. I will cover the formulas versus variables debate and show a couple of tricks to make working with variables a little bit easier along the way.
This presentation covers slides 10 through 12 from my 2009 GBN presentation titled “Return of the Variables” which can be downloaded from my conference page. Continue reading “Constants, Formulas, and Variables, Oh My!”
When working with the reporting suite from Business Objects there are many different calculation engines. A report developer can create custom formulas or variables in Desktop Intelligence, Web Intelligence, and of course Crystal. A universe designer can build custom objects using database functions in the universe. An ETL architect can design special query transformations. So where do you do the work?
This post covers slides 6 through 9 from my 2009 GBN presentation titled “Return of the Variables” which can be downloaded from my conference page. Continue reading “Calculation Options”
A frequently asked question on BOB is:
How can I calculate the number of business days between two dates?
The easiest answer is to use a calendar table with a flag for business days because that takes care of everything quite easily. You can even mark holidays along with weekend days and make the results more useful.
But suppose you don’t have a calendar table. Suppose you don’t care about holidays, you simply want to count the number of Monday – Friday days between a range of dates. Can you do that?
The answer is coming if you read the rest of the post. π
Note: This technique was shown in public on Monday at the GBN conference. I had written this blog post some time ago but waited to release it until after the presentation had been delivered. The presentation has been uploaded to my blog and is available for download from the conference page.
Continue reading “Calculating Business Days Between Two Days Via Report Functions”
I have uploaded the latest pdf files for my presentations from the 2009 GBN conference. You can download them from my conference presentations page. I did two presentations this year.
Return of the Variables
Presentation Abstract
Itβs time to pull out some variables again as we revisit a popular topic from past conferences. Report variables can provide a more creative, efficient, and effective means of completing the detailed analysis required for your reports. The focus of this presentation is building documents, using report functions, and reviewing variable tricks that can be used to solve reporting challenges. The presentation this year will focus primarily on the SAP BusinessObjects Web Intelligence product and include some of the newest features that have recently become available, but there will be some goodies for users of prior versions as well.
Universe Models for Recursive Data
Presentation Abstract
Recursive data can present a special challenge to SAP BusinessObjects developers because SQL is not natively able to process the relationships. This presentation will show several different methods for modeling recursive data along with the pros and cons of each. All of the methods shown have been used on real-world projects. Attendees will gain a better understanding of the complexities of dealing with inventory models, organizational hierarchies, and other types of recursive data.
As time allows I will be adding detailed blog posts for each of these presentations. I am cheating a bit this year. π I have already written two blog posts that detail most of the “Variables” presentation:
That leaves only the initial portion of the presentation to write up, and I hope to have it done fairly soon. The detailed posts for the Designer presentation will take a bit longer.
I have discussed the MultiCube()
function a number of times in my series of Variables presentations. In certain situations it allows you to fix measure objects when you have two (or more) unbalanced data providers in a full-client document. ForceMerge()
is the equivalent for Web Intelligence.
So how do they work, exactly? What do I mean by unbalanced data providers? How is it fixed with these functions? Are there any special conditions to be aware of? Continue reading “Using ForceMerge() To Fix Unbalanced Data Providers”