Pivot Tables 
The Report Studio is still under development and has not officially been released. Be warned that code may change such that reports you create with this pre-release trial version might need to be updated in order to continue working after your next VTScada update.
Until the official release, documentation for the Report Studio will open in response to the F1 key but will not be shown in the menu system. To view a table of contents for the complete chapter, navigate to The Report Studio
Create a report table that displays parent names as row labels and child tag names as column labels. This comes in handy when displaying information for a large number of tags that have a common taxonomy and common names such as multiple pump device tags nested under a number of station tags.
Notice that Station 3 only has two pumps and Station 4 only has three. Therefore some cells are left blank on the table.
Creating a Pivot Table
Create a new report with a table. Table Properties should open in the component properties pane on the right. If you have navigated away, you can always find your way back by clicking the top-left cell on the table component. In the Table Properties pane, under Time per Record, enable the setting labeled "Pivot Table". Your table is now a pivot table.
The Date label will disappear from the table component and the first column will display row labels.
Configuring Pivot Table Data Cells
The default column, Row Label, will display the row labels specified later on. Leave the Data Set as the default, "Row Labels" and add a column B.
In the Data Cell Properties of column B, Create a new Data Set. Once named, the Data Cell Properties will change. The type should say "Tag Query".
Select a context tag (optional). This context tag can be an ancestor shared by every tag that you intend to include in the report.
Click the Tag Selector button to open the tag selector.
Using Queries and Wildcards
The key to easily scalable and complete reports featuring common, sequential groupings is using a strategic query. Instead of filtering and adding tags one at a time, you can type a query in a filter field and 'Add Query' to include all tags that meet the query criteria. For groups of tags, where each layer of the tag tree features the same name denoted with a sequential number or letter, using a query is a time-saver that will also capture changes to your tag tree. Take the following example:
Unseen are all the IO tags nested under each pump.
If you were to expand this tag tree fully, you would see common IO tags nested under sequentially named pumps, nested under sequentially named stations, nested under a jurisdiction, nested under one common context tag. Every pump in this example has a status tag with the shortname "Running". To create the Bedford Pumping Stations Start Report displayed above, I selected NS\Bedford as my context tag and used the following query in the tag selector:
Station ?\Pump ?\Running
The wildcard * (star or asterisk) is a placeholder for any number of alternative characters.
The wildcard ? (question mark) is a placeholder for a single character. If you had tags running into the double digits, you might have to add a second query using "??" instead.
This configuration captures all of the status tags named Running nested under any numbered pump, from all of my numbered stations nested under my selected context tag.
Select one or more Data Columns and configure the Header parameters...
Configure your Row Label parameters at the bottom of the Data Cell Properties Panel...
Format row and column labels
There are three parameterized phrases that are especially relevant for configuring Pivot Tables:
%[AncestorShortName]
This parameter takes just a shortname from the tag name, specified by level.
In the provided example, the full tag name of the top-most entry is NS\Bedford\Station 1\Pump 1\Running.
The Data Column header parameter is %[AncestorShortName] %[DataColumn] with the AncestorShortName level set to the default 1. One step up in the tag name is "Pump 1", and next to this the selected Data Column.
The Row Label parameter is %[AncestorShortName] with the level set to 2. Two steps removed in the tag name is "Station 1".
%[AncestorRelativeName]
This parameter displays a portion of the full tag name from a specified ancestor level up to, but not including, the selected as the context of the query.
In the provided example, the full tag name of the top-most entry is NS\Bedford\Station 1\Pump 1\Flow Rate. The specified level is 2 and the selected context tag is NS.
%[AncestorDescription]
The configured description of an ancestor tag specified by level. This is the description from the tag properties ID tab.