IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ODS et reporting Discussion :

ODS variable tronquée


Sujet :

ODS et reporting

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Data Manager
    Inscrit en
    Novembre 2012
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Data Manager

    Informations forums :
    Inscription : Novembre 2012
    Messages : 52
    Points : 33
    Points
    33
    Par défaut ODS variable tronquée
    Bonjour,

    je cherche à personnaliser l'export d'un fichier excel et lors de l'export du fichier, les variables NRID et NNI sont tronquées bizarrement.
    Je m'explique:
    La variable contient : 23089093195752
    la variable de sortie est : 23089093000000
    C'est assez étrange...

    Si également, quelqu'un aurait la solution d'exporter ce fichier en XLS, ce serait génial.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    ods tagsets.excelxp options(frozen_headers = "Yes" sheet_name="PP_mutuelle_&semaine.") 
    file="\\gie.Root.ad\dfs/SelectHebdo_Sem_&semaine._20151.xml"  ; 
     
        proc report data=PP_mutuelle_opale_&semaine. 
        style(report)=  [frame       = hsides
                      background  = white
                      cellspacing = 0
                      borderwidth = .2cm] 
    	style(column)= [font_size   = 11pt
    					background  = white
                      font_face   = "calibri"
                      cellwidth   = 7 cm
                      just        = center ]
      	style(header)=[background  = cx99ccff
                      font_size   = 11pt
                      font_face   = "calibri"
                      font_weight = bold
    				  frame= below 
    				  Just=center];
    columns   
    nrid_personne
    Ref_interne_CRM
    Ref_CVG
    Departement
    civilite
    Nom
    Prenom
    Date_de_naissance
    adresse
    adresse2
    adresse3
    code_postal
    Ville
    email
    Telephone
    Telephone_mobile
    campagne_Reunica_correspondante 
    Partenaire
    Zone_emploi
    Code_Insee;
    define campagne__correspondante  / display "Campagne  Correspondante" style(column)=[cellwidth   = 6 cm];run;
    ods tagsets.excelxp close;

    Lorsque j'exporte le fichier avec la requete ci-dessous, je n'ai aucun probleme sur les variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PROC EXPORT DATA= WORK.FICHIER_INTEGRATION_MO1
                OUTFILE="\\gie.Root.ad\dfs\PPCibles_20151_sem&semaine..xls" 
                dbms=excelcs
                REPLACE;
    server=&serveur_pcf;
    port= &port_pcf;
    sheet="Feuil1";
     
     RUN;
    Merci d'avance.

  2. #2
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Je te propose cette solution.

    1/ convertir la variable si elle est numérique en caractère.
    2/ positionner tagattr="type:String"
    3/ générer un fichier xml
    4/ convertir le fichier xml en xls

    voici comment j'ai procédé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    data test;
    input var;
    cards;
    23089093195752
    ;
    run;
    data test1 (drop=var
                rename=(va=valeur)
                );
    set test;
    va=put(var, 20.);
     
    run;
    ods tagsets.excelxp file="c:\sas\temp.xml" style=styles.normal;
     proc report data=test1 nowd 
        ;
    column valeur; 
    define valeur / "var"   style(column)={tagattr="type:String"};
    run;
    ods tagsets.excelxp close;
     
    options noxsync noxwait;
     
     
    %macro test(default=c:\sas\,store=c:\temp\temp.vbs,ext=xml);
     data _null_;
     file "&store";
     put " Dim oXL ";
     put " Dim oFolder";
     put " Dim aFile";
     put " Dim FSO";
     put " Set oXL = CreateObject(""Excel.Application"")";
     put " Set FSO = CreateObject(""Scripting.FileSystemObject"")";
     put " oXL.DefaultFilePath = ""&default""";
     put " oXL.DisplayAlerts = False";
     put " if FSO.FolderExists(oXL.DefaultFilePath) then";
     put " Set oFolder = FSO.GetFolder(oXL.DefaultFilePath)";
     put " For each aFile in oFolder.Files ";
     put " If Right(LCase(aFile.Name), 4) = "".&ext"" Then";
     put " oXL.Workbooks.Open(aFile.Name)";
     put " oXL.Visible = False";
      put "oXL.ActiveWorkBook.SaveAs Left(aFile, Len(aFile) - 4) & "".xls"",-4143";
      put " oXL.ActiveWorkBook.Close SaveChanges = True";
     put " End If";
     put " Next";
     put " Set oFolder = Nothing";
     put " end if";
     put " FSO.DeleteFile(""&default\*.&ext""), DeleteReadOnly";
     put " oXL.DisplayAlerts = True";
     put " oXL.Quit";
     put " Set oXL = Nothing";
     
     run;
    x "cscript ""&store""";
     %mend;
     
    %test()

    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

Discussions similaires

  1. ods tronque les noms de variables : proc logistic
    Par RemiBousquet dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 07/12/2010, 17h33
  2. variable tronquée apres l'espace dans un formulaire
    Par nicdes dans le forum Langage
    Réponses: 7
    Dernier message: 28/04/2010, 18h57
  3. Variables Tronquées à l'importation
    Par viougt dans le forum SAS Base
    Réponses: 3
    Dernier message: 11/02/2010, 15h22
  4. Appel macro variable dans ODS
    Par l'breton du 29 dans le forum Macro
    Réponses: 2
    Dernier message: 27/06/2008, 10h30
  5. [Shell] Path tronqué dans variable
    Par bakka dans le forum Linux
    Réponses: 1
    Dernier message: 23/01/2008, 17h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo