Matinale Technologique SAS

58
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

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.

Transcript of Matinale Technologique SAS

Page 1: Matinale Technologique SAS

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

Page 2: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 2

Carte d’identité

Page 3: Matinale Technologique SAS

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

Page 4: Matinale Technologique SAS

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

Page 5: Matinale Technologique SAS

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/

Page 6: Matinale Technologique SAS

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

Page 7: Matinale Technologique SAS

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.

Page 8: Matinale Technologique SAS

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

Page 9: Matinale Technologique SAS

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

Page 10: Matinale Technologique SAS

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..

Page 11: Matinale Technologique SAS

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.

Page 12: Matinale Technologique SAS

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.

Page 13: Matinale Technologique SAS

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 ;

Page 14: Matinale Technologique SAS

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;

Page 15: Matinale Technologique SAS

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

Page 16: Matinale Technologique SAS

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

Page 17: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 17

Page 18: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 18

Quelques exemples

Page 19: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 19

Quelques exemples (suite)

Page 20: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 20

Quelques exemples (suite)

Page 21: Matinale Technologique SAS

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)

Page 22: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 22

Le calcul des pourcentages (suite)

Page 23: Matinale Technologique SAS

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.

Page 24: Matinale Technologique SAS

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].

Page 25: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 25

Mise en forme pour l’ODS (suite)

Page 26: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 26

Exemples avec utilisation de l’ODS

Page 27: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 27

Exemple avec utilisation de l’ODS (suite)

Page 28: Matinale Technologique SAS

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

Page 29: Matinale Technologique SAS

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)

Page 30: Matinale Technologique SAS

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

Page 31: Matinale Technologique SAS

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)

Page 32: Matinale Technologique SAS

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

Page 33: Matinale Technologique SAS

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;

Page 34: Matinale Technologique SAS

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

Page 35: Matinale Technologique SAS

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

Page 36: Matinale Technologique SAS

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

Page 37: Matinale Technologique SAS

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

Page 38: Matinale Technologique SAS

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

Page 39: Matinale Technologique SAS

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).

Page 40: Matinale Technologique SAS

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

Page 41: Matinale Technologique SAS

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

Page 42: Matinale Technologique SAS

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

Page 43: Matinale Technologique SAS

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.

Page 44: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 44

Principe

Page 45: Matinale Technologique SAS

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.

Page 46: Matinale Technologique SAS

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.

Page 47: Matinale Technologique SAS

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.

Page 48: Matinale Technologique SAS

www.softcomputing.com Reproduction interdite sans l’accord écrit de Soft Computing 24/06/2014 48

Les options disponibles par destination ODS

Page 49: Matinale Technologique SAS

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.

Page 50: Matinale Technologique SAS

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.

Page 51: Matinale Technologique SAS

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

Page 52: Matinale Technologique SAS

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

Page 53: Matinale Technologique SAS

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

Page 54: Matinale Technologique SAS

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

Page 55: Matinale Technologique SAS

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

Page 56: Matinale Technologique SAS

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

Page 57: Matinale Technologique SAS

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.