Matinale Technologique SAS

1 063 vues

Publié le

SAS et la restitution de données : quelques techniques simples pour mettre en forme vos restitutions à partir de SAS Base.
 
Les directions métiers cherchent des alternatives pour assurer le pilotage durant la phase de carence, et sollicitent de plus en plus les services « concentrateurs d'informations » tels que les études, le datamining, les maîtrises d'ouvrage, les infocentres, … Nous allons vous montrer comment, à partir de fonctions accessibles en SAS Base, vous pouvez valoriser la donnée par une restitution plus pertinente et adaptée aux besoins des métiers, les demandes, variant de simples requêtes ou extractions de données à des rapports mis en formes.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 063
Sur SlideShare
0
Issues des intégrations
0
Intégrations
13
Actions
Partages
0
Téléchargements
22
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Matinale Technologique SAS

  1. 1. Soft Computing – 55, quai de Grenelle – 75015 Paris – tél. +33 (0)1 73 00 55 00 – www.softcomputing.com Matinale Technologique Restitution sous SAS Quelques bonnes pratiques 24 juin 2014
  2. 2. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 2 Carte d’identité
  3. 3. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 3 Continuum de services Concevoir, développer et déployer des solutions CRM, Big Data et Digital performantes, pragmatiques et adaptées Cadrage et Business Case Refonte de processus et conception de systèmes d’informations Architecture et urbanisation Gestion de programmes et de projets Assistance à Maîtrise d’Ouvrage Développement et intégration Recette Change Management et formation Centres de services et Tierce Maintenance Applicative Imaginer, bâtir et opérer des programmes de conquête et de fidélisation cross- canaux, rentables et innovants Stratégie relationnelle : connaissance client marché, conquête, développement et fidélisation, optimisation de l'expérience client Création : design de sites, apps mobiles, emails, pages facebook, mailing, optimisation sites web Technologie : Référentiels Client Unique, bases marketing, moteurs de recommandation, moteur de fidélité, gestion de campagnes marketing, DMP, Business Intelligence, Web analytics, Big Data Exécution et mesure : community management, routage email, sms, push notification mobile, réseaux sociaux et fulfilment, gestion des campagnes marketing et mesure de résultats, gestion de la fidélité, gestion du MDM client Customer Insights : datamining, écoute des réseaux sociaux et enquêtes, SEM SEO, Data quality et conseil fichiers, reporting client-produit-canaux
  4. 4. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 4 Centre de services de gestion des campagnes marketing multicanal. Ecoute et analyse des sentiments des clients sur les réseaux sociaux. Programme relationnel multi-devices. Maintien en conditions opérationnelles et évolution du SI marketing on et offline. Gestion opérationnelle des plates-formes analytiques et marketing ciblé. Dispositif d’acquisition de prospects sur tablette en magasin. Cadrage, conception et déploiement d’un service client pro-actif. Centre de services de datamining, de campagnes ciblées et de diffusion des reportings. Personnalisation en temps réel des contenus et valorisation d’audience. Déploiement d’un outil d’automatisation des forces de ventes. Définition d’une stratégie de Business Intelligence. Applications mobiles et personnalisation. Pilotage de la qualité de l’expérience client. Optimisation des parcours client et du taux de transformation sur Internet. Référentiel client transversal multicanal et multiservice. Extraits de références 2013
  5. 5. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 5 Experts reconnus EnseignerEcrire Echanger http://blog.softcomputing.com/ https://twitter.com/#!/SoftComputing http://www.facebook.com/softcomputing http://www.softcomputing.com/fr/news/ http://fr.slideshare.net/softcomputing http://www.linkedin.com/company/soft- computing http://www.viadeo.com/fr/company/soft- computing https://plus.google.com/+Softcomputing/
  6. 6. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 6 Notre offre BI dans l’environnement SAS Ressources humaines Plus de 50 consultants (Paris-Lille) formés à la suite 9.3 Positionnement MOE / MOA Compétences Références significatives Solution de reporting s’appuyant sur une alimentation en web services Mise en œuvre de la solution d’industrialisation des outils datamining dans le cadre du projet NICE Optimisation des traitements SQL pour de l’exécution in-database sous Teradata Mise en production de traitements SAS dans un environnement Mainframe Mise en œuvre du datamart marketing et industrialisation du référentiel clients Maintenance des applications développées sous SAS pour le marketing client Mise en œuvre de la recette technique dans le cadre de la migration des données de ORACLE vers Teradata Mise en œuvre de la plateforme décisionnelle SAS 9 BI (entreprise BI server) Partenariat SAS Soft Computing est partenaire SAS depuis plus de 15 ans Datamanagement Production de données au travers de la mise en œuvre de datamart, développement d’indicateurs pour les analystes métiers. Mise en œuvre de la recette utilisateur. Mise en œuvre des contrôles de qualité des données. Reporting Mise en œuvre de solution de reporting agile au travers d’application VBA (via SAS add-in for MS Office) et Web (via les processus stockés SAS). Industrialisation des processus analytiques Gestion du cycle de vie des modèles statistiques (validation des modèles, mise en production, retrait). Mise en œuvre de moteur de règles de personnalisation. Industrialisation des modèles datamining dans un environnement de production. Formation et assistance Catalogue de formation utilisateurs et administration, assistance technique Administration de plateforme Mise en œuvre, maintenance et monitoring des processus. Configuration des serveurs, gestion des utilisateurs et des groupes, application de la sécurité, ordonnancement des tâches, maintenance technique. Modules 9.3 SAS® Office Analytics SAS® Visual Data Discovery SAS® Business Intelligence Server SAS® Business Analytics (Entreprise Miner, Stat) SAS® Data Integration Server SAS® Customer Intelligence (MA et MO) SAS® Foundation (Base, Macro, Guide ..) En cours de montée en compétences : SAS® Data Flux SAS® Visual Analytics
  7. 7. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 7 Nos expertises en datamining Expertises Segmentation Pour identifier vos typologies de clients, nous réalisons des segmentations … … Valeur, RFM, comportementale, style de consommation, marché, relationnelle, parcours on et off line… Score Pour permettre d’optimiser les actions, nous développons des scores de … … prospection, rétention, endormissement, appétence (cross sell , up sell, canaux..), cycle d’achat, valeur future … Prévision Afin d’anticiper les actions, nous développons des modèles de … … prévision de vente, prévision de résiliation, prévision d’appels , durée de vie… Webanalytics Pour appréhender le trafic des site web, nous identifions …. …le profil de vos clients digitaux, les parcours créateurs de valeur, les parcours non aboutis …. Analyse des sentiments Pour comprendre les sentiments exprimés par les clients, nous utilisons les techniques de Text Mining pour analyser les champs sémantiques des post sur les réseaux sociaux, ou sur votre site web. Etude géomarketing Pour appréhender la dimension géographique dans les actions, nous réalisons… … des typologies de zone d’implantation , des études d’optimisation des réseaux de points de vente physique…. Fraude Dans le but d’identifier les actions frauduleuses, nous développons des modèles de détection de ces comportements atypiques Etude d’impact Pour mesurer l’efficacité des actions, nous réalisons des études d’impact de …. …programme de fidélisation, déréférencement, lancement d’offre, dispositif de Marketing direct Transformer les données client, en outil opérationnel, permettant d’optimiser et de mieux piloter les actions CRM. A propos Un laboratoire continu de veille, de tests et de benchmarks sur les outils de datamining et les techniques statistiques. Chaque année, investissement sur 1 à 2 méthodes statistiques innovantes.
  8. 8. Soft Computing – 55, quai de Grenelle – 75015 Paris – tél. +33 (0)1 73 00 55 00 – www.softcomputing.com Matinale Technologique Atelier SAS PROC TABULATE 24 juin 2014
  9. 9. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 9 SOMMAIRESOMMAIRE 1. Introduction 2. Définition 3. Syntaxe de base 4. Syntaxe détaillée 5. Quelques exemples 6. Le calcul des pourcentages 7. Mise en forme pour l’ODS 8. Exemples avec utilisation de l’ODS 9. Exemple MULTILABEL et autres options 10.Comparatif entre Proc TABULATE et Proc REPORT
  10. 10. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 10 Introduction Trop souvent méconnue pour sa puissance de customisation, la Proc Tabulate permet de restituer les données au plus proche du format demandé par les métiers. La Proc Tabulate vous permet de réaliser vos reportings SAS sous forme de tableaux croisés simples ou très customisés afin de restituer de nombreuses statistiques (Moyennes, Sommes, Quantiles, Pourcentages, Comptages etc…). Le but de cette présentation est de vous montrer la puissance de restitution par l’utilisation de cette procédure et de nombreuses options de paramétrages..
  11. 11. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 11 Introduction (suite) Nous parlons ici de reporting, c’est-à-dire de mise à disposition d’information. Concrètement, le reporting se compose d’éléments de trois catégories : – des listes, – des tableaux, – des graphiques. L’objectif est de produire tous types de sorties uniquement avec le logiciel SAS. Les listes, les tableaux, les rapports avec SAS l’emploi de trois procédures s’impose : – PRINT, – TABULATE, – REPORT.
  12. 12. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 12 Définition La procédure TABULATE permet de présenter de nombreuses statistiques : – Moyennes, – Sommes, – Quantiles, – Pourcentages, – Comptages. sous forme de tableaux croisés. Si la syntaxe de cette procédure emprunte en partie à la logique de la procédure MEANS (pour les instructions CLASS et VAR), on retrouve dans l’instruction TABLE une logique plus spécifique, et parfois complexe : c’est là qu’on indique l’organisation du tableau proprement dit. Depuis « Enterprise Guide 4.2 » , la Proc TABULATE correspond à la tâche : « Tableau de synthèse » ou « Summary Table » en anglais.
  13. 13. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 13 Syntaxe de base PROC TABULATE DATA = tableLue ; CLASS variables1 ; VAR variables2 ; TABLE (lignes ) , (colonnes) * (cellules) ; RUN ;
  14. 14. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 14 Syntaxe détaillée PROC TABULATE <option(s)>; BY <DESCENDING> variable-1 <…<DESCENDING>variable-n> <NOTSORTED>; CLASS variable(s) </ options>; CLASSLEV variable(s) / STYLE=<style-element-name | PARENT> <[style-attribute-specification(s)] >; FREQ variable; KEYLABEL keyword-1='description-1‘ <…keyword-n='description-n'>; KEYWORD keyword(s) / STYLE=<style-element-name | PARENT> <[style-attribute-specification(s)] >; TABLE <<page-expression,>row-expression,> column-expression</ table-option(s)>; VAR analysis-variable(s)</ options>; WEIGHT variable;
  15. 15. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 15 Syntaxe détaillée (suite) Principales options au niveau de la procédure PROC TABULATE : DATA=fichier-système-SAS, si DATA= est omis, SAS utilise le dernier fichier-système-SAS créé. DEPTH=nombre spécifie la profondeur maximum de croisement d'une dimension d'un tableau si omis DEPTH=10 FORMAT=l.d spécifie la largeur des cellules et le nombre de décimales si omis FORMAT=BEST12.2 FORMCHAR<liste-index>='chaîne' définit les 11 caractères d'encadrement des tableaux MISSING inclut les données manquantes relatives aux variables de classification, nécessaire si l'on ne souhaite pas voir disparaître des observations NOSEPS supprime les lignes de séparation horizontales dans les titres de lignes et le corps des tableaux, ces lignes de séparation restent présentes dans les titres de colonnes ORDER=ordre spécifie l'ordre d'affichage des en-têtes pour les valeurs des variables de classe ORDER=DATA ordre d'apparition dans les données ORDER=FORMATTED ordre selon les formats ORDER=FREQ ordre par fréquences décroissantes ORDER=INTERNAL ordre selon les valeurs internes, telles que données par PROC SORT si ORDER= est omis, ORDER=INTERNAL OUT=fichier-système-SAS en sortie
  16. 16. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 16 Syntaxe détaillée (suite) Principales options au niveau de l'instruction TABLE : BOX=valeur spécifie le texte à placer dans la boîte vide au-dessus des titres de lignes BOX=_PAGE_ texte de la dimension page, si le texte est trop long, alors blanc BOX='chaîne' texte de la chaîne BOX=variable nom ou étiquette de la variable CONDENSE demande de mettre plusieurs pages logiques sur une page physique FUZZ=nombre valeur donnant le degré d'approximation, si omis FUZZ=1E-70 MISSTEXT='texte' 20 caractères maximum à imprimer dans les cellules avec données manquantes PRINTMISS demande d'imprimer même les lignes ne contenant que des données manquantes ROW=espacement allocation d'espaces aux éléments de titre de colonnes ROW=CONST allocation constante, valeur par défaut ROW=FLOAT allocation divisée ègalement entre les éléments non-blancs des titres de lignes RTS=n | RTSPACE=n nombre de positions réservées à l'intitulé de ligne
  17. 17. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 17
  18. 18. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 18 Quelques exemples
  19. 19. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 19 Quelques exemples (suite)
  20. 20. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 20 Quelques exemples (suite)
  21. 21. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 21 Le calcul des pourcentages La procédure TABULATE propose également le calcul de pourcentages. Ceux-ci sont associés à deux séries de trois mots-clés : PCTN, ROWPCTN et COLPCTN d’une part, PCTSUM, ROWPCTSUM et COLPCTSUM d’autre part. Dans la première série, il s’agit de pourcentages calculés en fonction du nombre d’observations (d’où le N final). Dans la seconde série, ce sont des pourcentages calculés sur le total d’une variable mentionnée dans l’instruction VAR. Il peut aussi bien s’agir de variables à totaliser (comme des ventes, par exemple) que d’une pondération si l’on présente les résultats d’une enquête ou d’un sondage. Différents types de pourcentages (PCT, ROWPCT, COLPCT)
  22. 22. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 22 Le calcul des pourcentages (suite)
  23. 23. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 23 Mise en forme pour l’ODS Si on prévoit de récupérer les tableaux résultats dans un document externe à SAS (Word, PDF, Excel, HTML) via l’ODS , on peut préciser toute une série d’options de mise en forme. Elles sont repérées par un mot-clé, STYLE, derrière lequel on retrouvera un signe = et, entre crochets (!) les options et leurs valeurs. On peut ainsi avoir barre sur les polices, les couleurs, les alignements, la prise en compte des espaces à gauche d’une valeur, etc.
  24. 24. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 24 Mise en forme pour l’ODS (suite) L’emplacement de ces instructions de mise en forme dépend étroitement de l’emplacement de la cellule à « décorer » :  en option après un slash dans une instruction CLASS s’il s’agit d’une cellule contenant un label de variable de classification ;  en option après un slash dans une instruction CLASSLEV avec le nom de la variable en question s’il s’agit d’une cellule contenant les valeurs d’une variable de classification ;  en option après un slash dans une instruction VAR s’il s’agit d’une cellule contenant un label de variable de calcul ;  en option après un slash dans une instruction KEYWORD suivie du mot-clé statistique s’il s’agit d’une cellule contenant un nom de statistique ;  enfin, à la suite du mot-clé statistique dans une instruction TABLE, avec une étoile puis, entre crochets, S=[instructions de mise en forme].
  25. 25. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 25 Mise en forme pour l’ODS (suite)
  26. 26. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 26 Exemples avec utilisation de l’ODS
  27. 27. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 27 Exemple avec utilisation de l’ODS (suite)
  28. 28. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 28 Exemple avec MULTILABEL et autres options MULTILABEL = format 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 – Ordonner de façon spécifique les résultats produits • Supportés par les Procédures MEANS, SUMMARY et TABULATE 28
  29. 29. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 29 Le format ordinaire 29 PROC FORMAT; 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; PROC TABULATE DATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION ; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="REGION"; RUN; Seules 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)
  30. 30. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 30 Deux paramètres intéressants : PRELOADFMT et PRINTMISS • PRELOADFMT Paramètre de l'énoncé CLASS Utilise toutes les valeurs du format comme définition des catégories du résultat. • PRINTMISS Paramètre de l'énoncé TABLE Assure la présence de toutes les catégories, même si aucune donnée ne les alimente 30
  31. 31. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 31 Deux paramètres intéressants : PRELOADFMT et PRINTMISS 31 PROC TABULATE DATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION / PRELOADFMT; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="REGION" PRINTMISS; RUN; Toutes les catégories définies dans le format apparaissent. L'ordre est toujours cependant celui des valeurs non formatées (ordre croissant)
  32. 32. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 32 Autre paramètre de CLASS • ORDER=DATA Ordonne les catégories selon l'ordre exact défini par le format, à condition d'avoir utilisé le paramètre NOTSORTED de l'énoncé VALUE 32 Sans ORDER=DATA et NOTSORTED Avec ORDER=DATA et NOTSORTED
  33. 33. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 33 Le programme SAS complet à ce point 33 PROC FORMAT; 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; PROC TABULATE DATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION / PRELOADFMT ORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="RÉGION" PRINTMISS; RUN;
  34. 34. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 34 Avec un format MULTILABEL ... 34 PROC FORMAT; VALUE $PROV_CAN (MULTILABEL 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" " " = " " "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; PROC TABULATE DATA=COMMANDES FORMAT=NLMNY16.; CLASS REGION / MLF PRELOADFMT ORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" ", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="RÉGION" PRINTMISS; RUN; MLF pour Multilabel format
  35. 35. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 35 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. PROC TABULATE DATA=COMMANDES FORMAT=NLMNY16. OUT=SOMMAIRE; CLASS REGION / MLF PRELOADFMT ORDER=DATA; FORMAT REGION $PROV_CAN.; VAR MONTANT; TABLE REGION=" " ALL="TOTAL", MONTANT*(SUM="SOMME" MEAN="MOYENNE") / BOX="RÉGION" PRINTMISS; RUN; 35 À 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
  36. 36. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 36 Même programme que précédemment 36 PROC TABULATE DATA=COMMANDES FORMAT=NLMNY16. OUT=SOMMAIRE; CLASS REGION / MLF PRELOADFMT ORDER=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; PROC FORMAT; VALUE $PROV_CAN (MULTILABEL NOTSORTED) "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
  37. 37. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 37 Autre paramètre de CLASS : EXCLUSIVE 37 PROC TABULATE DATA=COMMANDES FORMAT=NLMNY16. OUT=SOMMAIRE; CLASS REGION / MLF PRELOADFMT ORDER=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; • EXCLUSIVE Contraint les résultats aux seules catégories présentes dans le format • Utilisé conjointement avec PRELOADFMT • Non limité aux formats multi-libellés
  38. 38. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 38 Limites • 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... 38
  39. 39. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 39 Comparatif entre PROC TABULATE et PROC REPORT • TABULATE : la plus simple pour les tableaux réellement croisés, quand il y a une ou plusieurs variables de classification qui apparaissent en colonnes. Elle permet également de présenter les stats sur plusieurs lignes, ce qui n'est pas le cas de Report. Enfin, elle permet simplement des calculs de pourcentages dans tous les sens. • REPORT : plus agréable si la logique du tableau à produire est organisée par lignes. Elle permet de personnaliser les récapitulatifs ("Sous-total des ventes en Europe"), de calculer de nouvelles variables à la volée (en évitant des procédures et des étapes Data intermédiaires. C'est appréciable sur un gros volume de données), de pondérer séparément toutes les variables d'analyse. Enfin, les styles peuvent s'appliquer par cellule, par colonne ou par ligne, de manière conditionnelle (Tabulate ne propose de la mise en forme conditionnelle que par cellule).
  40. 40. Soft Computing – 55, quai de Grenelle – 75015 Paris – tél. +33 (0)1 73 00 55 00 – www.softcomputing.com Matinale Technologique Atelier SAS ODS 24 juin 2014
  41. 41. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 41 SOMMAIRESOMMAIRE 1. Introduction 2. Définition 3. Principe 4. Les unités élémentaires de sorties : les objets ODS 5. Destinations ODS 6. Syntaxe de base 7. Les options 8. Exemple détaillé : la création de classeurs Excel 9. Nouveautés depuis SAS 9.4 10.Pour aller plus loin
  42. 42. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 42 Introduction Depuis la version 8 de SAS, la syntaxe s’est enrichie d’une vaste série d’instructions ODS (Output Delivery System) permettant de produire des sorties de tous formats : tables SAS, pages HTML, documents RTF/Word, documents PDF et PostScript, fichiers XML, etc. Le but de cette présentation est de vous permettre de comprendre l’ODS et de démontrer sa puissance sur l’esthétique dans un exemple avec un fichiers XLS en sortie
  43. 43. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 43 Définition Le fonctionnement de l’ODS s’articule autour de morceaux élémentaires de sorties appelés objets. Chaque objet porte un nom qui aide à le manipuler. Le démarrage d’un document (un fichier) généré par l’ODS se fait à travers une instruction ouvrante ; une instruction de fermeture la complète plus tard dans le programme, une fois qu’une ou plusieurs procédures ont généré le contenu du document. Une destination ODS est un type de fichier que l’ODS sait produire : – table SAS, – document PDF, – fichier HTML, – etc. Pour chaque destination, certaines précautions particulières sont à prendre ; des options spécifiques sont également associées à certaines destinations.
  44. 44. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 44 Principe
  45. 45. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 45 Les unités élémentaires de sorties : les objets ODS Les objets ODS sont la base de la communication entre les procédures et l’ODS. Il s’agit de résultats qui ont été créés par une procédure mais dont la mise en forme n’est pas encore figée. Plusieurs éléments de mise en forme seront associés à cet objet par l’ODS afin de pouvoir l’afficher et le diffuser dans les formats requis par l’utilisateur. Un objet est spécifique à la procédure qui le crée ; il porte un nom qui le caractérise et permet de le manipuler. Ce nom n’est lié qu’à la procédure qui génère l’objet et non pas aux données qui sont lues par la procédure. Récupérer le nom d’un objet requiert des manipulations spécifiques ; c’est une information nécessaire pour deux usages : la diffusion sélective des sorties d’une procédure, et la création d’une table SAS à partir d’une procédure.
  46. 46. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 46 Destinations ODS On appelle destination ODS un type de fichier que SAS sait produire : • pour les sorties SAS dans la fenêtre Output, la destination est LISTING ; • pour les pages web, la destination est HTML ; • pour les documents Word, la destination est RTF ; • pour les documents PDF, la destination est PDF ; • pour les fichiers XML, la destination est MARKUP ou TAGSETS ; • pour les classeurs Excel, la destination est TAGSETS.EXCELXP (ou, pour Excel 2000 et Excel 2002, TAGSETS.MSOFFICE2K) ; • pour les tables SAS, la destination est OUTPUT.
  47. 47. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 47 Syntaxe de base Hormis OUTPUT, les destinations ODS fonctionnent toutes sur la même logique : une instruction fermante répond à une instruction ouvrante. Elles encadrent l’ensemble des traitements (procédures et étapes Data) dont le résultat doit être inclus dans le document produit.
  48. 48. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 48 Les options disponibles par destination ODS
  49. 49. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 49 Exemple détaillé : la création de classeurs Excel Les versions les plus récentes d’Excel (2002 et supérieures) savent lire, en plus des formats XLS et HTML, un format spécifique de fichiers XML (selon une norme développée par Microsoft). SAS peut, depuis la version 9, produire ce genre de fichiers. On utilise pour cela encore l’ODS mais avec une destination appelée TAGSETS.EXCELXP : le fichier produit est plus spécifique à Excel que la destination HTML, et permet de créer de vrais classeurs multi-onglets. La syntaxe de cette destination n’est pas vraiment harmonisée avec le reste de l’ODS. Il est également conseillé d’aller régulièrement sur le site de l’éditeur SAS pour télécharger une nouvelle version du jeu de balises associé à cette destination : il s’agit d’un simple programme SAS à exécuter. Cela permet d’utiliser de nouvelles options et d’obtenir des résultats plus robustes.
  50. 50. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 50 Exemple détaillé : la création de classeurs Excel (syntaxe) On retrouve les options usuelles de l’ODS, comme FILE, STYLE, NEWFILE. Les autres options sont à préciser dans une syntaxe plus inhabituelle, et ces options sont assez nombreuses.
  51. 51. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 51 Exemple détaillé : la création de classeurs Excel (exemple) • Exporter sous différents formats Excel
  52. 52. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 52 Exemple détaillé : la création de classeurs Excel (exemple) • Maintenir le format lors de l’export Excel
  53. 53. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 53 Exemple détaillé : la création de classeurs Excel (exemple) • Définir une donnée par une formule Excel
  54. 54. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 54 Exemple détaillé : la création de classeurs Excel (exemple) • Création de différents onglets Excel
  55. 55. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 55 Exemple détaillé : la création de classeurs Excel (exemple) • Ventilation sur différents onglets Excel
  56. 56. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 56 • Sorties ODS HTML5 et Microsoft PowerPoint. Depuis SAS 9.4, vous disposez de la possibilité de créer des documents HTML en langage HTML5 au moyen d’ODS HTML5. Cette nouvelle destination présente un très grand avantage si vous souhaitez diffuser des graphiques sur Internet afin qu’ils soient consultés au moyen de terminaux mobiles. Depuis SAS 9.4, vous disposez aussi d’une nouvelle destination ODS pour vos sorties : ODS POWERPOINT. Vous allez donc pouvoir produire des documents que vous pourrez présenter avec Microsoft PowerPoint. Nouveautés depuis SAS 9.4
  57. 57. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 57 Nouveautés depuis SAS 9.4 • Accès SAS à partir de périphériques mobiles Souvent, les utilisateurs de rapports SAS sont des cadres de haut niveau en réunion, en voyage, ou d’une manière générale en dehors de leur bureau. Pour répondre aux exigences de ces professionnels, les rapports SAS sont désormais disponibles à partir d'appareils mobiles. Dans SAS Output Delivery System, la nouvelle destination ODS EPUB crée des rapports SAS de type e-books qui fonctionnent de manière optimale avec le lecteur e-book iBooks d'Apple sur iPad, iPhone ou iPod. L’utilisation de l'application mobile BI nécessite une licence SAS Enterprise BI Server. • Améliorer votre sortie SAS L’ODS Report Writing Interface (RWI) permet de créer et de manipuler des objets ODS prédéfinis dans une étape DATA pour créer une sortie personnalisée. Le texte et les listes des objets de sortie ODS peuvent être personnalisés. Les objets de sortie ODS peuvent être organisés exactement comme souhaité sur une page, ou placés dynamiquement en utilisant une structure de grille.
  58. 58. www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 58 Pour aller plus loin www.sas.com http://support.sas.com/documentation/cdl/en/proc/61 895/HTML/default/viewer.htm#tabulate-overview.htm http://support.sas.com/rnd/base/ods/

×