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

Débutez Discussion :

Boucle Do et fonction Array dans création de nouvelle Variable


Sujet :

Débutez

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2018
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2018
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Boucle Do et fonction Array dans création de nouvelle Variable
    Bonjour
    Je rencontre un problème et j’aurai besoin d’aide.
    A partir d’une variable texte (VAR_TEX) qui peut comprendre plusieurs mots (ex : boutons sur le visage), j’ai découpé cette variable en plusieurs ce qui donne Mot_VAR_TEX1 [bouton], Mot_VAR_TEX2 [sur] Mot_VAR_TEX3 [le] Mot_VAR_TEX4 [visage] en écrivant le programme suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    array VAR_TEX(4) $20. ; 
    do i=1 to i=4 ; 
    Mot_ VAR_TEX(i) = scan (VAR_TEX,i) ; 
    end ;
    run ;
    Maintenant j’aimerais créer une autre variable dont la valeur dépend des différentes combinaisons de mots. Le bout de commande est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Length CODE $7. ;
    array Mot_VAR_TEX(4) ;
    do i=1 to i=4 ; 
    if Mot_VAR_TEX(i) in (ʽʽboutonʼʼ) and Mot_VAR_TEX(i) (ʽʽvisageʼʼ) then CODE= ʽʽL704ʼʼ ;
    end ;
    run ;
    Ce bout de commande ne fonctionne pas ! pourriez-vous m’aider ???

  2. #2
    Membre à l'essai Avatar de _AXOLOTL_
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Points : 14
    Points
    14
    Par défaut
    Peux tu préciser exactement un exemple de ligne que tu veux en sortie ?

    Déjà ton ARRAY n'est pas bon. Essaye avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    data donnees ;
        VAR_TEXT = "bouton sur le visage" ; output ;
    run ;
     
     
    data donnees_decomposees ;
        set donnees ;
            array MOT_(4) $20. ; 
                do i=1 to 4 ; 
                    MOT_{i} = scan(VAR_TEXT, i) ; 
                end ;
    drop i ;
    run ;
    Ensuite, je pense que la logique n'est pas bonne. Quand tu te balades dans ton ARRAY, c'est cellule par cellule, donc, tu n'as aucune chance de pouvoir valider ton test avec AND sur deux mots.

    A mon avis ton problème a une solution sans ARRAY avec juste une étape DATA et un FIND.

Discussions similaires

  1. [XL-2013] Fonction SOMMEPROD dans excel sur plage variable
    Par nicox100 dans le forum Excel
    Réponses: 0
    Dernier message: 13/01/2016, 18h44
  2. [XL-2010] extraction de données filtrer fonction array dans macro
    Par med_mugen dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/06/2015, 15h02
  3. [XL-2007] Fonction recherche dans tableau a plage variable
    Par skyzix dans le forum Excel
    Réponses: 2
    Dernier message: 24/07/2013, 10h04

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