DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:struct:aggregation

This is an old revision of the document!


Struct Plugin

Struct Plugin: Aggregation

Aggregation of structured data is the main purpose of the plugin. Aggregation is done through a simple syntax which will result in a dynamic table listing all pages and associated data matching certain criteria.

The basic syntax looks like this:

---- struct table ----
schema: schema_name
cols: %pageid%, other, cols
----

The aggregation-syntax is very similar to that the data plugin. The main difference is that you have to specify a schema name (or more than one). :!:

The keyword before the colon is a configuration option and the value after it is the actual setting. To make it more fault tolerant, multiple option names are frequently possible. Here is a list of all available options:

Option(s) Required? Description
schema
from
yes These are the schemas from which you want to display the data.
cols
select
yes These are the attributes you want to display. These are the same names you used in the Data Entry part
head
header
headers
no If specified, these names will be used in the table headers instead of the column names
max
limit
no How many rows should be displayed. If more rows are available the table will be made browsable. If not given all matching rows are shown
sort
order
no By what column should the table be sorted initially? Prepend a ^ to reverse the sorting
filter
where
filterand
and
no Filter by a column value. You may specify this more than once, multiple filters will be ANDed. (see also filters)
filteror
or
no Like filter, but multiple instances will be ORed (see also filters)
dynfilters no Set to 1 to enable a row of input fields for dynamically filtering the table
summarize no Set to 1 to calculate sum of columns
align no List of column alignments. The alignments can be left (l), center (c) or right (r)
rownumbers no Set to 1 to show row numbers
width
widths
no Comma-separated list of column widths to use. CSS units and percentages can be given

Please note that you join data from multiple page schemas (as long as they are assigned on the same pages), but can only run aggregations on a single lookup schema.

Aliases

When selecting data from multiple schemas wich contain the same field names, you have to prefix them with the schema name:

---- struct table ----
schemas: schema1, schema2
cols: %pageid%, schema1.name, schema2.name
----

You can use aliases to reference schemas to type less. Aliases are separated by a space from the schema name:

---- struct table ----
schemas: schema1 A, schema2 B
cols: %pageid%, A.name, B.name
----

Please see filters to learn more about filtering.

Special Columns

The following special column names can be used to access non-field columns:

Special Name Description
%pageid% The page name of the page holding the matching struct data
%title% The title (first heading) of the above page
%lastupdate% The date and time when the data was last updated
plugin/struct/aggregation.1472136152.txt.gz · Last modified: 2016-08-25 16:42 by andi

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki