Création de colonnes récapitulatives pour des champs de tri horizontal

Comment :

Référence :

Les commandes récapitulatives SUBTOTAL, SUB-TOTAL, SUMMARIZE et RECOMPUTE peuvent être utilisées avec des sauts de tri horizontal.

Quand une requête a plusieurs champs d'affichage et un champ de tri ACROSS, la sortie de rapports à plusieurs colonnes sous chaque valeur ACROSS. Si vous voulez appliquer un champ résumé à certaines colonnes pour chaque valeur ACROSS, mais pas à d'autres, vous pouvez spécifier les noms de champ que vous voulez résumer. Cette technique est la plus utile pour des requêtes de rapport utilisant la phrase OVER pour placer les champs sur des lignes séparées


Haut de page

x
Syntaxe : Créer une colonne récapitulative pour un critère de tri horizontal
{ACROSS|ON} acrossfield [AS 'text1'] sumoption [AS 'text2']
             [COLUMNS c1 [AND c2 ...]]

ou

ACROSS acrossfieldsumoption [field1field2 ... fieldn]

ou

ACROSS acrossfield
ON acrossfieldsumoption [field1field2 ... fieldn]

où :

acrossfield
Est le champ ACROSS pour lequel vous voulez générer l'option récapitulative. La fin des valeurs du champ ACROSS déclenche l'opération récapitulative.
sumoption
Peut être l'une des commandes suivantes : SUBTOTAL, SUB-TOTAL, RECOMPUTE, ou SUMMARIZE.
'text1'
Est l'en-tête de colonne à utiliser pour le champ de saut dans la sortie de rapport.
'text2'
est le texte qui s'affiche au-dessus de la colonne récapitulative.
COLUMNSc1, c2 ...
Liste les valeurs ACROSS spécifiques que vous voulez afficher dans la sortie de rapport dans l'ordre voulu. Cette liste de valeurs ne peut être spécifiée dans une phrase ON. Si elle est spécifiée dans une expression ACROSS, elle doit être la dernière option spécifiée dans l'expression ACROSS.
field1 field2 ... fieldn

Sont les champs qui auront la commande résumé appliquée. Si aucun champ n'est listé, tous les champs seront résumés. „


Haut de page

x
Référence : Notes d'utilisation pour des résumés dans des champs ACROSS


Exemple : Utilisation de commandes récapitulatives avec ACROSS

La requête suivante additionne unités et dollars et calcule le coût unitaire par produit et en fonction de la région et du mois. La commande ACROSS MNTH RECOMPUTE crée des totaux pour les unitées et les dollars et recalcule la valeur calculée des mois sélectionnés au sein des régions. La commande ACROSS REGION RECOMPUTE effectue la même opération pour les régions sélectionnées. La commande ON TABLE SUMMARIZE crée des rangées récapitulatives. Elle n'a aucune effet sur les colonnes :

DEFINE FILE GGSALES
MNTH/MTr   = DATE;
END
TABLE FILE GGSALES
SUM
 UNITS/I5 AS 'UNITS'                   OVER
 DOLLARS/I6 AS 'DOLLARS'               OVER
 COMPUTE DOLLPER/I6 = DOLLARS/UNITS; AS 'UNIT COST'
BY PRODUCT
ACROSS REGION RECOMPUTE AS 'Region Sum' COLUMNS 'Northeast' AND 'West'
ACROSS MNTH   RECOMPUTE AS 'Month Sum' COLUMNS 'November' AND 'December'
WHERE DATE FROM '19971101' TO '19971231';
WHERE PRODUCT EQ 'Capuccino' OR 'Espresso';
ON TABLE SUMMARIZE AS 'Grand Total'END

La sortie est :



Exemple : Effectuer le sous-total d'un champ au sein d'un groupe ACROSS

La requête suivante sur la source de données GGSALES fait la somme des champs DOLLARS et UNITS par CATEGORY et dans REGION, mais n'effectue de sous-totaux que sur le champ UNITS.

TABLE FILE GGSALES                       
SUM DOLLARS AS 'Dollars' OVER
UNITS AS 'Units'
  BY CATEGORY                            
  ACROSS REGION SUBTOTAL UNITS          
WHERE REGION EQ 'Midwest' OR 'West'    
ON TABLE SET PAGE NOPAGE
END

La sortie montre que seuls les sous-totaux des lignes avec les valeurs UNITS sont effectués.

                      Region                                 
                      Midwest      West         TOTAL        
Category                                                     
-------------------------------------------------------------
Coffee       Dollars   4178513      4473517                  
             Units      332777       356763       689540     
Food         Dollars   4338271      4202337                  
             Units      341414       340234       681648     
Gifts        Dollars   2883881      2977092                  
             Units      230854       235042       465896     


Exemple : Résumer une valeur calculée dans un groupe ACROSS

La requête suivante sur la source de données GGSALES fait la somme des champs DOLLARS et UNITS et fait le calcul de DOLLARS PER UNIT dans REGION. La requête a aussi un champ de niveau supérieur ACROSS, CATEGORY, et donc la commande SUMMARIZE se propage sur les deux champs ACROSS.

