Sunday, May 25, 2014

How to speed up active report development

Active report normally contains many different pages together. There is no way to develop the whole report together, as it takes very long time to generate active report. This document will share a simple solution to speed up the development. The idea is to leverage rendering variable.

Define vDoNotRender
Define a Boolean variable vDoNotRender as 1=2
We can assign this variable to any data container, any pages that you don’t want to render
This way gives us a flexible to control report rending without destroy report itself. A few cases are listed below

Develop individual page or data container
This is the most used case.  As report developer, we need to add data container one by one, the solution is to disable all other pages or containers, and level the only one we want to focus. In this case page structure view can help to identify block quickly. Sample below show four major pages, we can disable three pages, and level one block open for development.
Test data with separated page
Sometimes, we want to test some data with different data containers in active report. However, we don’t want to mess up the active report page itself. The simple solution is to add a new test page by default you don’t render it. This page is only used to try different cases.

To use this page, only remove render variable, and we don’t need to add render variable to the main page 1 (active report). We can simple just run report; the page 1 will show us the test result. This page becomes very useful if the data is based on cube. As some cases the test data doesn’t help in report studio.

Multiple developers work together

As active report could be very complicated, it requires multiple developers work together to speed up development cycle. The normal situation is to create a framework, which separated report  in different deck. Each developer is responsible for one deck only. In this case, render variable can help very much. The initial design should have main queries and top level layout. Once done, we can compose all deck together by simply dragging all queries, and active report variable and the whole deck.

1 comment: