Cómo: |
Con la frase BY TOTAL, puede aplicar simultáneamente agregación y clasificación a columnas numéricas en su informe con un solo pase de datos. Para que BY TOTAL funcione correctamente, deben tener un comando de visualización de agregación, como SUM. un comando de visualización sin agregación, como PRINT, sencillamente recupera los datos sin agregarlos. Los registros se clasifican en orden ascendente o descendente en función de su consulta. El orden ascendente es el predeterminado.
Puede usar también la frase BY TOTAL para clasificar sobre la base de valores temporales calculados mediante el comando COMPUTE.
Nota: En z/OS, la clasificación del valor agregado se calcula mediante un paquete de clasificación externo, aún en el caso de que EXTSORT = OFF.
[RANKED] BY [HIGHEST|LOWEST [n] ] TOTAL {display_field|COMPUTE name/format=expression;}
donde:
Añade una columna al informe en que se asigna un número de catálogo a cada valor de clasificación agregado en la salida de informe. Si una serie de filas comparte la misma catalogación, el número de catalogación aparece solamente en la primera fila.
Es el número de valores de campos de clasificación que desea desplegar en el informe. Si se omite n, se muestran todos los valores del campo de clasificación calculado. El orden predeterminado es del más bajo al más alto.
Puede ser el nombre de un campo, el nombre de un campo precedido por un operador (es decir, prefixoperator.fieldname), o bien un valor calculado.
Cuando se crea la matriz interna, el campo BY TOTAL se maneja como un campo de visualización. Después de creada la matriz, las líneas de salida se agregan y reclasifican a partir de todos los campos de clasificación.
En este ejemplo, el salario promedio se calcula y usa como campo de clasificación. Los dos salarios más altos se muestran en el informe.
TABLE FILE EMPLOYEE SUM SALARY CNT.SALARY BY DEPARTMENT BY HIGHEST 2 TOTAL AVE.SALARY AS 'HIGHEST,AVERAGE,SALARIES' BY CURR_JOBCODE END
La salida es:
En este ejemplo, el salario promedio se calcula y usa como campo de clasificación. Se muestran los dos salarios más altos de forma ordenada.
TABLE FILE EMPLOYEE SUM SALARY CNT.SALARY BY DEPARTMENT RANKED BY HIGHEST 2 TOTAL AVE.SALARY AS 'HIGHEST,AVERAGE,SALARIES' BY CURR_JOBCODE END
La salida es:
En este ejemplo, el salario mensual se calcula mediante una COMPUTE en un campo de clasificación. Se muestran los dos salarios mensuales más altos.
TABLE FILE EMPLOYEE SUM SALARY CNT.SALARY BY DEPARTMENT BY HIGHEST 2 TOTAL COMPUTE MONTHLY_SALARY/D12.2M=SALARY/12; AS 'HIGHEST,MONTHLY,SALARIES' BY CURR_JOBCODE END
La salida es:
WebFOCUS |