Table Styles
Because a table template consists of so many different parts, they have been split up into their own subchapters. If you’re trying to figure out how to e.g. style the column groups, please refer to the respective subchapters:
Structure
The general structure can be seen in the following example.
<Style name>
{mainTitle} | |||||
{subTitle} | |||||
group importance primary | group importance primary | group importance secondary | group importance secondary | Chart Legend | |
header | importance secondary | importance primary | importance secondary | importance primary | |
group importance 1 | |||||
importance 1 | 1.05% | 1.05% | 1.05% | 1.05% | |
importance 1 level 2 | 1.05% | 1.05% | 1.05% | 1.05% | |
importance 1 level 3 | 1.05% | 1.05% | 1.05% | 1.05% | |
group importance 2 | |||||
importance 2 | 1.05% | 1.05% | 1.05% | 1.05% | |
{footer} |
Metadata
Vertical table styles support the following metadata:
{
"default": true,
"chartColumnWidths": {
"narrow": 40
},
"firstColumnLeftPadding": 0,
"lastColumnRightPadding": 0,
"tableChart": {
"axisBorderColor": "#000000",
"axisBorderWidth": 0.5,
"barHeightInPt": 8.50394,
"minimumBarHeightInPt": 4.25197,
"minimumAxisWidthInMM": 4
}
}
The chartColumnWidths
property overrides the chart column width defined in the abstract report or in the table style in the Word template. It works by first defining a mapping of chart column widths to their actual width (in percent), e.g. mapping narrow
to a width of 40%. In the abstract report the DimensionGroup.width
property of the chart column’s DimensionGroup
should then be set to this name, e.g. narrow
. For a more concrete example, please refer to the Chart subchapter.
The firstColumnLeftPadding
and lastColumnRightPadding
properties override the padding defined in the table style for the first and last column respectively. Please refer to the Columns subchapter for an example of this behavior.
The tableChart
property controls the layout and design of the produced table chart, such as the axis border color. It can be set on the category level and has to be present if table charts are to be produced. The values in the example above can be used as sane defaults.
Table generation algorithm
To know when and how to change a table style it helps to understand the basic algorithm that is used underneath to produce a table.
When a table is produced it is built piecewise. The relevant cells are copied from the table template (e.g. the cell marked with {mainTitle}) and filled with the approriate content. The basic structure of the resulting table is always the same: there’s an optional title/subtitle, body and a footer. There is an additional fallback mechanism. If a cell can not be found for a certain importance, a template cell of a different importance will be used instead and the cell will be colorized/marked as a fallback with an appropriate warning being issued.
Internally a table is built by composing mini-tables into one final table. One such mini-table could be the chart section of the table or the columns. This way of producing the table helps to reduce the implementation complexity and makes the table generation algorithm easier to maintain.