View
408
Download
1
Category
Preview:
DESCRIPTION
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.
Citation preview
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
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 2
Carte d’identité
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
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
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 5
Experts reconnus
Enseigner
Ecrire
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/
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
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.
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
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 9
SOMMAIRE SOMMAIRE
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
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..
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.
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.
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 ;
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;
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
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
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 17
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 18
Quelques exemples
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 19
Quelques exemples (suite)
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 20
Quelques exemples (suite)
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)
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 22
Le calcul des pourcentages (suite)
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.
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].
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 25
Mise en forme pour l’ODS (suite)
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 26
Exemples avec utilisation de l’ODS
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 27
Exemple avec utilisation de l’ODS (suite)
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
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)
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
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)
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
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;
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
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
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
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
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
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).
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
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 41
SOMMAIRE SOMMAIRE
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
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
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.
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 44
Principe
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.
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.
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.
www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 48
Les options disponibles par destination ODS
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.
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.
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
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
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
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
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
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
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.
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/
Recommended