The Table component can be created by dragging it from the Report Design Palette, or by simply dragging a Data Source from the Key Browser to a page in your report. A new Table with no bound Data Key is fairly simple looking, but hides a wealth of functionality. To best understand how to use a table, you'll want to have some familiarity with the Reporting Basics we cover in the Report Design introduction. Also, Selection and Superselection are particularly important when dealing with Tables.
When you create a table, by default, you will see something like the image below on the report page. It says "Object Details" because it has not yet been set up to use a Data Source.
It's important to understand that the table has multiple sections, each with its own properties. By default, the table consists of three sections:
Each section has its own properties. These will appear in the Properties tab of the Property Inspector when selected.
When modifying properties on a section of the Table, always pay attention to which section you selected. Some property names on one section may look similar to properties on a different section. For example, Table Rows have a Column Count property that adds a new column to the row, but the Table Body section also has a Column Count property that will cause the same table to spill out horizontally on the same page causing some of the data to be rendered on an unprintable area of the report!
If you look at the Configure Table tab, you will see that it has a default data key of "Objects", which matches the Details row on the component as shown in the image above. Changing the Data Key will also change the name on the row making it easier to determine what you are looking at when editing multiple tables or Grouping.
Once you have a table in your report and selected a Data Key for it, you can start designing. There are many tools built into the Table interface that you can use to control its behavior, or select rows and cells.
Sorting orders your data by a key or list of keys. There are three types of Sorting in Tables.
Basic and TopN sorts can be configured for either ascending () or descending () sorts. They can also utilize aggregate (calculation) keys.
The TopN option Include Others will include all values outside of the specified Count range by compressing them into a single row.
This example uses the same table and performed different sorts. The first uses the Default sort, the second uses a Basic Sort as configured in the image below.
To alternate to descending, you can click the icon to toggle to a descending sort.
The results of the each sort is shown below.The left table is sorted by its primary key (OrderID), and the right table is sorted by Ascending Subtotal.
Filtering gives the option of processing data based on an expression. The Filtering property can be found in the Property Inspector under the Properties tab.
If the expression resolves false, the row will be skipped. Note: you do not need @ symbols to reference keys.
This example is sorted descending by downtime and filtered by downtime greater than 20 minutes.
In the Table component, you can add different versions for your rows. This allows you to do things like alternate background colors, or make the first row different, or show negative valued rows differently. To use Row Versioning, click on the word "Standard" on the far right of a row. You will see a list of your existing row versions (only one named "Standard" appears initially) followed by options to add new row versions. Once you have added a few row versions, you can swap between them by selecting one from this list.
When creating new row versions, the currently selected row will be duplicated as the new row version. From here you can modify your row in any way, you can make it similar to the Standard row or completely different.
|Row Version Name||Description|
|Standard||This is the standard row. Every other option will use this to fill in remaining rows.|
|First||A row version that is used for the first piece of data, but not for any others. This is not the same as using a header row, the header will not have access to the first row of data.|
|Alternate||Every other row starting with the second row will use this version.|
|Custom||This version allows you to enter a function for whether to select it. When this option is selected, you must enter a name for the new row version. For esample, you could select "Version1" and use a function like this: "col2>5?Version1:Version2"|
In this example, we will give alternating rows a simple background change to make your report easier to read.
There are a few other tables in the Report Module, and they all behave a little differently than the main table.