1.2 Data Pilot Enhancements
1.2.1Data Pilot Field
A data pilot table's fields are specified by
<table:data-pilot-field>
elements. This element will be extended by an optional
<table:data-pilot-field-reference>
element.
<define
name="table-data-pilot-field">
<element
name="table:data-pilot-field">
<ref
name="table-data-pilot-field-attlist"/>
<optional>
<ref
name="table-data-pilot-level"/>
</optional>
<optional>
<ref
name="table-data-pilot-field-reference"/>
</optional>
</element>
</define>
Orientation
The table:orientation
attribute specifies the orientation of the source field. It already
may have the values data,
row, column,
hidden or page.
The value page indicates
that an automatic filter (i.e. one that allows to choose one of the
values that are contained in the column) should be generated for the
corresponding column. This automatic filter allows to display the
data pilot table depending on the values of the filtered column,
where each of the resulting tables id called a page . To be able to
specify which value is selected for the filter, the
table:selected-page
attribute will be added which specifies the currently selected value.
<define
name="table-data-pilot-field-attlist" combine="interleave">
<choice>
<group>
<attribute
name="table:orientation">
<value>page</value>
</attribute>
<attribute
name="table:selected-page">
<ref
name="string"/>
</attribute>
</group>
<attribute
name="table:orientation">
<choice>
<value>row</value>
<value>column</value>
<value>data</value>
<value>hidden</value>
</choice>
</attribute>
</choice>
</define>
1.2.2Data Pilot Field Reference
The <table:data-pilot-field-reference>
element describes data which can be used to modify the displayed
values of data fields.
<define
name="table-data-pilot-field-reference"/>
<element
name="table:data-pilot-field-reference"/>
<ref
name="table-data-pilot-field-reference-attlist"/>
</element>
</define>
Reference Field
The table:field-name
attribute references a category field whose members influence the
displayed values of the data field the
<table:data-pilot-field-reference>
is part of.
<define
name=”table-data-pilot-field-reference-attlist”
combine=”interleave”>
<attribute
name=”table:field-name”>
<ref
name=”string”/>
</attribute>
</define>
Reference Member Type
The table:member-type
attribute specifies the member of the referenced category field,
whose value within the current data field has to be taken into
account. If its value is next,
then the value of the data field for the next visible member of the
referenced category field will be taken into account. If its value is
named, then the
table:member-name
specifies the member whose value within the data field is taken into
account.
For previous
and next, empty members
are skipped.
<define
name=”table-data-pilot-field-reference-attlist”
combine=”interleave”>
<choice>
<group>
<attribute
name=”table:member-type”>
<value>named</value>
</attribute>
<attribute
name=”table:member-name”>
<ref
name=”string”>
</attribute>
</group>
<attribute
name=”table:member-type”>
<choice>
<value>previous</value>
<value>next</value>
</choice>
</attribute>
</choice>
</define>
Reference Type
The table:type
attribute specifies the who the referenced category field influences
the displayed values of the data field. It may have one of the
following values:
none:
This value means that the results in the data fields are displayed
unmodified.
member-difference:
From each result, the value calculated for the category field member
specified by the table:member-type
and table:member-name
attributes is subtracted.
member-percentage:
Each result is divided by the value calculated for the category
field member specified by the table:member-type
and table:member-name
attributes. Division by zero results in an error. Empty results are
shown as 0. If the table:member-type
attribute has the value previous,
“1” is displayed as first value. If the
table:member-type
attribute has the value next,
“1” is displayed as last value.
member-percentage-difference:
From each result, the value calculated for the category field member
specified by the table:member-type
and table:member-name
attributes is subtracted, and the result is divided by this value
again. Division by zero results in an error. Otherwise, the rules
for member-difference
apply.
Running-total:
Each result is added to the sum of the results for preceding members
in the referenced category field, in the reference field's sort
order, and the total sum is shown.
row-percentage:
Each result is divided by the total result for its row in the data
pilot table. If there are several data fields, the total for the
result's data field is used. If there are subtotals with manually
selected summary functions, the total is calculated with the data
field's summary function. Division by zero results in an error.
column-percentage:
Same as row-percentage,
but the total for the result's column is used.
total-percentage:
Same as row-percentage,
but the grand total for the result's data field is used.
index:
The row and column totals and the grand total are calculated as
described above, and than are used to calculate the following
expression: (original result * grand total ) / ( row total * column
total ).Division by zero results in an error.
<define
name=”table-data-pilot-field-reference-attlist”
combine=”interleave”>
<attribute
name=”table:type”>
<choice>
<value>none</value>
<value>member-difference</value>
<value>member-percentage</value>
<value>member-percentage-difference</value>
<value>running-total</value>
<value>row-percentage</value>
<value>column-percentage</value>
<value>total-percentage</value>
<value>index</value>
</choice>
</attribute>
</define>
1.2.3Data Pilot Level
The data pilot level element
<table:data-pilot-level>
already contains additional information about a data pilot field. The
following elements will be added: <table:data-pilot-display-info>,
<table:data-pilot-sort-info>,
<table:data-pilot-layout-info>.
<define
name="table-data-pilot-level">
<element
name="table:data-pilot-level">
<ref
name="table-data-pilot-level-attlist"/>
<optional>
<ref
name="table-data-pilot-subtotals"/>
</optional>
<optional>
<ref
name="table-data-pilot-members"/>
</optional>
<optional>
<ref
name="table-data-pilot-display-info"/>
</optional>
<optional>
<ref
name="table-data-pilot-sort-info"/>
</optional>
<optional>
<ref
name="table-data-pilot-layout-info"/>
</optional>
</element>
</define>
1.2.4Data Pilot Display Info
The <table:data-pilot-display-info>
element restricts the number rows that are displayed for a category
field to a specific number of values of a data field.
<define
name="table-data-pilot-display-info"/>
<element
name="table:data-pilot-display-info"/>
<ref
name="table-data-pilot-display-info-attlist"/>
</element>
</define>
Enabled
The
table:enabled attribute
specifies whether the display info is evaluated or not.
<define
name=”table-data-pilot-display-info-attlist”
combine=”interleave”>
<attribute
name=”table:enabled”>
<ref
name=”boolean”/>
</attribute>
</define>
Data Field
The
table:data-field attribute
specifies the data field whose values are taken into account.
<define
name=”table-data-pilot-display-info-attlist”
combine=”interleave”>
<attribute
name=”table:data-field”>
<ref
name=”string”/>
</attribute>
</define>
Member Count
The
table:member-count
attribute specifies how many values from the top or from the bottom
of data field's column are shown.
<define
name=”table-data-pilot-display-info-attlist”
combine=”interleave”>
<attribute
name=”table:member-count”>
<ref
name=”nonNegativeInteger”/>
</attribute>
</define>
Display Member Mode
The
table:display-member-mode
attribute specifies whether the values specified by
table:member-count should
be taken from the top or from the bottom of a data field's column.
<define
name=”table-data-pilot-display-info-attlist”
combine=”interleave”>
<attribute
name=”table:display-member-mode”>
<choice>
<value>from-top</value>
<value>from-bottom</value>
</choice>
</attribute>
</define>
1.2.5Data Pilot Sort Info
The <table:data-pilot-sort-info>
element specifies how the members of a category field are sorted.
<define
name="table-data-pilot-sortinfo"/>
<element
name="table:data-pilot-sortinfo"/>
<ref
name="table-data-pilot-sortinfo-attlist"/>
</element>
</define>
Sort Mode
The
table:sort-mode attribute
describes how to sort the members of a single data pilot field. If
the mode is data, then the
members of the current category field a sorted according to their
values in the data field specified by the table:data-field
attribute. If the mode is manual,
the user can sort the members in the field manually. If the mode is
name, the members in the
field are sorted by their name.
<define
name=”table-data-pilot-sortinfo-attlist”
combine=”interleave”>
<choice>
<group>
<attribute
name=”table:sort-mode”>
<value>data</value>
</attribute>
<attribute
name=”table:data-field”>
<ref
name=”string”/>
</attribute>
</group>
<attribute
name=”table:sort-mode”>
<choice>
<value>none</value>
<value>manual</value>
<value>name</value>
</choice>
</attribute>
</choice>
</define>
Sort Order
The
table:sort-order attribute
specifies whether to sort ascending or descending.
<define
name=”table-data-pilot-sort-info-attlist”
combine=”interleave”>
<attribute
name=”table:order”>
<choice>
<value>ascending</value>
<value>descending</value>
</choice>
</attribute>
</define>
1.2.6Data Pilot Layout Info
The <table:data-pilot-layout-info>
element describes how to layout the field.
<define
name="table-data-pilot-layout-info"/>
<element
name="table:data-pilot-layout-info"/>
<ref
name="table-data-pilot-layout-info-attlist"/>
</element>
</define>
Layout Mode
The
table:layout-mode
attribute describes how to layout the field. It may have the
following values:
tabular-layout:
Tabular layout mode is the layout, where each member's name is on
the same row as the first member from the following field. Subtotals
are always shown below an member's data in this mode.
outline-subtotals-top:
In outline layout mode, the members from the following field start
in the row below a member's name, like in traditional database
reports. Subtotals are shown at the top (in the same row as the
member's name). When the subtotals take up more than one row
(manually selected, or because there are several data fields), they
are always shown below the member's data, regardless of the setting.
outline-subtotals-bottom:
Like outline-subtotals-top,
except that subtotals are shown at the bottom (below the member's
data, as in tabular layout mode).
<define
name=”table-data-pilot-layout-info-attlist”
combine=”interleave”>
<attribute
name=”table:layout-mode”>
<choice>
<value>tabular-layout</value>
<value>outline-subtotals-top</value>
<value>outline-subtotals-bottom</value>
</choice>
</attribute>
</define>
Add empty lines
If
the attribute table:add-empty-lines
is true, an empty row is
inserted in the data pilot table after the data (including the
subtotals) for each member of the field.
<define
name=”table-data-pilot-layout-info-attlist”
combine=”interleave”>
<attribute
name=”table:add-empty-lines”>
<ref
name=”boolean”/>
</attribute>
</define>
-fieldoptions.sxw
22 March 2004
Copyright
© Sun Microsystems, Inc 2004. All Rights Reserved. Page
of