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

Outils BI Discussion :

Recodage d'une colonne dans SAS Entreprise Guide 4.2


Sujet :

Outils BI

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Recodage d'une colonne dans SAS Entreprise Guide 4.2
    Je souhaite créer une colonne recodée dans Guide (à partir d'une colonne de date dont l'informat est date9.) en remplaçant une condition qui dit que lorsque la date n'est pas dans la période définie par l'invite créée (et rattachée à la requête) la valeur de la nouvelle colonne est 0 sinon elle est égale à 1 mais cela ne fonctionne pas. Le journal d'erreur dit ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    WARNING: Référence symbolique apparente INVITE non traitée.
    ERROR 22-322: Erreur de syntaxe ; syntaxe requise : un nom, une chaîne entre guillemets, une constante numérique, 
                  une constante date temps, une valeur manquante, (, +, -, BTRIM, CALCULATED, CASE, INPUT, PUT, SUBSTRING, TRANSLATE, 
                  USER.  
     
    ERROR 76-322: Erreur de syntaxe ; l'instruction sera ignorée.

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    J'ai fait un test et il me semble que c'est normal car la macro INVITE n'a pas été déclarée auparavant. Lors de l'exécution d'un prompt pour un filtre il l'initialise mais là il ne peut pas.
    Pour ne pas avoir le message j'ai déclarer la macro variable dans du code avant mais je pense que cela perd de son intérêt si tu voulais définir ton intervalle via un prompt.

    Rends-toi dans Générateur de requêtes > Propriétés. Dans Invite déclare l'utilisation de ton invite. Ça fonctionne ensuite car la macro variable est déclarée.
    Dis moi si cela fonctionne autrement, je t'envoie le projet que j'ai fait pour le test.
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    L'utilisation de mon invite est bien déclarée dans ma requête mais cela ne fonctionne pas; ci-dessous le journal d'erreur qui est généré par SAS Guide :

    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    1          ;*';*";*/;quit;run;
    2          OPTIONS PAGENO=MIN;
    3          %LET _CLIENTTASKLABEL='nérateur de requêtes3';
    4          %LET
    4        ! _CLIENTPROJECTPATH='\\Chemin\Nom_fichier.egp';
    5          %LET _CLIENTPROJECTNAME='Nom-fichier.egp';
    6          %LET periode_max = 31Jan2010;
    7          %LET periode_min = 01Jan2010;
    8          
    9          ODS _ALL_ CLOSE;
    10         OPTIONS DEV=ACTIVEX;
    NOTE: Procedures may not support all options or statements for all devices. For details, 
          see the documentation for each procedure.
    11         GOPTIONS XPIXELS=0 YPIXELS=0;
    12         FILENAME EGSR TEMP;
    13         ODS tagsets.sasreport12(ID=EGSR) FILE=EGSR STYLE=Ocean
    13       ! STYLESHEET=(URL="file:///C:/Program%20Files/SAS/Shared%20Files/BIClientStyles/4.2
    13       ! /Ocean.css") NOGTITLE NOGFOOTNOTE GPATH=&sasworklocation ENCODING=UTF8
    13       ! options(rolap="on");
    NOTE: Ecriture du corps du fichier TAGSETS.SASREPORT12(EGSR) : EGSR
    14         
    15         GOPTIONS ACCESSIBLE;
    16         %_eg_conditional_dropds(WORK.QUERY_FOR_ENTREES_JOURNEES_DIG);
    17         
     
     
    18         PROC SQL;
    19            CREATE TABLE WORK.QUERY_FOR_ENTREES_JOURNEES_DIG AS
    20            SELECT t1.mdt_dos,
    21                   t1.ser_dos,
    22                   t1.cch_dos,
    23                   t1.lib_spe,
    24                   t1.dmt_dos,
    25                   t1.ann_dos,
    26                   t1.cod_dos,
    27                   t1.den_dos,
    28                   t1.dso_dos,
    29                   t1.'Date de sortie'n,
    30                   t1.DMS,
    31                   /* Calculation */
    32                     (CASE
    33                        WHEN t1.dso_dos NOT BETWEEN &periode THEN 1
                                                          _
                                                          22
                                                          76
    WARNING: Référence symbolique apparente PERIODE non traitée.
    ERROR 22-322: Erreur de syntaxe ; syntaxe requise : un nom, une chaîne entre guillemets, 
                  une constante numérique, une constante date temps, une valeur manquante, (, 
                  +, -, BTRIM, CALCULATED, CASE, INPUT, PUT, SUBSTRING, TRANSLATE, USER.  
     
    ERROR 76-322: Erreur de syntaxe ; l'instruction sera ignorée.
     
    34                        ELSE 0
    35                     END) FORMAT=DATE9. AS Calculation
    36               FROM WORK.ENTREES_JOURNEES_DIG AS t1;
    NOTE: PROC SQL a défini l'option NOEXEC et va continuer à contrôler la syntaxe des 
          instructions.
    37         QUIT;
    NOTE: Le Système SAS a interrompu le traitement de cette étape en raison d'erreurs.
    NOTE: Procédure SQL a utilisé (Durée totale du traitement) :
          temps réel          0.00 secondes
          temps UC            0.00 secondes
     
    38         
    39         
    40         GOPTIONS NOACCESSIBLE;
    41         
    42         
    43         %LET _CLIENTTASKLABEL=;
    44         %LET _CLIENTPROJECTPATH=;
    45         %LET _CLIENTPROJECTNAME=;
    2                                      Le Système SAS        10:37 Monday, February 22, 2010
     
    46         %SYMDEL periode_max;
    47         %SYMDEL periode_min;
    48         
    49         ;*';*";*/;quit;run;
    50         ODS _ALL_ CLOSE;
    51         
    52         
    53         QUIT; RUN;
    54

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/09/2013, 16h53
  2. pb d'ajout d'une colonne dans un report
    Par khlh dans le forum Oracle
    Réponses: 3
    Dernier message: 06/10/2005, 17h12
  3. [C#] Formatage d'une colonne dans un DataGrid
    Par corback dans le forum ASP.NET
    Réponses: 6
    Dernier message: 25/05/2005, 11h04
  4. Postionnement dans une colonne dans un DBGrid
    Par Jeankiki dans le forum Bases de données
    Réponses: 7
    Dernier message: 13/01/2005, 00h05
  5. Ajout d'une colonne dans une table ...
    Par Djedjeridoo dans le forum SQL
    Réponses: 2
    Dernier message: 22/07/2003, 16h12

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