SET BYPANEL = ON                         
TABLE FILE GGSALES                       
SUM DOLLARS AS 'Dollars' UNITS AS 'Units'
AND COMPUTE DPERU/D9.2 = DOLLARS/UNITS;  
  ACROSS CATEGORY                        
  ACROSS REGION                          
  ON REGION SUMMARIZE DPERU              
  WHERE REGION EQ 'Midwest' OR 'West'    
  WHERE CATEGORY EQ 'Food' OR 'Gifts'    
  ON TABLE PCHOLD FORMAT PDF
END                                      

Le premier panneau de sortie montre :

PAGE   1.1                                                                
                                                                          
                                                                          
         Category                                                         
         Food                                   Gifts                     
         Region                                                           
         Midwest      West         TOTAL        Midwest      West         
------------------------------------------------------------------------- 
Dollars      4338271      4202337                   2883881      2977092  
Units         341414       340234                    230854       235042  
DPERU          12.71        12.35        12.53        12.49        12.67  

Le second panneau a la colonne total pour la catégorie Gifts et la colonne total général. Chacune d'entre elles a seulement une valeur dans la ligne DPERU.

 PAGE   1.2                        
                                   
                                   
         Category                  
                       TOTAL       
         Region                    
          TOTAL                    
 ----------------------------------
 Dollars                           
 Units                             
 DPERU          12.58        12.55                                   


Exemple : Utiliser des Opérateurs de préfixe dans une commande Résumé avec ACROSS

La requête suivante sur la source de données GGSALES fait la somme des champs DOLLARS et UNITS avec ACROSS CATEGORY et ACROSS REGION, avec une commande SUMMARIZE sur le champ REGION. La requête a aussi un champ de niveau supérieur ACROSS, CATEGORY, et donc la commande SUMMARIZE se propage sur les deux champs ACROSS. La commande SUMMARIZE spécifie AVE. opérateur de préfixe pour le champ DOLLARS.

SET BYPANEL = ON                     
TABLE FILE GGSALES                   
SUM DOLLARS AS 'Dollars' OVER        
UNITS AS 'Units'                     
  ACROSS CATEGORY       
  ACROSS REGION                      
  ON REGION SUMMARIZE AVE. DOLLARS   
  WHERE REGION EQ 'Midwest' OR 'West'
  WHERE CATEGORY EQ 'Food' OR 'Gifts'
  ON TABLE PCHOLD FORMAT PDF
END                                  

Le premier panneau de sortie montre :

PAGE   1.1                                                               
                                                                         
                                                                         
         Category                                                        
         Food                                   Gifts                    
         Region                                                          
         Midwest      West         TOTAL        Midwest      West        
-------------------------------------------------------------------------
Dollars    4338271      4202337      4270304      2883881      2977092   
Units       341414       340234                    230854       235042   

Le second panneau a la colonne total pour la catégorie Gifts et la colonne total général. Chacune d'entre elles a seulement une valeur dans la ligne DOLLARS.

PAGE   1.2                        
                                  
                                  
        Category                  
                      TOTAL       
        Region                    
         TOTAL                    
----------------------------------
Dollars    2930486      3600395   
Units                             


Exemple : Utiliser des combinaisons de commandes Résumé ACROSS

La requête suivante sur la source de données GGSALES fait la somme des champs DOLLARS et UNITS avec ACROSS CATEGORY et ACROSS REGION, avec une commande SUMMARIZE sur le champ REGION et une commande SUBTOTAL sur le champ CATEGORY. La commande SUMMARIZE spécifie la moyenne DOLLARS et le minimum UNITS. La commande SUBTOTAL spécifié le minimum DOLLARS.

SET BYPANEL = ON                             
TABLE FILE GGSALES                           
SUM DOLLARS AS 'Dollars' OVER                
UNITS AS 'Units'                             
  ACROSS CATEGORY                            
  ACROSS REGION                              
    ON CATEGORY SUBTOTAL  MIN.DOLLARS         
    ON REGION SUMMARIZE AVE.DOLLARS MIN.UNITS
  WHERE REGION EQ 'Midwest' OR 'West'        
  WHERE CATEGORY EQ 'Food' OR 'Gifts'        
END                                          

Sur la sortie, toutes les colonnes TOTAL ont le minimum UNITS. Les colonnes TOTAL associées avec le champ de tri REGION ont la moyenne DOLLARS, mais la colonne TOTAL associée avec le champ de tri CATEGORY a le minimum DOLLARS parce que SUMMARIZE ne change pas l'opérateur de préfixe associé avec un champ de tri de niveau supérieur.

PAGE   1.1                                                               
                                                                         
                                                                         
         Category                                                        
         Food                                   Gifts                    
         Region                                                          
         Midwest      West         TOTAL        Midwest      West        
-------------------------------------------------------------------------
Dollars    4338271      4202337      4270304      2883881      2977092   
Units       341414       340234       340234       230854       235042   
PAGE   1.2                        
                                  
                                  
        Category                  
                      TOTAL       
        Region                    
         TOTAL                    
----------------------------------
Dollars    2930486      2883881   
Units       230854       230854   

WebFOCUS