Comment : Référence : |
Vous pouvez utiliser les commandes RECAP et COMPUTE afin de créer des valeurs de sous-total dans un calcul. Les valeurs de sous-total ne s'affichent pas. Seul le résultat du calcul s'affiche dans le rapport.
Les commandes RECAP et COMPUTE ont les deux une syntaxe similaire à celle d'autres commandes de sous-total.
{BY|ON} fieldname1 {RECAP|COMPUTE} fieldname2[/format] = expression; [WHEN expression;]
où :
Est le champ dans la phrase BY. Chaque fois que le champ BY change de valeur, une nouvelle valeur RECAP est calculée.
Est le nom de champ comprenant le résultat de l'expression.
Peut être tout format valable. Le format par défaut est D12.2.
peut être une expression valable, comme le décrit Utilisation d'expressions. L'expression doit terminer par un point virgule.
Ne peut être utilisée qu'avec RECAP. Elle spécifie l'affichage conditionnel des lignes RECAP, comme le spécifie une expression booléenne (consultez Affichage conditionnel de lignes et de texte récapitulatifs. L'expression doit terminer par un point virgule.
ON fieldname RECAP field1/format= ... ;field2/format= ... ; . . .
La requête suivante illustre l'utilisation de la commande RECAP (DEPT_NET) pour déterminer les profits nets de chaque service :
TABLE FILE EMPLOYEE SUM DED_AMT AND GROSS BY DEPARTMENT BY PAY_DATE ON DEPARTMENT RECAP DEPT_NET/D8.2M = GROSS-DED_AMT; WHEN PAY_DATE GT 820101 END
La sortie est :
DEPARTMENT PAY_DATE DED_AMT GROSS ---------- -------- ------- ----- MIS 81/11/30 $1,406.79 $2,147.75 81/12/31 $1,406.79 $2,147.75 82/01/29 $1,740.89 $3,247.75 82/02/26 $1,740.89 $3,247.75 82/03/31 $1,740.89 $3,247.75 82/04/30 $3,386.73 $5,890.84 82/05/28 $3,954.35 $6,649.50 82/06/30 $4,117.03 $7,460.00 82/07/30 $4,117.03 $7,460.00 82/08/31 $4,575.72 $9,000.00 ** DEPT_NET $22,311.98 PRODUCTION 81/11/30 $141.66 $833.33 81/12/31 $141.66 $833.33 82/01/29 $1,560.09 $3,705.84 82/02/26 $2,061.69 $4,959.84 82/03/31 $2,061.69 $4,959.84 82/04/30 $2,061.69 $4,959.84 82/05/28 $3,483.88 $7,048.84 82/06/30 $3,483.88 $7,048.84 82/07/30 $3,483.88 $7,048.84 82/08/31 $4,911.12 $9,523.84 ** DEPT_NET $27,531.14
Vous pouvez inclure des commandes RECAP ou COMPUTE multiples dans une requête. Cette option vous permet d'effectuer différents calculs à différents ruptures de contrôle.
La requête suivante illustre l'utilisation de commandes RECAP multiples.
TABLE FILE SALES SUM UNIT_SOLD AND RETURNS WHERE AREA EQ 'U' BY DATE BY AREA BY PROD_CODE ON DATE RECAP DATE_RATIO=RETURNS/UNIT_SOLD; ON AREA UNDER-LINE RECAP AREA_RATIO=RETURNS/UNIT_SOLD; END
La sortie est :
DATE AREA PROD_CODE UNIT_SOLD RETURNS ---- ---- --------- --------- ------- 10/17 U B10 30 2 B17 20 2 B20 15 0 C17 12 0 D12 20 3 E1 30 4 E3 35 4 ** AREA_RATIO .09 ** DATE_RATIO .09 ------------------------------------------ 10/18 U B10 13 1 ** AREA_RATIO .08 ** DATE_RATIO .08 ------------------------------------------ 10/19 U B12 29 1 ** AREA_RATIO .03 ** DATE_RATIO .03 ------------------------------------------
WebFOCUS |