Use Case

The client wants to know which locations are doing really well and really poorly. They want to see ones whose average scores are more than 15 percentage points away from the average score overall.


Report


Code

{|SHOWIF|OUTPUT_MODE=|EVALCONST(KNICKERS_OUTPUT_STANDARD)|}{DATATYPES.CONTROLS_START}

  {DATATYPES.DEFAULT_DATE_FILTERS}

{DATATYPES.CONTROLS_END}{/|SHOWIF|}


<div class='results'>

  {|VANISHIF|COUNT(DATATYPES.SHOW_DATATYPE)}

    <div class='ui-state-highlight no-data'><p>No data was found to display</p></div>

  {/|VANISHIF|}

  

  {|SHOWIF|COUNT(DATATYPES.SHOW_DATATYPE)}

     

    {|RESULT|FILTER=CLIENT_55_SURVEY_ID|eq|1238}

    <div>

      {|LOOP|RESULT.CLIENT_55_LEVEL_1(SORT=NAME)}

        {|SHOWIF|LOOP.ISFIRST}

          <table class='data' id='data'>

            <thead>

              <tr>

                <th>{|SORT_TOGGLE|CLIENT_55_LEVEL_1.ORDER_NUM}Location{/|SORT_TOGGLE|}</th>

                <th>{|SORT_TOGGLE|AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE)}Location Average{/|SORT_TOGGLE|}</th>

                <th>{|SORT_TOGGLE|AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE)}Difference from Overall Average{/|SORT_TOGGLE|}</th>

              </tr>

            </thead>

            <tbody>

        {/|SHOWIF|}


        #only display locations with an average score more than 15 points above or below the average

        {|SHOWIF|CALC(AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE,OVERALL) - AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE))>15||CALC(AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE,OVERALL) - AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE))<-15}

          <tr>

            <th>{CLIENT_55_LEVEL_1.NAME}</th>

            <td>{AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE).ROUND}</td>


            #use the difference to set some heatmapping

            <td class="{CALC(AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE)-AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE,OVERALL)).ROUND>0?above:below}-average">


              #show a plus if our score is above average

              {CALC(AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE)-AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE,OVERALL)).ROUND>0?+}

              {CALC(AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE)-AVG(CLIENT_55_LEVEL_1.PERCENT_SCORE,OVERALL)).ROUND}

            </td>

          </tr>

        {/|SHOWIF|}

      {/|LOOP|}

    </div>

    {/|RESULT|}

  {/|SHOWIF|}

</div>


CSS

@import "themeroller/jquery.ui.all.css";

@import "chrome.theme.css";

@import "chrome.layout.css";


#data

{

    table-layout: auto;

    width: auto;

    border: 1px solid black;

    margin-top: 1em;

}


#data td

{

    text-align: right;

}


thead th

{

    background-color: #A1A0CC;

    color: white;

}


#data a

{

    color: white;

}


.above-average

{

    color: green;

}

.below-average

{

    color: red;

}