In this chapter, we will cover some fundamental techniques that will be used in your day-to-day life as a Report Studio author. In each recipe, we will take a real-life example and see how it can be accomplished. At the end of the chapter, you will learn several concepts and ideas which you can mix-and-match to build complex reports. Though this chapter is called Report Authoring Basic Concepts, it is not a beginner's guide or a manual. It expects the following:
You are familiar with the Report Studio environment, components, and terminologies
You know how to add items on the report page and open various explorers and panes
You can locate the properties window and know how to test run the report
Based on my personal experience, I will recommend this chapter to new developers with two days to two months of experience. If you have more experience with Report Studio, you might want to jump to the next chapter.
In the most raw terminology, a report is a bunch of rows and columns. The aim is to extract the right rows and columns from the database and present them to the users. The selection of columns drive what information is shown in the report, and the selection of rows narrow the report to a specific purpose and makes it meaningful. The selection of rows is controlled by
filters. Report Studio provides three types of filtering:
detail,
summary, and
slicer.
Slicers are used with dimensional models and will be covered in a later chapter (Chapter 7, Working with Dimensional Models). In the first recipe of this chapter, we will cover when and why to use the detail and summary filters.
Once we get the correct set of rows by applying the filters, the next step is to present the rows in the most business-friendly manner. Grouping and ordering plays an important role in this. The second recipe will introduce you to the sorting technique for grouped reports.
With grouped reports, we often need to produce subtotals and totals. There are various types of aggregation possible. For example, average, total, count, and so on. Sometimes, the nature of business demands complex aggregation as well. In the third recipe, you will learn how to introduce aggregation without increasing the length of the query. You will also learn how to achieve different aggregation for subtotals and totals.
The fourth recipe will build upon the filtering concept you have learnt earlier. It will talk about implementing the if-then-else
logic in filters. Then we will see some techniques on data formatting, creating sections in a report, and hiding a column in a crosstab.
Finally, the eighth and last recipe of this chapter will show you how to use prompt's
Use Value and Display Value properties to achieve better performing queries.
The examples used in all the recipes are based on the
GO Data Warehouse (query) package that is supplied with IBM Cognos 10.1.1 installation. These recipe samples can be downloaded from the Packt Publishing website. They use the relational schema from the Sales and Marketing (query) / Sales (query) namespace.
The screenshots used throughout this book are taken from Cognos Version 10.1.1 and 10.2.