OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Enhanced Data Pilot Proposal


Dear TC members,

please find attached a proposal for enhancing the data pilot definitions.

Best regards

Michael

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>

04-05-07-fieldoptions.sxw 22 March 2004

Copyright © Sun Microsystems, Inc 2004. All Rights Reserved. Page 1 of 1



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]