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

SAS Base Discussion :

ERROR: Expression using égal (=) has components that are of different data types. [SQL]


Sujet :

SAS Base

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 76
    Points
    76
    Par défaut ERROR: Expression using égal (=) has components that are of different data types.
    Bonjour
    J'ai bien compris le problème soulevé
    voici l'erreur :
    263 case when Diplome Like "420%" then 3 else ANNEE_DISPOSITIF
    264 end AS rgcycl
    265
    266 from source16.Iva_tous_2016 INNER JOIN source16.N_mef_18_01_17 on Iva_tous_2016.MEFSTAT=N_mef_18_01_17.MEF_STAT_11;
    ERROR: Expression using égal (=) has components that are of different data types.
    267 run;quit;

    Or dans attributs de colonnes j'ai bien Type Character , Lenght = 11 , format $11. et informat $11.
    pour les 2 colonnes Iva_tous_2016.MEFSTAT et N_mef_18_01_17.MEF_STAT_11

    Merci d'avance

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 76
    Points
    76
    Par défaut
    Avec une étape data, je comprends mieux
    ERROR: Variable MEFSTAT has been defined as both character and numeric.
    ERROR: Variable MEF_STAT_11 has been defined as both character and numeric.

    Effectivement un fichier a été importé d'Excel et il y avait un mélange de données calées à droite (numérique ) et de données calées à gauche (texte) dans la colonne MEF_STAT_11. Dans Exel j'avais fait Format/nombre/texte .
    Comment faire pour résoudre ce problème ?
    Voici la proc sql
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    proc sql;
    create table source16.NewIVA16 as select 
    ENQ, N_mef_18_01_17.FORMATION_DIPLOME AS Diplome, MEFSTAT,
    case when N_mef_18_01_17.FORMATION_DIPLOME Like "420%" Or N_mef_18_01_17.FORMATION_DIPLOME Like "43%" then 3 else ANNEE_DISPOSITIF
    end AS rgcycl
    from source16.Iva_tous_2016 INNER JOIN source16.N_mef_18_01_17 on Iva_tous_2016.MEFSTAT=N_mef_18_01_17.MEF_STAT_11;
    run;quit;

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 177
    Points : 76
    Points
    76
    Par défaut
    Comme je connais mieux et que j'utilise beaucoup plus Access que SAS, j'ai converti sous Access les colonnes en caractères puis export vers Excel, puis Import à partir de SAS.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/12/2014, 18h25
  2. Réponses: 15
    Dernier message: 17/03/2012, 22h04
  3. Error: illegal use of this type as an expression
    Par ncheboi dans le forum Débuter
    Réponses: 8
    Dernier message: 29/08/2010, 23h01
  4. Réponses: 2
    Dernier message: 19/01/2009, 17h16
  5. Réponses: 6
    Dernier message: 01/10/2008, 11h08

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