Crosstab report with limits, displaying summary values for only the records displayed

{|CROSSTAB|}<h2>Top 5 Groups crosstabbed by level zone with super-aggregates</h2>

  <table id="crosstab-group-by-level-4">

    

    {|LOOP|CROSSTAB.CLIENT_10_GROUP(SORT=AVG(CLIENT_10_GROUP.PERCENT_SCORE,CLIENT_10_GROUP)|DESC,LIMIT=5)}

      {LOOP.ISFIRST?:|VANISH|}

        <thead>

          <tr class="header-row">

            <th>Name <span class="seleniate">(sel)</span></th>

            {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4(SORT=NAME)}

            <th class="crosstab-name" id="crosstab-group-by-level-4-header-column-avg-level-4-{CLIENT_10_LEVEL_4.ID}">

              {CLIENT_10_LEVEL_4.NAME} Avg

            </th>

            <th class="crosstab-name" id="crosstab-group-by-level-4-header-column-count-level-4-{CLIENT_10_LEVEL_4.ID}">

              {CLIENT_10_LEVEL_4.NAME} Count

            </th>

            {/|LOOP|}

            <th>{DATATYPES.SHOW_DATATYPE.CLIENT_10_GROUP.GROUP.NAME} Average</th>

            <th>{DATATYPES.SHOW_DATATYPE.CLIENT_10_GROUP.GROUP.NAME} Count</th>

            <th>{DATATYPES.SHOW_DATATYPE.CLIENT_10_GROUP.GROUP.NAME} Max Count</th>

            <th>{DATATYPES.SHOW_DATATYPE.CLIENT_10_GROUP.GROUP.NAME} Max Average</th>

          </tr>

        </thead>

        <tbody>

      {/LOOP.ISFIRST?:|VANISH|}    

      <tr id="crosstab-group-by-level-4-group-row-{CLIENT_10_GROUP.ID}">

        <th class="member-name" id="crosstab-group-by-level-4-group-member-name-{CLIENT_10_GROUP.ID}">

          {CLIENT_10_GROUP.NAME}

        </th>

        {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4}

        <td class="member-average-score member-average-score-{CLIENT_10_LEVEL_4.ID}">

          {AVG(CLIENT_10_LEVEL_4.INTERSECT.PERCENT_SCORE).NUMBERFORMAT(2)}

        </td>

        <td id="crosstab-group-by-level-4-group-count-group-{CLIENT_10_GROUP.ID}-level-4-{CLIENT_10_LEVEL_4.ID}">

          {COUNT(CLIENT_10_LEVEL_4)}

        </td>

        {LOOP.HASNEXT?|VANISH|}

        <td id="crosstab-group-by-level-4-group-avg-score-group-{CLIENT_10_GROUP.ID}">

          {AVG(CLIENT_10_GROUP.PERCENT_SCORE, CLIENT_10_GROUP).NUMBERFORMAT(2)}

        </td>

        <td id="crosstab-group-by-level-4-group-count-group-{CLIENT_10_GROUP.ID}">

          {COUNT(CLIENT_10_GROUP,CLIENT_10_GROUP)}

        </td>

        <td id="crosstab-group-by-level-4-group-max-count-group-{CLIENT_10_GROUP.ID}">

          {MAX(COUNT(CLIENT_10_GROUP),CLIENT_10_GROUP)}

        </td>

        <td id="crosstab-group-by-level-4-group-max-avg-group-{CLIENT_10_GROUP.ID}">

          {MAX(AVG(CLIENT_10_GROUP.PERCENT_SCORE),CLIENT_10_GROUP).NUMBERFORMAT(2)}

        </td>

        {/LOOP.HASNEXT?|VANISH|}

        {/|LOOP|}

      </tr>

      {LOOP.HASNEXT?|VANISH|}

      <tr class="total-row" id="crosstab-group-by-level-4-group-superagg-total-1">

        <th>Top 5 {DATATYPES.SHOW_DATATYPE.CLIENT_10_GROUP.GROUP.NAME} Total Counts</th>

        {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4}

        <td></td>

        <td id="crosstab-group-by-level-4-group-sum-count-level-4-{CLIENT_10_LEVEL_4.ID}">

          {SUM(COUNT(CLIENT_10_LEVEL_4), CLIENT_10_LEVEL_4)}

        </td>

        {/|LOOP|}

        <td></td>

        <td id="crosstab-group-by-level-4-group-sum-count">

          {SUM(COUNT(CLIENT_10_GROUP,CLIENT_10_GROUP))}

        </td>

        <td></td>

        <td></td>

      </tr>

      <tr class="total-row" id="crosstab-group-by-level-4-group-superagg-total-2">

        <th>Top 5 {DATATYPES.SHOW_DATATYPE.CLIENT_10_GROUP.GROUP.NAME} Averages</th>

        {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4}

        <td class="member-average-score member-average-score-{CLIENT_10_LEVEL_4.ID}">

          {AVG(AVG(CLIENT_10_LEVEL_4.PERCENT_SCORE), CLIENT_10_LEVEL_4).NUMBERFORMAT(2)}

        </td>

        <td>{AVG(COUNT(CLIENT_10_LEVEL_4), CLIENT_10_LEVEL_4).NUMBERFORMAT(2)}</td>

        {/|LOOP|}

        <td class="member-average-score member-average-score-{CLIENT_10_GROUP.ID}">

          {AVG(AVG(CLIENT_10_GROUP.PERCENT_SCORE, CLIENT_10_GROUP)).NUMBERFORMAT(2)}

        </td>

        <td class="member-average-score member-average-score-{CLIENT_10_GROUP.ID}">

          {AVG(COUNT(CLIENT_10_GROUP,CLIENT_10_GROUP)).NUMBERFORMAT(2)}

        </td>

        <td></td>

        <td></td>

      </tr>

      {/|VANISH|}

    {/|LOOP|}

    </tbody>

  </table>

