Crea otro objeto vtable agrupada con los porcentajes de los datos de la vtable pasada.

1 vtable.calculatePercentGroupBy

<vtable.calculatePercentGroupBy
    name='name'
    group='group'
    measure='measure'
    percent='percent'
/>
Example

Ejemplo de cálculo y agrupación de los porcentajes en una vtable.

Copy
<xsql-script>
    <body>

        <vtable name='v1'>
            <column name='country' type='char' />
            <column name='labcode' type='char' />
            <column name='sales' type='decimal' />
            <column name='percent_of_sales' type='decimal' scale='2' />
        </vtable>

        <vtable.insert name='v1'>
            <matrix>
                { "FR", "LAB1", "100", "0" }
                { "FR", "LAB2", "200", "0" }
                { "FR", "LAB3", "220", "0" }
                { "FR", "LAB4", "400", "0" }
                { "PT", "LAB1", "40", "0" }
                { "PT", "PAB2", "60", "0" }
                { "DE", "DAB1", "20", "0" }
                { "DE", "DAB2", "22", "0" }
                { "DE", "DAB3", "23", "0" }
            </matrix>
        </vtable.insert>

        <println>
            <v1 />
        </println>
        <println>
            <vtable.calculatePercentGroupBy name='v1'
                group='country' measure='sales' percent='percent_of_sales' />
        </println>

    </body>
</xsql-script>

Este script mostrara:

Copy
+-------+-------+-----+----------------+
|country|labcode|sales|percent_of_sales|
+-------+-------+-----+----------------+
|FR     |LAB1   |  100|            0.00|
|FR     |LAB2   |  200|            0.00|
|FR     |LAB3   |  220|            0.00|
|FR     |LAB4   |  400|            0.00|
|PT     |LAB1   |   40|            0.00|
|PT     |PAB2   |   60|            0.00|
|DE     |DAB1   |   20|            0.00|
|DE     |DAB2   |   22|            0.00|
|DE     |DAB3   |   23|            0.00|
+-------+-------+-----+----------------+


+-------+-------+-----+----------------+
|country|labcode|sales|percent_of_sales|
+-------+-------+-----+----------------+
|FR     |LAB1   |  100|           10.87|
|FR     |LAB2   |  200|           21.74|
|FR     |LAB3   |  220|           23.91|
|FR     |LAB4   |  400|           43.48|
|PT     |LAB1   |   40|           40.00|
|PT     |PAB2   |   60|           60.00|
|DE     |DAB1   |   20|           30.77|
|DE     |DAB2   |   22|           33.85|
|DE     |DAB3   |   23|           35.38|
+-------+-------+-----+----------------+