Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > ODS et reporting
ODS et reporting Forum d'entraide sur les fonctionnalités de reporting de SAS : gérer les sorties et graphiques de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 19/01/2012, 12h36   #1
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
Par défaut Excel format numérique

Bonjour,

Connaissez-vous un format numérique avec 2 décimales d'affichées, qui peut être exploitable sous excel sans modification manuelle (Format non stocké en format texte sous excel, facilement cumulable sous excel lors de la supperposition des cellules). Les formats Numx10.2 et Nlnum10.2 sont lisibles sous excel mais pas exploitables directement sans modifications manuelles.

Merci.
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 14h42   #2
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
Hello,
Comment tu export tes données vers Excel? ODS + proc ? proc export ? DDE ?
tes données dans SAS sont sous quel format? et quel type ( char, num)?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/01/2012, 17h37   #3
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
Regarde plutôt les options d'Excel car le problème vient de lui. Peux-tu regarder Outils> Options> International car c'est là que Excel comprend qu'un point ou une virguel est une marque de décimale.
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 10h09   #4
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
J'exporte mes données via un ods tagset ExcelXp -> Proc report.
Les utilisateurs ne souhaitent pas modifier les options d'excel. Pour eux le pb provient de sas.
Le format 10.2 permet de faire ce que je souhaite sauf que les décimales sont affichées que si elles existent (pas propre).
Si je fais une proc format Picture, les formats numériques sont affichées sous excel mais mises en "erreur" (petit triangle vert au haute à gauche de chacune des cellules). Du coup pas de possibilité d'afficher des sommes en surlignant les cellules.
Les cellules vides sont mises à "" via une définition dans une proc format: value cnt . = ' '
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 10h21   #5
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Si tu exportes via l'ODS alors il faut recourir aux options de style TAGATTR pour indiquer des formats de cellule Excel. Tu ne dépendras pas de ce que le tagsets écrit réellement comme valeurs et tes formats SAS ne viendront pas compliquer l'affaire.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 10h27   #6
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
Hello,
essaies ceci :
tu laisses le format en W.d et tu rajoutes cette option:
Code :
1
2
 
ctrydecimaleseparator=',';
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 10h28   #7
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Pas sûr que cette option résolve le besoin d'afficher systématiquement 2 décimales, y compris si ce sont deux zéros.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 11h44   #8
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
cette option est pratique mais le style
Code :
style(COLUMN)=[TAGATTR="format:## ###,00" ] ;
est tronqué sous excel en format ##\ # ### #00 du coup il n'y a plus les décimales d'afficher par défaut sans changement manuel
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 11h50   #9
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
désolée, l'option ctrydecimaleseparator=',' avec le format w.d ne m'arrange pas non plus les décimales ne sont pas forcées à 2 décimales après la virgule
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 12h24   #10
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
Citation:
Envoyé par saslzas Voir le message
J'exporte mes données via un ods tagset ExcelXp -> Proc report.
Les utilisateurs ne souhaitent pas modifier les options d'excel. Pour eux le pb provient de sas.
Le format 10.2 permet de faire ce que je souhaite sauf que les décimales sont affichées que si elles existent (pas propre).
Si je fais une proc format Picture, les formats numériques sont affichées sous excel mais mises en "erreur" (petit triangle vert au haute à gauche de chacune des cellules). Du coup pas de possibilité d'afficher des sommes en surlignant les cellules.
Les cellules vides sont mises à "" via une définition dans une proc format: value cnt . = ' '
Bah tu dis à tes USERS que EXCEL n'accepte pas des valeurs décimale de type ,00 dans les valeurs numérique car mathématiquement sa revient à une valeur de type ENTIER
essaies toi même de sairir des valeurs dans Excel avec ,00 tu verra ce que Excel va faire.
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 13h01   #11
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 828
Points : 2 828
Assez curieusement le format de cellule à indiquer dans TAGATTR utilise un point comme séparateur décimal.
Code :
1
2
3
4
5
6
7
8
9
ODS TAGSETS.ExcelXP FILE="c:\temp\test tagattr.xls" ;
PROC REPORT DATA=sashelp.prdsale NOWD ;
  COLUMNS country product actual predict ;
  DEFINE country / GROUP ;
  DEFINE product / GROUP ;
  DEFINE actual / ANALYSIS SUM STYLE(COLUMN)=[TAGATTR="format:## ###.00" ] ;
  DEFINE predict / ANALYSIS SUM STYLE(COLUMN)=[TAGATTR="format:## ###.00" ] ;
