Dans cette section : Comment : Référence : |
Vous pouvez produire des totaux pour des lignes ou des colonnes de numéros dans un rapport. Utiliser:
Vous pouvez utiliser des totaux de ligne et de colonne dans les rapports matrice (ce qui sont créés en utilisant une phrase BY et une phrase ACROSS dans votre requête de rapport), renommer des titres de total de ligne ou de colonne et inclure des valeurs calculées dans vos totaux de ligne ou de colonne. Vous pouvez également créer des totaux de ligne en utilisant ACROSS-TOTAL.
Notez que lors de la création de totaux dans un rapport, si un champ est totalisé, le format du total de ligne est le même que le format du champ. Par exemple, si le format du champ CURR_SAL est D12.2M, le format du total de ligne du champ CURR_SAL est aussi D12.2M. En totalisant des champs qui ne sont pas au même format, le format par défaut D12.2 est utilisé pour le total.
Vous pouvez renommer les titres de colonne par défaut en utilisant la phrase AS et aligner les étiquettes des totaux de ligne et de colonne. Pour plus d'informations, consultez Utilisation d'en-têtes, pieds de page, titres et étiquettes.
display_command fieldname AND ROW-TOTAL [alignment][/format] [AS 'name'] display_command fieldname AND COLUMN-TOTAL [alignment][AS 'name']
où :
/R, qui justifie à droite l'étiquette.
/L, qui justifie à gauche l'étiquette.
/C, qui centre l'étiquette.
Notez que ces paramètres d'alignement sont ignorés dans la sortie HTML. Si vous travaillez dans WebFOCUS, pour pouvoir profiter des fonctionnalités d'alignement de colonnes, vous pouvez inclure la commande SET STYLE=OFF dans la requête de rapport ou générer votre sortie au format PDF, ou tout autre format qui prend en charge ces fonctionnalités.
Vous pouvez aussi spécifier les totaux de ligne ou de colonne en utilisant la commande ON TABLE. Les noms de champ sont facultatifs avec COLUMN-TOTAL, et ne peuvent pas être listés avec ROW-TOTAL. Utilisez la syntaxe suivante :
ON TABLE COLUMN-TOTAL [alignment][AS 'name'][field field field] ON TABLE ROW-TOTAL [alignment][/format] [AS 'name']
La requête suivante illustre l'utilisation des commandes ROW-TOTAL et COLUMN-TOTAL. Les étiquettes de total de ligne et de colonne sont « TOTAL » par défaut. Vous pouvez changer ces noms avec une phrase AS.
TABLE FILE SALES SUM RETURNS DAMAGED AND ROW-TOTAL AND COLUMN-TOTAL BY PROD_CODE END
La sortie est :
PROD_CODE RETURNS DAMAGED TOTAL --------- ------- ------- --------- B10 13 10 23 B12 4 3 7 B17 4 2 6 B20 1 2 3 C13 3 0 3 C17 0 0 0 C7 5 4 9 D12 3 2 5 E1 4 7 11 E2 9 4 13 E3 12 11 23 TOTAL 58 45 103
La requête suivante illustre l'utilisation de COLUMN-TOTAL avec la commande ON TABLE.
TABLE FILE EMPLOYEE PRINT CURR_SAL BY LAST_NAME ON TABLE COLUMN-TOTAL END
La sortie est :
LAST_NAME CURR_SAL --------- -------- BANNING $29,700.00 BLACKWOOD $21,780.00 CROSS $27,062.00 GREENSPAN $9,000.00 IRVING $26,862.00 JONES $18,480.00 MCCOY $18,480.00 MCKNIGHT $16,100.00 ROMANS $21,120.00 SMITH $13,200.00 $9,500.00 STEVENS $11,000.00 TOTAL $222,284.00
La requête suivante illustre l'utilisation de ROW-TOTAL et COLUMN-TOTAL dans un rapport matrice (ce qui est créé en utilisant les phrases BY et ACROSS conjointement).
TABLE FILE EMPLOYEE SUM CURR_SAL AND ROW-TOTAL AND COLUMN-TOTAL BY BANK_NAME ACROSS DEPARTMENT END
La sortie est :
DEPARTMENT BANK_NAME MIS PRODUCTION TOTAL ----------------------------------------------------------------------- $40,680.00 $41,620.00 $82,300.00 ASSOCIATED $21,780.00 $42,962.00 $64,742.00 BANK ASSOCIATION $27,062.00 . $27,062.00 BEST BANK . $29,700.00 $29,700.00 STATE $18,480.00 . $18,480.00 TOTAL $108,002.00 $114,282.00 $222,284.00
La requête suivante illustre l'inclusion de la valeur calculée, PROFIT, dans des totaux de ligne et de colonne.
TABLE FILE CAR SUM DCOST RCOST COMPUTE PROFIT/D12=RCOST-DCOST; ROW-TOTAL/L/D12 AS 'TOTAL_COST' BY COUNTRY ON TABLE COLUMN-TOTAL/L AS 'FINAL_TOTAL' END
La sortie est :
COUNTRY DEALER_COST RETAIL_COST PROFIT TOTAL_COST ------- ----------- ----------- ------ --------------- ENGLAND 37,853 45,319 7,466 90,638 FRANCE 4,631 5,610 979 11,220 ITALY 41,235 51,065 9,830 102,130 JAPAN 5,512 6,478 966 12,956 W GERMANY 54,563 64,732 10,169 129,464 FINAL_TOTAL 143,794 173,204 29,410 346,408
Lorsqu'une requête contient un critère de tri ACROSS, chaque valeur ACROSS affiche une colonne pour chaque champ affiché dans la sortie de rapport. Par exemple, dans la requête suivante, chaque état a une colonne pour les unités et une colonne pour les dollars :
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING END
La sortie est :
State CA City U D ----------------------------------------- Los Angeles 298070 3772014 San Francisco 312500 3870258
Lorsque vous spécifiez un total de lignes avec ACROSS, le total de lignes est calculé séparément pour chaque colonne dans chaque groupe ACROSS. Par exemple, dans la requête suivante le total de ligne a une colonne pour les unités et une colonne pour les dollars :
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING ON TABLE ROW-TOTAL END
La sortie est :
State CA TOTAL City U D U D ---------------------------------------------------------- Los Angeles 298070 3772014 298070 3772014 San Francisco 312500 3870258 312500 3870258
Lorsque la requête dispose de plusieurs commandes d'affichage, chaque commande supplémentaire ajoute des colonnes supplémentaires à chaque groupe ACROSS dans la sortie de rapport.
La première colonne du groupe de total de lignes est calculée en ajoutant la première colonne de chaque commande d'affichage dans chaque valeur ACROSS, la seconde colonne ajoute la seconde colonne de chaque commande d'affichage, et ainsi de suite.
Par exemple, la requête suivante contient une commande SUM pour les unités et les dollars et une autre commande SUM pour les unités budgétées et les dollars budgétés. Le total de rangée a une colonne pour la somme des unités et des unités budgétées et une autre colonne pour la somme des dollars et des dollars budgétés :
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY SUM BUDUNITS AS 'BU' BUDDOLLARS AS 'BD' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING ON TABLE ROW-TOTAL END
La sortie est :
State CA TOTAL City U D BU BD BU BD ------------------------------------------------------------------------ Los Angeles 298070 3772014 295637 3669484 593707 7441498 San Francisco 312500 3870258 314725 3916863 627225 7787121
Si les différentes commandes d'affichage ne spécifient pas toutes le même nombre de champs, certaines colonnes ne sont pas représentées dans le total de lignes. Par exemple, dans la requête suivante, la seconde commande SUM a une colonne pour les unités budgétées mais pas pour les dollars budgétés. Pour cette raison, le groupe de total de lignes n'a donc aucune colonne pour les dollars :
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY SUM BUDUNITS AS 'BU' BY CITY ACROSS ST IF ST EQ 'CA' IF BUDUNITS NE MISSING ON TABLE ROW-TOTAL END
La sortie est :
State CA TOTAL City U D BU BU ------------------------------------------------------------ Los Angeles 298070 3772014 295637 593707 San Francisco 312500 3870258 314725 627225
Dans ce cas, vous pouvez utiliser la notation de colonne pour calculer correctement le total de lignes. Par exemple, la requête suivante calcule la colonne de total de ligne en ajoutant les unités, dollars et les colonnes des unités budgétées :
TABLE FILE GGSALES SUM UNITS AS 'U' DOLLARS AS 'D' BY CITY SUM BUDUNITS AS 'BU' BY CITY ACROSS ST COMPUTE TOTAL/I10 = C1 + C2 +C3; AS 'ROW-TOTAL' IF ST EQ 'CA' IF BUDUNITS NE MISSING END
La sortie est :
State CA ROW-TOTAL City U D BU --------------------------------------------------------------- Los Angeles 298070 3772014 295637 4365721 San Francisco 312500 3870258 314725 4497483
Comment : Référence : |
Vous pouvez créer des totaux de ligne pour les valeurs de critère de tri horizontal (ACROSS). Les totaux de ligne des critères de tri horizontal, qui sont identifiés par ACROSS-TOTAL, sont différents des totaux de ligne standards dans la mesure où seules les valeurs des critères de tri horizontal, identifiées par ACROSS, sont comprises dans le total. Les champs pouvant être totalisés sont les champs de nombre entier, de précision unique de point flottant, de précision double de point flottant, condensés et condensés longs.
ACROSS sortfield ACROSS-TOTAL [AS 'name'] [COLUMNS col1 AND col2 ...]
où :
L'exemple suivant illustre comment générer un total de ligne pour les valeurs de critère de tri horizontal (ACROSS). Notez que les valeurs totalisées dans la colonne TOTAL TITLE COUNT ne reflètent que les valeurs dans les colonnes PG et R (RATING). Les valeurs dans la colonne COPIES ne sont pas comprises dans le total parce qu'elles ne sont pas des valeurs de critère de tri horizontal (ACROSS).
TABLE FILE MOVIES SUM COPIES BY CATEGORY COUNT TITLE BY CATEGORY ACROSS RATING ACROSS-TOTAL COLUMNS PG AND R END
La sortie est :
RATING PG R TOTAL TITLE TITLE TITLE CATEGORY COPIES COUNT COUNT COUNT --------------------------------------- ACTION 14 2 3 5 COMEDY 16 4 1 5 DRAMA 2 0 1 1 FOREIGN 5 2 3 5 MUSICALS 2 1 1 2 MYSTERY 17 2 5 7 SCI/FI 3 0 3 3
WebFOCUS |