310 likes | 414 Views
LES FORMATS MULTI-LIBELLÉS Présentation de Jacques Pagé STRiCT Technologies Le 1er mai 2007. CLUB DES UTILISATEURS SAS DE QUÉBEC. LES FORMATS MULTI-LIBELLÉS. Apparus en version 8 Complètement fonctionnels en version 9 Se distinguent par les options (multilabel notsorted)
E N D
LES FORMATS MULTI-LIBELLÉS Présentation de Jacques Pagé STRiCT Technologies Le 1er mai 2007 CLUB DES UTILISATEURS SAS DE QUÉBEC
LES FORMATS MULTI-LIBELLÉS • Apparus en version 8 • Complètement fonctionnels en version 9 • Se distinguent par les options(multilabel notsorted) • Servent à appliquer plusieurs libellés à certaines valeurs et à les ordonner de façon spécifique dans les résultats produits • Supportés par les Procédures MEANS, SUMMARY et TABULATE
UN FORMAT ORDINAIRE PROCFORMAT; VALUE $PROV_CAN "NL" = "Terre-Neuve et Labrador" "PE" = "Île-du-Prince-Edouard" "NS" = "Nouvelle Écosse" "NB" = "Nouveau-Brunswick" "QC","PQ"= "Québec" "ON" = "Ontario" "MB" = "Manitoba" "SK" = "Saskatchewan" "AB" = "Alberta" "BC" = "Columbie-Britannique" "YT" = "Yukon" "NT" = "Territoires du Nord-Ouest" "NU" = "Nunavut" ; RUN;
UN FORMAT ORDINAIRE ET SON RÉSULTAT • Seulement les provinces présentes dans les données apparaissent • Ordre établi selon les valeurs non-formatées, i.e. le code de province (défaut pour toutes les Procédures)
LE PROGRAMME SAS PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION ; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="REGION"; RUN;
DEUX PARAMÈTRES INTÉRESSANTS PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION / PRELOADFMT; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="REGION" PRINTMISS; RUN;
ET LE RÉSULTAT ... Toutes les catégories définies dans le format apparaissent. L'ordre est toujours cependant celui des valeurs non formatées(ordre croissant)
PARAMÈTRES DE PROC TABULATE • PRELOADFMTParamètre de l'énoncé CLASSUtilise toutes les valeurs du format comme définition des catégories du résultat.Depuis la version 8, plusieurs énoncés CLASS possibles – à la limite, un par variable • PRINTMISSParamètre de l'énoncé TABLEAssure la présence de toutes les catégories, même si aucune donnée ne les alimente
AUTRE PARAMÈTRE DE L'ÉNONCÉ CLASS • ORDER=DATAOrdonne les catégories selon l'ordre exact défini par le format, à condition d'avoir utilisé le paramètre NOTSORTED de l'énoncé VALUE Avec ORDER=DATA et NOTSORTED Sans ORDER=DATA et NOTSORTED
LE PROGRAMME COMPLET, À CE POINT PROCFORMAT; VALUE $PROV_CAN (NOTSORTED) "NL" = "Terre-Neuve et Labrador" "PE" = "Île-du-Prince-Edouard" "NS" = "Nouvelle Écosse" "NB" = "Nouveau-Brunswick" "QC","PQ"= "Québec" "ON" = "Ontario" "MB" = "Manitoba" "SK" = "Saskatchewan" "AB" = "Alberta" "BC" = "Columbie-Britannique" "YT" = "Yukon" "NT" = "Territoires du Nord-Ouest" "NU" = "Nunavut" ; RUN; PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION / PRELOADFMTORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="RÉGION"PRINTMISS; RUN;
ET LE FORMAT MULTI-LIBELLÉ... PROCFORMAT; VALUE $PROV_CAN (MULTILABELNOTSORTED) "NL" = "Terre-Neuve et Labrador" "PE" = "Île-du-Prince-Edouard" "NS" = "Nouvelle Écosse" "NB" = "Nouveau-Brunswick" "QC","PQ"= "Québec" "ON" = "Ontario" "MB" = "Manitoba" "SK" = "Saskatchewan" "AB" = "Alberta" "BC" = "Columbie-Britannique" "YT" = "Yukon" "NT" = "Territoires du Nord-Ouest" "NU" = "Nunavut" " " = " " "NB","NL","NS","PE" = "MARITIMES" "ON","QC","PQ" = "ONTARIO ET QUÉBEC" "BC","AL","SK","MB" = "OUEST DU CANADA" "NT","NU","YT" = "YUKON ET TERRITOIRES" ; RUN;
ET LE PROGRAMME QUI L'EXPLOITE PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION / MLFPRELOADFMTORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="RÉGION"PRINTMISS; RUN; MLF pour Multilabel format
AUTRE AVANTAGE Lorsque la Procédure est utilisée pour créer une table sommaire, le format multi-libellé contrôle aussi bien la présence et l'ordre des catégories que dans le tableau produit. PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16. OUT=SOMMAIRE; CLASS REGION / MLFPRELOADFMTORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" " ALL="TOTAL", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="RÉGION"PRINTMISS; RUN;
TABLE SOMMAIRE À noter : les valeurs de la variable catégorielle sont réellement formatées, elles ne sont pas simplement associées au format qui les a créées, ce qui est le cas lorsqu'on utilise un format ordinaire
POURQUOI UTILISER PROC TABULATE PLUTÔT QUE PROC SUMMARY POUR PRODUIRE UNE TABLE SOMMAIRE ? À CAUSE DES POURCENTAGES !!!
POURCENTAGES : LE PROGRAMME PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16. OUT=SOMMAIRE; CLASS REGION / MLFPRELOADFMTORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" " ALL="TOTAL", MONTANT*(SUM="SOMME" REPPCTSUM="% SOMME"*F=NLNUM6.2 MEAN="MOYENNE") / BOX="RÉGION"PRINTMISS; RUN;
AUTRE PARAMÈTRE DE L'ÉNONCÉ CLASS • EXCLUSIVEContraint les résultats aux seules catégories présentes dans le format • Uitilisé conjointement avec PRELOADFMT • Non limité aux formats multi-libellés
FORMAT PARTIEL PROCFORMAT; VALUE $PROV_CAN (MULTILABELNOTSORTED) "QC","PQ"= "Québec" "ON" = "Ontario" "MB" = "Manitoba" "SK" = "Saskatchewan" "AB" = "Alberta" "BC" = "Columbie-Britannique" "YT" = "Yukon" "NT" = "Territoires du Nord-Ouest" "NU" = "Nunavut" " " = " " "ON","QC","PQ" = "ONTARIO ET QUÉBEC" "BC","AL","SK","MB" = "OUEST DU CANADA" "NT","NU","YT" = "YUKON ET TERRITOIRES" ; RUN; Maritimes exclues
MÊME PROGRAMME QUE VU RÉCEMMENT PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16. OUT=SOMMAIRE; CLASS REGION / MLFPRELOADFMTORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" " ALL="TOTAL", MONTANT*(SUM="SOMME" REPPCTSUM="% SOMME"*F=NLNUM6.2 MEAN="MOYENNE") / BOX="RÉGION"PRINTMISS; RUN;
PARAMÈTRE EXCLUSIVE AJOUTÉ PROCTABULATEDATA=COMMANDES FORMAT=NLMNY16. OUT=SOMMAIRE; CLASS REGION / MLFPRELOADFMTORDER=DATA EXCLUSIVE; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" " ALL="TOTAL", MONTANT*(SUM="SOMME" REPPCTSUM="% SOMME"*F=NLNUM6.2 MEAN="MOYENNE") / BOX="RÉGION"PRINTMISS; RUN;
FORMATS MULTI-LIBELLÉS ET PROC MEANS / SUMMARY PROCSUMMARYDATA=COMMANDES NWAY; CLASS REGION / MLFPRELOADFMTORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; OUTPUTOUT=SOMMAIRE MEAN=MOYENNE SUM=SOMME; RUN; Même énoncé CLASS qu'avec PROC TABULATE
FORMATS MULTI-LIBELLÉS ET PROC MEANS / SUMMARY Seulement les provinces avec données apparaissent, et pas de regroupements
LE PARAMÈTRE COMPLETETYPES PROCSUMMARYDATA=COMMANDES NWAYCOMPLETETYPES; CLASS REGION / MLFPRELOADFMTORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; OUTPUTOUT=SOMMAIRE MEAN=MOYENNE SUM=SOMME; RUN; Ce paramètre force les catégories vides, ou croisements de catégories vides à apparaître dans le résultat, de façon analogue au paramètre PRINTMISS de PROC TABULATE. Un incontournable avec les formats multi-libellés !
LA PROCÉDURE REPORT • Supporte les paramètres PRELOADFMT, ORDER=DATA et EXCLUSIVE par l'énoncé DEFINE • Supporte les paramètres COMPLETEROWS et COMPLETECOLS, analogues aux paramètres PRINTMISS et COMPLETETYPES • Le paramètre MLF n'est malheureusement pas supporté, encore ???
LIMITATIONS • Un format imbriqué ne peut être pris en charge par le paramètre PRELOADFMT • Seules les Procédures MEANS, SUMMARY et TABULATE peuvent exploiter ces formats,REPORT serait certainement bienvenu...
PRÉSENTATION DISPONIBLE SUR LE SITE WEB DE STRiCT TECHNOLOGIES • strictt.com Réalisée avec OpenOffice.Org Impress