Tópico anterior: Relatórios de formato livre

Próximo tópico: Relatório em formato livre da distribuição normal genérica (Gaussiano)

Relatórios de formato livre de histograma genérico

A consulta a seguir pode ser usada em um relatório de formato livre para apresentar a distribuição dos valores em uma tabela por porcentagem, conforme exibido no gráfico a seguir:

Relatório de formato livre de histograma genérico

É possível ver no gráfico acima qual proporção (em porcentagem) dos valores está abaixo de 11,5 (0%), abaixo de 804,74 (mais ou menos 50%) e abaixo de 1435,53 (100%).

Se o SLA especificar destinos como "x% dos valores devem estar abaixo de y", os resultados desse formato livre ajudam a encontrar os valores de x e y que asseguram a conformidade com o SLA.

Os seguintes parâmetros são usados na consulta:

A consulta pode ser executada na fonte de dados ou na T_SLALOM_OUTPUTS para obter os melhores resultados.

A consulta a seguir gera o gráfico, conforme mostrado acima:

select val,100*records/(select count(*) from (@Query))
from
(
  select x.bucket_val val,
    sum(y.records) records
  from
  (
    select round(val/bucket_size,0)*bucket_size bucket_val,
      count(*) records
    from
    (
      select (max(val)-min(val))/@Buckets bucket_size
      from
      (
        @Query
      )
    ) params,
    (
            @Query
       ) source
    group by round(val/bucket_size,0)*bucket_size
    order by round(val/bucket_size,0)*bucket_size
  ) x,
  (
    select round(val/bucket_size,0)*bucket_size bucket_val,
      count(*) records
    from
    (
      select (max(val)-min(val))/@Buckets bucket_size
      from	
      (
        @Query
         )
    ) params,
    (
            @Query
       ) source
    group by round(val/bucket_size,0)*bucket_size
    order by round(val/bucket_size,0)*bucket_size
  ) y
  where y.bucket_val @Relation x.bucket_val
  group by x.bucket_val
  order by x.bucket_val
)

A seguir, há um exemplo de lista de parâmetros (como XML) que pode ser usada:

<custom>
     <connection>
          <params/>
     </connection>
     <query>
          <params>
               <param name="@Query" disp_name="Data Type" type="LIST">
                    <value>PDP Context Activation Success</value>
                    <list>
                         <item>
                              <value>select success_rate as val from PDP_Context_Activation_Success.CSV</value>
                              <text>PDP Context Activation Success</text>
                         </item>
                         <item>
                              <value>select throughput as val from [gprs throughput volume by apn.csv]</value>
                              <text>Throughput of a Single APN</text>
                         </item>
                         <item>
                              <value>select throughput as val from [Generic GPRS Throughput.CSV]</value>
                              <text>Generic Throughput</text>
                         </item>
                    </list>
               </param>
               <param name="@Buckets" disp_name="X Axis Values" type="LIST">
                    <value>100</value>
                    <list>
                         <item>
                              <value>25</value>
                              <text>25</text>
                         </item>
                         <item>
                              <value>50</value>
                              <text>50</text>
                         </item>
                         <item>
                              <value>100</value>
                              <text>100</text>
                         </item>
                         <item>
                              <value>250</value>
                              <text>250</text>
                         </item>
                         <item>
                              <value>500</value>
                              <text>500</text>
                         </item>
                         <item>
                              <value>1000</value>
                              <text>1000</text>
                         </item>
                    </list>
               </param>
               <param name="@Relation" disp_name="Violation of threshold means" type="LIST">
                    <value>providing too little</value>
                    <list>
                         <item>
                              <value>&gt;=</value>
                              <text>providing too little</text>
                         </item>
                         <item>
                              <value>&lt;=</value>
                              <text>providing too much</text>
                         </item>
                    </list>
               </param>
          </params>
     </query>
</custom>

Comentários