{/|CROSSTAB|}



Crosstab report with values compared to maximum averages



{|CROSSTAB|}<h2>Group crosstabbed by level 4 crosstabbed by ULG with superaggregates and calculations (showing count vs highest overall count)</h2>

  <table id="crosstab-group-by-level-4-by-ulg-superagg-calc">    

    {|LOOP|CROSSTAB.CLIENT_10_GROUP}

      {LOOP.ISFIRST?:|VANISH|}

        <thead>

          <tr class="header-row">

            <th rowspan="2">Name <span class="seleniate">(sel)</span></th>

            {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4(SORT=NAME)}

            <th colspan="3" class="crosstab-name">{CLIENT_10_LEVEL_4.NAME}</th>

              {|LOOP|CLIENT_10_LEVEL_4.CLIENT_10_LOCGROUPSET_3(SORT=NAME)}{/|LOOP|}

            {/|LOOP|}

            <th colspan="2">{DATATYPES.SHOW_DATATYPE.CLIENT_10_GROUP.GROUP.NAME} MAX</th>

          </tr>

          <tr class="header-row">

            {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4}

              {|LOOP|CLIENT_10_LEVEL_4.CLIENT_10_LOCGROUPSET_3}

                <th class="crosstab-name">{CLIENT_10_LOCGROUPSET_3.NAME}</th>

              {/|LOOP|}

              <th>Total</th>  

            {/|LOOP|}

            <th>{DATATYPES.SHOW_DATATYPE.CLIENT_10_LEVEL_4.GROUP.NAME}</th>

            <th>{DATATYPES.SHOW_DATATYPE.CLIENT_10_LEVEL_4.GROUP.NAME}/{DATATYPES.SHOW_DATATYPE.CLIENT_10_LOCGROUPSET_3.GROUP.NAME}</th>

          </tr>

        </thead>

        <tbody>

      {/LOOP.ISFIRST?:|VANISH|}    

      

      <tr>

        <th class="member-name">{CLIENT_10_GROUP.NAME}</th>

        {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4}

          {|LOOP|CLIENT_10_LEVEL_4.CLIENT_10_LOCGROUPSET_3}

            <td>

              {CALC(COUNT(CLIENT_10_LOCGROUPSET_3) - MAX(COUNT(CLIENT_10_LOCGROUPSET_3)))}

            </td>

          {/|LOOP|}

          <td>

            {CALC(COUNT(CLIENT_10_LEVEL_4,CLIENT_10_LEVEL_4, CLIENT_10_GROUP) - MAX(COUNT(CLIENT_10_LEVEL_4)))}

          </td>

        {/|LOOP|}

        <td>{CALC(MAX(COUNT(CLIENT_10_GROUP, CLIENT_10_GROUP, CLIENT_10_LEVEL_4),CLIENT_10_GROUP) - MAX(COUNT(CLIENT_10_GROUP)))}</td>

        <td>{CALC(MAX(COUNT(CLIENT_10_GROUP),CLIENT_10_GROUP) - MAX(COUNT(CLIENT_10_GROUP)))}</td>

      </tr>

      {LOOP.HASNEXT?|VANISH|}

      <tr class="total-row">

        <th>Overall MAX</th>

        {|LOOP|CLIENT_10_GROUP.CLIENT_10_LEVEL_4}

          {|LOOP|CLIENT_10_LEVEL_4.CLIENT_10_LOCGROUPSET_3}

            <td>{CALC(MAX(COUNT(CLIENT_10_LOCGROUPSET_3), CLIENT_10_LOCGROUPSET_3,CLIENT_10_LEVEL_4) - MAX(COUNT(CLIENT_10_LOCGROUPSET_3)))}</td>

          {/|LOOP|}

          <td>{CALC(MAX(COUNT(CLIENT_10_LEVEL_4, CLIENT_10_GROUP, CLIENT_10_LEVEL_4), CLIENT_10_LEVEL_4 )- MAX(COUNT(CLIENT_10_LEVEL_4)))}</td>

        {/|LOOP|}

        <td>{MAX(COUNT(CLIENT_10_GROUP))}</td>

        <td></td>

      </tr>

      {/LOOP.HASNEXT?|VANISH|}

      

    {/|LOOP|}

    </tbody>

  </table>

{/|CROSSTAB|}