Dear data analysts,
The Association for the German Phonographic Industry laments that its members have been suffering from reduced levels of turnover now for some years. In 2005 their turnover “only” reached 1.5 billion euros. Among the causes are the availability and unchecked use of technologies to copy and reproduce recordings. Copying in this instance is the simple reproduction of something that already exists, meaning that the idea of multiplicity is almost turned on its head: after all, you’re not getting multiple variants, but countless copies of one and the same thing.
If you want an example of how things can work differently, of how copying can be a creative and constructive process with new and interesting consequences, take a look at the Folder Generator in DeltaMaster. You only need a few reports as your starting point – and you will find you can look at your company from a wide range of angles: intelligent copying technologies that benefit you and can be used so quickly and easily that you’ll hopefully find you have time on your hands to enjoy a good CD.
Your team from Bissantz & Company
In the August 2005 issue of DeltaMaster clicks!, we introduced you to Report Server, which takes tiresome tasks off your hands such as the updating, alteration and distribution of reports. The Report Server enables the automatic creation of report files, either at the request of the user or at set time intervals, as a DeltaMaster Analysis Session, as a Word or Excel document or in PDF format, and their delivery to the correct recipients either by email or via the file system to the relevant folders on a file server.
The Folder Generator, an individual module within Report Server, also automates process steps that have to be repeated, but in a different respect: it does not create additional files, but additional reports and/or additional folders in the Briefing Book of a specific analysis session. New reports with specific views arise very simply from just a few basic reports, which serve as a “template” for the generator.
As an example, let’s look at the Briefing Book shown on the right from our demonstration application Chair. It includes the folder “Standard Reports”, whose reports promise insights from various different angles:
- For example, you might like events in the sales regions to be presented as overall data, in our example this means aggregated for the whole country; on the other hand, you would also like to perform the same analyses for each individual time zone (Eastern, Central, Mountain, and Pacific) and display the results of these.
- Furthermore, you would find it interesting not only to cast light on the regional structures, but also to investigate the product dimension and execute standard reports for each of the product groups or main groups (in our example, standard, luxury and custom made models).
- The trick then consists of combining the two reports to be produced and delivering figures for each individual product group in each individual region (regional product management).
This all sounds like a load of work – but the Folder Generator takes care of it for you. The central concept behind the Folder Generator is something known as iterators. In general terms, an iterator is a variable by means of which all elements of a set can be itemized and processed individually. In our specific context, iterators serve to define a single, specific view for every report that is to be generated. Each iterator is assigned a dimension whose members it itemizes and processes.
The Folder Generator is configured individually for each Report Server job. Select a job in Report Server and call up its Settings.
The Folder Generator‘s dialog box is divided into three parts. In the section at the top, you manage the iterators. In the bottom left, the Briefing Book of the selected analysis session is displayed, just as you are accustomed to from “normal” DeltaMaster sessions. In the bottom right, you receive a Preview of how the Briefing Book will look after all the iterations on request. This function is particularly useful for testing what effect the iterators will have, before DeltaMaster creates the actual reports and calculates the figures.
Defining folder iterators
Let’s start with a simple iteration: say you want to calculate the basic analyses for the sales regions North, South, East and West, and store each of them in its own folder.
- Create a New Entry. The IteratorID identifies the iterator uniquely; it is assigned automatically by the system.
- Select the “Folder” Type. This determines that the repeat operations apply to an existing report folder – specifically the report folder named in the field Folder/Report ID. The ID expected here is the same as those displayed in the window Briefing Book (Original). Therefore, if we want to copy the basic analyses, the ID is 1, for the special analyses it would be 3.
- In the next step, you specify the dimension members through which DeltaMaster is to iterate by selecting the Dimension, the Hierarchy and finally the Members desired. The Dimension Browser assists you in the usual ways, so you can for example select several members by holding down the Ctrl key, even over different levels, and consecutive areas of members can be selected by holding down the Shift key. Alternatively, you can also enter an MDX expression.
- By making a selection under Target Book you control where the new report folders are to be stored: on the highest level of the book (“Root”), on the same level as the original folder (“Sibling”) or as a sub-folder of the original folder (“Child”). We’ll decide to use “Child” in this instance, so that the aggregated analyses form the frame and more specialized views are subordinate to them.
Before going into more detail about the further parameters, let’s take a look at the outcome of the configuration. When you click on Update, DeltaMaster displays a preview of the new briefing book.
Underneath the original folder “Basic Analyses,” there are now four new folders with specific views and names to go with them. As you can see from the “open” folder for the West region, all the reports contained in the original folder have been copied and adjusted to the view.
Combining folder iterators
Analog to the above, you can now define further iterators that run through any other elements of your choice. If, as mentioned in the example at the beginning, we also want to provide the product perspective in the briefing book and therefore define a second iterator for this dimension, we get a picture as the one shown on the right. DeltaMaster first iterates through all the members selected in the customer dimension, and then through all the members we marked in the product dimension. Once again, the folder with ID 1, the basic analyses, was selected as the “original” and once again, the Target Book was specified as a “Child”.
The Folder Generator‘s particular charm lies in its ability to also perform iterators nested within one another. The key to this is the ParentID field, which expresses whether the iteration is dependent on others (in this case the field is empty) or whether the cycle is to be performed for each member of a superordinate list; in the latter case, the ID of the superordinate list is to be given as the ParentID.
An example clearly demonstrates the principle: The Products dimension has the iterator no. 2 – i.e. Customers – as its “parent”. Therefore, processing of the Product members for each individual member of the “external” cycle will be triggered via the Customer members. Or, to put it the other way round: for each member that we have selected in the Customer dimension, DeltaMaster will start a new cycle for the Products. This creates the desired “nesting” effect and we get the following briefing book.
We have left the reports contained in the folders out of the picture, so that the nesting becomes more apparent. Further options are described below.
Since the iterators with ParentIDs are able to refer to their direct predecessors, you can take nesting to any depth you desire. Bear in mind the combinatorics: if you carry out nested iteration of three dimensions with five members each, your briefing book will reach 125 folders.
In this briefing book, three dimensions are nested in one another: customers, products and groups of materials. The iterators were configured with differing briefing books: standard reports for customers and products, special analyses for the groups of materials.
Once you have defined the iterators as desired, leave the Settings dialog by clicking on OK and carry out the job in Report Server.
There are a few parameters we haven’t mentioned yet: checking the Delete Original option results in the folder that is serving as the “copy template” being deleted after reproduction along with all its sub-folders and reports. Target ID and Target Index only apply to iterators of the “Report” Type and determine for these iterators in which folders and precisely where the generated reports are to be inserted.
If you choose the option IncludeSubFolders, DeltaMaster also reproduces all sub-folders in the selected folder and all the reports that they hold; otherwise, just the folder itself, and the reports contained in it, will be reproduced. The IncludeSubReports option causes folders and the reports they contain to be processed; if the option is not active, DeltaMaster only replicates the organizational structure, but does not create any reports.
The Folder Generator is a most flexible tool that can save you a lot of time and work. If you haven’t worked with it so far, we’ll be happy to help you take your “first steps” and set up the Generator with you.