Cómo: |
Puede incluir condicionalmente opciones basadas en clasificación, tales como subtotales y otras líneas de resumen, encabezados de clasificación y pies, subrayados, saltos de línea y saltos de página, así como numeración de páginas condicionalmente reiniciada, mediante la frase WHEN en su solicitud de informe. La frase WHEN especifica una condición que se evalúa para cada valor de un campo de clasificación vertical (BY). La opción basada en clasificación (línea de resumen, subrayado, salto de línea o salto de página) se aplica a cada grupo de clasificación que satisfaga la condición y sea ignorado por grupos de clasificación que no satisfagan la condición.
La frase WHEN es una extensión de las frases ON sortfield y BY sortfield. Puede especificar una frase WHEN para cada frase sortfield. Por ejemplo:
ON ORDER_NUM UNDER-LINE WHEN QUANTITY GT 5 ON COUNTRY PAGE-BREAK WHEN LINEPRICE GT 200000
Si una frase sortfield incluye varias opciones relacionadas con clasificación, puede especificar una frase WHEN diferente para cada opción. Por ejemplo:
ON ORDER_NUM SKIP-LINE WHEN QUANTITY GT 5; UNDER-LINE WHEN QUANTITY GT 10
{BY|ON} sortfield [option WHEN condition [;] [AND]]...
donde:
Sus funciones son las mismas. La única diferencia es sintáctica (BY le permite especificar la característica basada en clasificación como parte de la frase de clasificación, mientras que ON le permite especificarla independientemente de la frase de clasificación). Para más información, consulte la documentación correspondiente a la opción sortfield que esté utilizando.
Es el nombre de un campo de clasificación vertical (BY).
Es uno de los siguientes características basadas en clasificación: PAGE-BREAK, PAGE-BREAK REPAGE, RECAP, RECOMPUTE, SKIP-LINE, SUBFOOT, SUBHEAD, SUBTOTAL, SUB-TOTAL, SUMMARIZE, UNDER-LINE.
Si especifica SUBHEAD o SUBFOOT, debe colocar la frase WHEN en la línea que sigue al texto del encabezado o pie.
Es una expresión lógica. Para más información, consulte Cómo utilizar expresiones.
Debe poner las constantes no numéricas, tales como cadenas de caracteres y fechas, entre comillas simples.
Si la condición evalúa un campo de detalles numéricos, evalúa la suma de los valores de los campos de detalles dentro del grupo de clasificación, no los valores de detalle individuales. Por ejemplo, en la solicitud
TABLE FILE CENTHR PRINT ID_NUM SALARY BY PLANT ON PLANT UNDER-LINE WHEN SALARY GT 2000000 END
la condición evalúa la suma de los valores de SALARY en cada valor de PLANT.
Si la condición evalúa un campo alfanumérico que aparece varias veces en un grupo de clasificación, evalúa el último valor del campo en cada grupo de clasificación.
Puede aplicar un operador de prefijo a un campo en la condición (por ejemplo, WHEN AVE.PRICE GT 300) aún cuando el operador y el campo no se utilicen en el informe. La agregación se realiza para cada valor del campo de clasificación.
Si la frase BY o la frase ON incluyen varias opciones, la condición se aplica solamente a la opción que la precede inmediatamente.
Se requiere si las frases WHEN se incluyen para varias opciones en esta frase BY u ON. En todas las demás situaciones es opcional y sólo aumenta la legibilidad.
Se puede incluir entre dos conjuntos de opciones sortfield para mejorar la legibilidad.
Este ejemplo explica cómo mostrar condicionalmente un subpie en un informe. Este informe usa un pie de clasificación condicional para destacar los pedidos con un total inferior a 200,000.
TABLE FILE CENTORD
HEADING
"Order Revenue"
" "
SUM ORDER_DATE LINEPRICE AS 'Order,Total:'
BY HIGHEST 5 ORDER_NUM
ON ORDER_NUM
SUBFOOT
"--- Order total is less than $200,000 ---"
" "
WHEN LINEPRICE LT 200000
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLESHEET *
TYPE=REPORT, GRID=OFF, $
ENDSTYLE
END
La salida es:
Este ejemplo explica cómo aplicar múltiples condiciones a un componente de informe. Este informe usa pies de clasificación condicional para distinguir entre pedidos cuyo total sea mayor de 200,000 y menor de 200,000.
Fíjese que una frase de clasificación (ON ORDER_NUM) especifica varias opciones relativas a clasificación (dos frases SUBFOOT diferentes) y que cada opción tiene su propia frase WHEN.
TABLE FILE CENTORD
HEADING
"Order Revenue"
" "
SUM ORDER_DATE LINEPRICE AS 'Order,Total:'
BY HIGHEST 5 ORDER_NUM
ON ORDER_NUM
SUBFOOT
"--- Order total is less than $200,000 ---"
" "
WHEN LINEPRICE LT 200000;
SUBFOOT
"+++ Order total is greater than or equal to $200,000 +++"
" "
WHEN LINEPRICE GE 200000;
ON TABLE SET PAGE-NUM OFF
ON TABLE SET STYLESHEET *
TYPE=REPORT, GRID=OFF, $
ENDSTYLE
END
La salida es:
WebFOCUS |