Book Image

IBM Cognos 10 Report Studio Cookbook, Second Edition - Second Edition

Book Image

IBM Cognos 10 Report Studio Cookbook, Second Edition - Second Edition

Overview of this book

IBM Cognos Report Studio is widely used for creating and managing business reports in medium to large companies. It is simple enough for any business analyst, power user, or developer to pick up and start developing basic reports. However, this book is designed to take the reader beyond the basics and into the world of creating more sophisticated, functional business reports.IBM Cognos 10 Report Studio Cookbook, Second Edition helps you understand and use all the features provided by Report Studio to generate impressive deliverables. It will take you from being a beginner to a professional report author. It bridges the gap between basic training provided by manuals or trainers and the practical techniques learned over years of practice.Written in a recipe style, this book offers step-by-step instructions for IBM Cognos Report Studio users to author reports effectively, allowing a reader to dip in and out of the chapters as they desire. You will see a new fictional business case in each recipe that will relate to a real-life problem and then you will learn how to crack it in Report Studio. This book covers all the basic and advanced features of Report Authoring. It introduces the fundamental features useful across any level of reporting. Then it ascends to advanced techniques and tricks to overcome Studio limitations. Develop excellent reports using dimensional data sources by following best practices that development work requires in Report Studio. You will also learn about editing the report outside the Studio by directly editing the XML specifications. You will discover how to build and use Cognos Active Reports, a new addition in IBM Cognos 10. Provide richness to the user interface by adding JavaScript and HTML tags and using the different chart types introduced in IBM Cognos 10. The main focus is on the practical use of various powerful features that Report Studio has to offer to suit your business requirements. Learn numerous techniques and hacks that will allow you to make the best out of your IBM Cognos 10 Report Studio.
Table of Contents (21 chapters)
IBM Cognos 10 Report Studio Cookbook Second Edition
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Implementing if-then-else in filters


Business owners want to see the sales quantity by order methods. However, for the Sales Visit type of order method, they want a facility to select the retailer.

Therefore, the report should show quantity by order methods. For the order methods other than Sales Visit, the report should consider all the retailers. For Sales Visit orders, it should filter on the selected retailer.

Getting ready

Create a simple list report with Order method / Order method type and Sales fact / Quantity as columns. Group by Order method to get one row per method and set the Aggregation for quantity to Total.

How to do it...

In this recipe, we need to create a filter that will be used to select the retailer if the Order method is Sales Visit. We will check what will happen if we use the if then else construction inside the filter and how to overcome any problems with the following steps:

  1. Here we need to apply the retailer filter only if Order method is Sales Visit. So, we start by adding a new detail filter.

  2. Define the filter as follows:

    if ([Order method type]='Sales visit') then ([Sales (query)].[Retailers].[Retailer name] = ?SalesVisitRetailer?).
  3. Validate the report. You will find multiple error messages.

  4. Now change the filter definition to:

    (([Order method type]='Sales visit') and ([Sales (query)].[Retailers].[Retailer name] = ?SalesVisitRetailer?)) or ([Order method type]<>'Sales visit').
  5. Validate the report and it should be successful.

  6. Run the report and test the data.

How it works...

The if else construct works fine when it is used in data expression. However, when we use it in a filter, Cognos often doesn't like it. It is strange because the filter is parsed and validated fine in the expression window and if else is a valid construct.

The workaround for this problem is to use and...or clauses as shown in this recipe. The if condition and corresponding action item are joined with the and clause. The else part is taken care of by the or operations with the reverse condition (in our example, Order Method <> 'Sales Visit').

There's more...

You need not use both and and or clauses all the time. The filtering in this example can also be achieved by this expression:

-([Sales (query)].[Retailers].[Retailer name] = ?SalesVisitRetailer?)

or

([Order method]<>'Sales visit')

Depending on the requirement, you need to use only or, only and, or the combination of and...or.

Make sure that you cover all the possibilities.