RUN ;
ODS TAGSETS.ExcelXP CLOSE ;
Est-ce que ça fonctionne aussi sur tes données, ta version d'Excel et du Tagsets ?
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/01/2012, 13h45   #12
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
Merci Olivier. Avec ce format ca fonctionne et les données sont restituées proprement.
Je suis d'accord c'est assez curieux que ca fonctionne avec le "." il est même conseillé de mettre comme format un "0" avant le . pour éviter d'avoir juste les décimales d'affichées
(format:## ### ##0.00").
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 13h56   #13
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
En plus de ce format, il faut aussi laisser le format créé mettant les valeurs manquantes en " " et non en "."
exemple:
Code :
1
2
3
4
5
6
7
8
9
10
proc format;
   value cnt .     = ' '
            other  = [18.2];
run;
proc report;
...
   define  MONTANT/sum  format=cnt.
      style(COLUMN)=[TAGATTR="format:## ### ##0.00" ] ;  
...
run;
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h04   #14
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
as tu essayé avec
Code :
1
2
 
 OPTION missing='';
au lieu de passer par la proc format ?
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/01/2012, 14h09   #15
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
Oui, c'est pour ça que je fais un format supplémentaire. Ca ne fonctionne pas avec missing=' '
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 09h51   #16
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
Citation:
Envoyé par saslzas Voir le message
Oui, c'est pour ça que je fais un format supplémentaire. Ca ne fonctionne pas avec missing=' '
Bizarre ,
pour moi les valeurs manquantes sont initié à ''
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
OPTION missing='';
DATA test_v_manquantes ;
SET sashelp.prdsale;
IF product='TABLE' then do;
actual=.;
predict='.';end;
run;
 
ODS TAGSETS.ExcelXP FILE="C:\temp\test tagattr.xls" ;
PROC REPORT DATA=test_v_manquantes  NOWD ;
  COLUMNS country product actual predict ;
  DEFINE country / GROUP ;
  DEFINE product / GROUP ;
  DEFINE actual / ANALYSIS SUM STYLE(COLUMN)=[TAGATTR="format:## ###.00" ] ;
  DEFINE predict / ANALYSIS SUM STYLE(COLUMN)=[TAGATTR="format:## ###.00" ] ;
RUN ;
ODS TAGSETS.ExcelXP CLOSE ;
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 10h15   #17
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
Effectivement, j'ai retesté cette option fonctionne. Merci.
Par contre il y a un autre problème: une fois le fichier .Xls restitué, si l'on somme 2 valeurs manquantes nous avons un code erreur "#VALEUR!" au lieu de 0.
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 10h20   #18
Modérateur
 
Homme Samir SELMANE
Consultant en Business Intelligence
Inscription : février 2011
Messages : 1 012
Détails du profil
Informations personnelles :
Nom : Homme Samir SELMANE
Localisation : France

Informations professionnelles :
Activité : Consultant en Business Intelligence
Secteur : Conseil

Informations forums :
Inscription : février 2011
Messages : 1 012
Points : 1 717
Points : 1 717
Manquantes et ZERO c'est deux choses différentes.

donc il faut mettre :
s_a_m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/01/2012, 10h27   #19
Invité de passage
 
Consultant en BI & Datamining
Inscription : novembre 2011
Messages : 14
Détails du profil
Informations professionnelles :
Activité : Consultant en BI & Datamining
Secteur : Conseil

Informations forums :
Inscription : novembre 2011
Messages : 14
Points : 4
Points : 4
je voudrais que sous Excel la valeur manquante ne soit pas affichée (nous sommes bien d'accord elle doit etre différente de 0), en revanche sous excel quand nous sommons deux valeurs "vides" nous devons pas avoir #VALEUR!" mais 0. Le "#VALEUR!" apparait que quand nous sommons deux valeurs "vides" restituées par SAS.
saslzas est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 02h33.


 
 
 
 
Partenaires

Hébergement Web