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 :

proc sql avc connexion to oracle et gestion des libellés avec accents


Sujet :

SAS Base

  1. #1
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut proc sql avc connexion to oracle et gestion des libellés avec accents
    Bonjour,

    J'exécute cette requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc sql;
    select tu_lib from statprod.tableu where substr(tu_lib,1,2) = 'De' order by tu_lib ;
    quit;
    Et j'obtiens :

    TU_LIB
    Delphine M
    Delphine P
    Denis B
    Denis D
    Denis L
    Denise J
    Denise P
    Decision
    Delegations


    Et si j'envoie cette requête sur ma base oracle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT * FROM CONNECTION TO ORACLE
    (   
    SELECT distinct TU_LIB FROM TABLEU_view where REPLACE ( substr(tu_lib,1,2),'é','e' ) 
    = 'De' order by 1 asc
    )
    ;
    disconnect  FROM  oracle ;
    quit;
    J'obtiens :
    TU_LIB
    Delphine M
    Delphine P
    Denis B
    Denis D
    Denis L
    Denise J
    Denise P

    Je perds les enregistrements 'Délégations' et 'Décisions' qui sont stockés avc les accents dans la base oracle.

    Sauriez vous comment paramètrer ,la connexion et/ou la requête pour que son éxécution me renvoie les m^me résultats que la 1ère SVP ?

    Remarque : Même en faisant sur oracle un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select distinct tulib from TABLEU_view
    je perds les enregistrements avec accents.

    En vus remerciant.

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Je ne sais pas comment fonctionne le replace sous Oracle
    Test ce code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT * FROM CONNECTION TO ORACLE
    (   
    SELECT DISTINCT TU_LIB FROM TABLEU_view WHERE substr(tu_lib,1,2)='De'
    or  substr(tu_lib,1,2)='Dé'
    ORDER BY 1 ASC
    )
    ;
    disconnect  FROM  oracle ;
    quit;
    http://www.developpez.net/forums/d60...-oracle-9-2-a/
    Est ce que tu peux afficher la valeur de REPLACE ( substr(tu_lib,1,2),'é','e' ) dans ton select?

  3. #3
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    Merci pour ta réponse,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select replace(tu_lib,'é','e') as tu_lib from TABLEU_view where SUBSTR (tu_lib, 1 ,1) 
    = 'D'
    order by 1 asc
    En effectuant cette requête dans ma connexion to oracle je retrouve effectivement 'Decision' et 'Delegation'.


    En revanche l’exécution de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Select replace(tu_lib,'é','e') as tu_lib from TABLEU_view where SUBSTR (tu_lib, 1 ,2) 
    = 'De'
    order by 1 asc
    Ne me renvoie pas ces deux enregistrements.

    Sachant que le but final de cette requête et de renvoyer ts les enregistrements 'Delegations'

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Tu as testé ça?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WHERE substr(tu_lib,1,2)='De' OR  substr(tu_lib,1,2)='Dé'

  5. #5
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    Oui pardon, j'ai bien testé le résultats est le même.

    J'ai aussi testé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT * FROM CONNECTION TO ORACLE
    (   
    Select distinct tu_lib from 
     
    	(select replace(tu_lib,'é','e') as tu_lib from tableu_view ) 
     
    where substr(tu_lib,1,2)= 'De' order by 1 asc
    )
    ;
    disconnect  FROM  oracle ;
    quit;
    Et rien à faire c'est tjrs le m^me résultats.

    Remarque :
    la clause "Order BY 1 ASC" me renvoie les résultats triès mais classe 'Delegations' et 'Decision' à la fin des lib commençants par 'D'. par exemple après 'Dylan'

  6. #6
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Je n'arrive plus a suivre les tests.
    pour le problème du tri, tu peux ajouter un tri SAS en plus du tri oracle
    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
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT * FROM CONNECTION TO ORACLE
    (   
    SELECT DISTINCT tu_lib FROM 
     
    	(SELECT REPLACE(tu_lib,'é','e') AS tu_lib FROM tableu_view ) 
     
    WHERE substr(tu_lib,1,2)= 'De' ORDER BY 1 ASC
    )
    order by tu_lib
    ;
    disconnect  FROM  oracle ;
    quit;

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Par défaut
    pour transformer un caractère par un autre :
    proc sql;
    connect to oracle (path="&path" user=&user password=&pwd);
    create table WORK.zzM as
    select *
    from connection to oracle
    (select 'éè' as E_E
    ,translate('éè', 'é', 'e') as TRANSLATE
    from SYS.DUAL
    )
    ;
    disconnect from oracle;
    quit;
    cf http://www.techonthenet.com/oracle/f.../translate.php

  8. #8
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    Le tri n'est pas un problème.
    C'était une remarque pour montrer que la connection to oracle ne traite pas les cas 'Delegations' et 'decision' comme les autres.
    En gros le pb est que oracle est Accent sensitive et sas ne l'est pas. Mais la connexion to oracle ne gère pas les tests sur des champs avc accents.

  9. #9
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Je veux juste te signaler un truc dans ton premier message tu n'utilises pas la même table:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT DISTINCT tulib FROM TABLEU_view
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc sql;
    SELECT tu_lib FROM statprod.tableu WHERE substr(tu_lib,1,2) = 'De' ORDER BY tu_lib ;
    quit;
    Est ce qu'il n y a pas une transformation au moment de la création de la vue?
    SAS est très sensible à la casse!!!

  10. #10
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    Je veux juste te signaler un truc dans ton premier message tu n'utilises pas la même table
    C'est vrai c'était une erreur de ma part lors de la création du message. J'ai effectué les test sur la vue et sur la table. Les résultats sont les m^me.

  11. #11
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Recommence tes vérifications pas à pas on a du louper qq choses!!!

  12. #12
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Hello,
    Je n'ai pas tout suivi , mais si tu fais :

    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
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT tu_lib1 as tu_lib FROM CONNECTION TO ORACLE
    (   
    SELECT DISTINCT tu_lib1 FROM 
     
    	(SELECT REPLACE(tu_lib,'é','e') AS tu_lib1 FROM tableu_view ) 
     
    WHERE substr(tu_lib1,1,2)= 'De' ORDER BY tu_lib1 ASC
    )
    ;
    disconnect  FROM  oracle ;
    quit;
    sa donne quoi?
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  13. #13
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    s_a_m,

    J'ai testé ta proposition mais rien à faire, je perds toujours les enregistrements qui m' intéressent.

    Je suis sous sas EG n'y à t'il pas un moyen de configurer la sensibilité aux accents ou à la casse ? Ou rajouter une option à la connexion to oracle ?

  14. #14
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Bizarre;
    tu veux bien essayer ceci ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE test (SELECT distinct  tu_lib FROM  tableu_view WHERE substr(tu_lib,1,2)= 'Dé')
    ;
    disconnect  FROM  oracle ;
    quit;
    si tu trouve bien tes billes , alors teste le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT distinct tranwrd(tu_lib,'é','e') as tu_lib FROM CONNECTION TO ORACLE
    (   
    SELECT  tu_lib FROM 
     
      FROM tableu_view  
     
    WHERE substr(tu_lib,1,2)= 'Dé' 
    )
    ;
    disconnect  FROM  oracle ;
    quit;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  15. #15
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    Recommence tes vérifications pas à pas on a du louper qq choses!!!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    proc sql;
    select tu_lib from statprod.tableu_view where substr(tu_lib,1,2) = 'De' order by tu_lib ;
    quit;
    résultat :

    TU_LIB
    Delphine M
    Delphine P
    Denis B
    Denis D
    Denis L
    Denise J
    Denise P
    Decision
    Delegations



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER=&user PASSWORD=&pwd); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT * FROM CONNECTION TO ORACLE
    (   
    select tu_lib from tableu_view where substr(tu_lib,1,2) = 'De'  order by 1 asc
    )
    ;
    disconnect  FROM  oracle ;
    select * from SASUSER.HISTOTEST;
    quit;
    Résultat :
    Delphine M
    Delphine P
    Denis B
    Denis D
    Denis L
    Denise J
    Denise P

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER=&user PASSWORD=&pwd); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT * FROM CONNECTION TO ORACLE
    (   
    select tu_lib from tableu_view where substr(tu_lib,1,1) = 'D'  order by 1 asc
    )
    ;
    disconnect  FROM  oracle ;
    select * from SASUSER.HISTOTEST;
    quit;

    Dernières lignes du résultat:
    Dominique M
    Dominique P
    Dominique R
    Dominique TE
    Dominique TH
    Dominique TR
    Dominique Z
    Domitille E
    Dounia B
    Dylan A
    Decision
    Delegations

  16. #16
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    s_a_m


    Bizarre;
    tu veux bien essayer ceci ? :


    PROC SQL;
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX');
    CREATE TABLE test (SELECT DISTINCT tu_lib FROM tableu_view WHERE substr(tu_lib,1,2)= 'Dé')
    ;
    disconnect FROM oracle ;
    quit;
    résultat vide.


    si tu trouve bien tes billes , alors teste le code suivant:

    PROC SQL;
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX');
    CREATE TABLE SASUSER.HISTOTEST AS
    SELECT DISTINCT tranwrd(tu_lib,'é','e') AS tu_lib FROM CONNECTION TO ORACLE
    (
    SELECT tu_lib

    FROM tableu_view

    WHERE substr(tu_lib,1,2)= 'Dé'
    )
    ;
    disconnect FROM oracle ;
    quit;
    Résultat vide

  17. #17
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Ok , donc tu n'as pas de données qui commencent par 'Dé'

    pour le deuxième programme c'est moi qui me suis planté ;essaie plutôt ceci.

    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
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT DISTINCT tranwrd(tu_lib,'é','e') AS tu_lib FROM CONNECTION TO ORACLE
    ( 
    SELECT tu_lib
     
    FROM tableu_view 
     
    WHERE substr(left(tu_lib),1,2) in ( 'Dé','De','de','DE') 
    )
    ;
    disconnect FROM oracle ;
    quit;
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  18. #18
    Membre Expert

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Par défaut
    Encore mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT DISTINCT substr(LEFT(tu_lib),1,2)  AS tu_lib FROM CONNECTION TO ORACLE
    ( 
    SELECT tu_lib
     
    FROM tableu_view 
     WHERE substr(LEFT(tu_lib),1,1) IN ( 'D') 
    )
    ;
    disconnect FROM oracle ;
    quit;

  19. #19
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 625
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Février 2011
    Messages : 1 625
    Par défaut
    Citation Envoyé par bahraoui Voir le message
    Encore mieux

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER='YYY' PASSWORD='XXX'); 
    CREATE TABLE SASUSER.HISTOTEST AS 
    SELECT DISTINCT substr(LEFT(tu_lib),1,2)  AS tu_lib FROM CONNECTION TO ORACLE
    ( 
    SELECT tu_lib
     
    FROM tableu_view 
     WHERE substr(LEFT(tu_lib),1,1) IN ( 'D') 
    )
    ;
    disconnect FROM oracle ;
    quit;
    Encore mieux , je ne crois pas.
    Dejà pour commencer avec ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    substr(LEFT(tu_lib),1,2)  AS tu_lib
    tu récupére les deux premières lettre de chaque observation.

    ce que j'ai proposé dans mon avant dernier poste,1) consiste à vérifier si les données de waloose ne commencent pas par un blanc,2) et de vérifier s'il a des données qui commencent par ,3) si le probléme ne vient pas du fait d'essayer de faire un GROUP BY sur une variable calculée (REPLACE(tu_lib,'é','e') AS tu_lib ).

    - j'espère que le problème ne vient pas du coté du nombre de lignes affichées par defaut dans EG.
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  20. #20
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mars 2011
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2011
    Messages : 30
    Par défaut
    Bonjour,

    Merci a vous pour votre aide vous m'avez montré des fonctions que je ne connaissais pas.

    J'ai fini par opté pour la solution que je voulais éviter :

    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
     
    PROC SQL; 
    CONNECT TO ORACLE(PATH='STATPROD' USER=&user PASSWORD=&pwd); 
    CREATE TABLE SASUSER.test AS    
    SELECT * FROM CONNECTION TO ORACLE
    (   
    SELECT  tu_lib 
     
      FROM tableu_view  
     
    WHERE tu_lib like '%D%l%gations%'  
    )
    ;
    disconnect  FROM  oracle ;
    select * from SASUSER.test;
    quit;
    Ainsi je peux tester sur le libellé 'Delegations' et/ou 'Délégations'.

Discussions similaires

  1. Gestion des libellés avec une seule table
    Par scharly3 dans le forum Microsoft BI
    Réponses: 7
    Dernier message: 02/03/2012, 23h41
  2. Oracle et insertion des données avec accents
    Par Lolitaaa dans le forum Oracle
    Réponses: 17
    Dernier message: 07/04/2009, 16h14
  3. [PhpDocumentor] Gestion des commentaires avec accents
    Par Nullos Oracle dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 18/09/2007, 12h24
  4. Réponses: 1
    Dernier message: 24/07/2007, 10h43
  5. [ORACLE 9i] Gestion des exceptions
    Par sygale dans le forum SQL
    Réponses: 6
    Dernier message: 19/08/2004, 16h06

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