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

QlikView Discussion :

Condition if pertinente?


Sujet :

QlikView

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut Condition if pertinente?
    Bonjour à tous,
    J'appelle à vous pour un script qui n'est pas reconnu dans Qlikview.
    Je vous joins le fichier Excel qui est une version réduite par rapport à l'original avec les conditions dans les cellules Entraînement automobile.xlsx.
    J'ai écrit les scripts suivants :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    If([Réponse] ='Positive',[VRP],if([Réponse]='Negative',[VRN],""))as [VRECO],
       if([Réponse]='Positive', [COD RP1], [COD RN1]) as [n°1 Raison de RECO / non-RECO],
       if([Réponse]='Positive', [COD RP2], [COD RN2]) as [n°2 Raison de RECO / non-RECO],
       if([Réponse]='Positive', [COD RP3], [COD RN3]) as [n°3 Raison de RECO / non-RECO],
     
     FROM
    [C:\Users\XXX\Desktop\Akat.txt]
    (txt, codepage is 1252, embedded labels, delimiter is '\t', msq);
    Le problème est le suivant: on me retourne un message d'erreur disant que la table [Réponse] n'est pas reconnue pour ces quatre requêtes ("=> Champ introuvable").
    On m'a dit de créer une Table2 et de refaire les 'Load' avec du 'Resident' ou du 'Drop' et à partir de ce point, je suis vraiment perdu et je ne sais pas quoi mettre après maintes recherches sur le net et pas vraiment d'exemples concrets
    Le dernier problème, c'est que je n'arrive pas également à faire un menu déroulant via le screen que j'ai copié dans le fichier Excel à partir de Qlikview.
    Je vous remercie d'avance pour vos réponses.
    Cordialement MJ.

    Ps: la table [Réponse] a été déjà créée comme la condition était facile à écrire sous QLV.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2008
    Messages
    940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 940
    Points : 1 409
    Points
    1 409
    Par défaut
    Ouille, ouille, ouille ...

    1) Ton fichier excel possède 2 champs réponse (Colonne E et colonne V)
    Comment s'appelle ton champ lors de la reprise dans Qlikview
    2) Le from pointe vers un fichier txt et non ton fichier excel
    Est-ce un fichier CSV ou un fichier Excel ?
    3) Sur la première des lignes if, il manque la parenthèse de début
    Mauvaise recopie ?
    4) Tu parles d'une table Réponse, mais il s'agit d'un champ et non d'une table

  3. #3
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    5) Sur la première ligne, vous voulez mettre une chaine vide dans le cas par défaut, mais en QV, le séparateur de chaine est la quote simple, pas la double-quote ("apostrophe", pas "guillemet").

    6) Il y a une virgule après la dernière expression (juste avant le FROM). Mai c'est surement du au fait que vous ayez supprimé une partie du code.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    @Formalury:

    1) J'ai oublié de préciser que le fichier Excel est à titre indicatif. Mon employeur veut, que je sois capable de le retranscrire sous Qlikview (comme un exercice si tu veux) en prenant en compte les conditions dans les cellules. Le champ est le champ [Réponse] que j'ai réussi à établir sous Qlikview.
    2) A la base, c'est un fichier .txt que j'ai importé via l'ouverture du script avec Tab Donnée -> "Fichier tables..."
    3) Il manquait une parenthèse, en effet. Merci
    4) Oui, pardon du vocabulaire. C'est bien un champ et non une table.

    Et l'exercice demandé est de retrouver toutes ces modifications via le fichier joint.
    Ça fait un moment que je suis bloqué car je dois sortir également les tableaux...
    Merci d'avance.

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    @ PhunkyBob:

    5) je vais tester ça (mais cette ligne est-elle exacte pour le rentrer dans Qlikview stp?)
    6) Oui oui, pour ça, il n'y a pas de soucis (comme c'est un 'bout' de code)

  6. #6
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Citation Envoyé par MJ420 Voir le message
    5) je vais tester ça (mais cette ligne est-elle exacte pour le rentrer dans Qlikview stp?)
    Il faut qu'elle soit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    IF([Réponse] ='Positive',[VRP],IF([Réponse]='Negative',[VRN],''))AS [VRECO],
    Si dans la table source il y a un champ "Réponse", un champ "VRP" et un champ "VRN", alors ça marchera.

  7. #7
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Bon voilà, le nouveau code avec ta modification:

    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
    TABLE1:
    LOAD A, 
         B, 
         C, 
         D, 
         E, 
         F, 
         G, 
         H, 
         I, 
         J, 
         K, 
         L, 
         M, 
         N, 
         O, 
         P, 
         Q, 
         R, 
         S, 
         T, 
         U, 
         V,
         if (V=1,'positive',if(V=2,'negative', if(V=3,'negative', if (V=4, 'negative')))) as [Réponse],
         W, 
         X, 
         Y, 
         Z, 
         AA, 
         AB, 
         AC, 
         AD, 
         AE as [VRP], 
         AF, 
         AG, 
         AH,
        AI as [VRN],
     IF([Réponse]='positive',[AE],IF([Réponse='negative',[AI],''))AS [VRECO], 
         AJ, 
         AK, 
         AL, 
         AM, 
         AN, 
         AO, 
         AP, 
         AQ, 
         AR, 
         AS, 
         AT, 
         AU, 
         AV, 
         AW, 
         AX, 
         AY, 
         AZ, 
         BA, 
         BB
    FROM
    [C:\Users\XXX\Downloads\Entraînement automobile.xlsx]
    (ooxml, embedded labels, table is Feuil1);
    Maintenant, on me retourne que le champ [Réponse] est introuvable, c'est peut-être dû au nouveau champ qui a été crée et qu'il faudrait peut-être refaire une table 2 (et dont je ne sais pas m'y prendre et comment la constituer) pour qu'il prenne en compte cette nouvelle condition.

  8. #8
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Oui, le champ "Rep" n'existe pas, car vous êtes en train de le créer.

    Il faut soit remettre toute l'expression, soit faire en 2 temps :
    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
     
    TABLE1:
    LOAD *,
        IF([rep]='positive',[AE],IF([rep]='negative',[AI],''))AS [VRECO]
    ;
    LOAD A, 
         B, 
         C, 
         D, 
         E, 
         F, 
         G, 
         H, 
         I, 
         J, 
         K, 
         L, 
         M, 
         N, 
         O, 
         P, 
         Q, 
         R, 
         S, 
         T, 
         U, 
         V,
         IF (V=1,'positive',IF(V=2,'negative', IF(V=3,'negative', IF (V=4, 'negative')))) AS [rep],
         W, 
         X, 
         Y, 
         Z, 
         AA, 
         AB, 
         AC, 
         AD, 
         AE, 
         AF, 
         AG, 
         AH,
         AI, 
         AJ, 
         AK, 
         AL, 
         AM, 
         AN, 
         AO, 
         AP, 
         AQ, 
         AR, 
         AS, 
         AT, 
         AU, 
         AV, 
         AW, 
         AX, 
         AY, 
         AZ, 
         BA, 
         BB
    FROM
    [C:\Users\XXX\Downloads\Entraînement automobile.xlsx]
    (ooxml, embedded labels, TABLE IS Feuil1);

  9. #9
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    OMG ça marche...
    Merci
    Donc, il fallait faire un "LOAD * "

    Voici les nouveaux codes:

    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
    TABLE1:
    LOAD *,
        IF([rep]='positive',[VRP],IF([rep]='negative',[VRN],''))AS [VRECO];
    LOAD *,
    IF([rep]='positive', [COD RP1], [COD RN1]) AS [n°1 Raison de RECO / non-RECO];
     
    LOAD *,
    IF([rep]='positive', [COD RP2], [COD RN2]) AS [n°2 Raison de RECO / non-RECO];
     
    LOAD *,
    IF([rep]='positive', [COD RP3], [COD RN3]) AS [n°3 Raison de RECO / non-RECO];
     
    LOAD *,
    If ([COD RETOUR2]=2, [VR],'') as [VR1];
     
    LOAD *,
    If ([COD RETOUR2]=2, [CODE 4],'') as [OR];
     
    LOAD *,
    If ([RD]=2,'oui','non') as [Retour];
     
    LOAD A , 
         B , 
         C , 
         D, 
         E,
         F, 
         G, 
         H, 
         I, 
         J, 
         K, 
         L, 
         M, 
         N, 
         O, 
         P, 
         Q, 
         R, 
         S, 
         T, 
         U, 
         V,
         if (V=1,'positive',if(V=2,'negative', if(V=3,'negative', if (V=4, 'negative')))) as [rep],
         W, 
         X, 
         Y as [RD], 
         Z, 
         AA, 
         AB, 
         AC, 
         AD, 
         AE as [VRP], 
         AF as [COD RP1], 
         AG as [COD RP2], 
         AH as [COD RP3],
         AI as [VRN],
         AJ as [COD RN1], 
         AK as [COD RN2], 
         AL as [COD RN3], 
         AM, 
         AN, 
         AO as [COD RETOUR2], 
         AP, 
         AQ, 
         AR, 
         AS, 
         AT as [VR], 
         AU, 
         AV, 
         AW, 
         AX as [CODE 4], 
         AY, 
         AZ, 
         BA, 
         BB
    FROM
    [C:\Users\jXXXX\Downloads\Entraînement automobile.xlsx]
    (ooxml, embedded labels, table is Feuil1);
    1) Ces nouvelles 'requêtes' correspondent-elles maintenant aux conditions des cellules de Excel stp ?
    2) Comment supprimer les libellés en dessous des nouveaux qui ont été crées et supprimer le "non" (entouré sur le .jpeg car la ligne doit être vide et c'est décalé) ? Nom : IMP-EC.jpg
Affichages : 118
Taille : 71,1 Ko

  10. #10
    Modérateur

    Inscrit en
    Octobre 2006
    Messages
    1 649
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 649
    Points : 2 529
    Points
    2 529
    Billets dans le blog
    6
    Par défaut
    Vous n'êtes pas obligé de faire un nouveau "LOAD" pour chaque nouvelle expression.
    Il faut faire un nouveau "LOAD" à chaque fois que vous avez besoin d'un champ qui n'est pas encore disponible.


    Je n'ai pas vérifié, mais
    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
     
    TABLE1:
    LOAD *,
    IF ([RD]=2,'oui','non') AS [Retour]
    IF ([COD RETOUR2]=2, [CODE 4],'') AS [OR],
    IF ([COD RETOUR2]=2, [VR],'') AS [VR1],
    IF([rep]='positive', [COD RP3], [COD RN3]) AS [n°3 Raison de RECO / non-RECO],
    IF([rep]='positive', [COD RP2], [COD RN2]) AS [n°2 Raison de RECO / non-RECO],
    IF([rep]='positive', [COD RP1], [COD RN1]) AS [n°1 Raison de RECO / non-RECO]
    IF([rep]='positive',[VRP],IF([rep]='negative',[VRN],''))AS [VRECO]
    ;
     
    LOAD A , 
         B , 
         C , 
         D, 
         E,
         F, 
         G, 
         H, 
         I, 
         J, 
         K, 
         L, 
         M, 
         N, 
         O, 
         P, 
         Q, 
         R, 
         S, 
         T, 
         U, 
         V,
         IF (V=1,'positive',IF(V=2,'negative', IF(V=3,'negative', IF (V=4, 'negative')))) AS [rep],
         W, 
         X, 
         Y AS [RD], 
         Z, 
         AA, 
         AB, 
         AC, 
         AD, 
         AE AS [VRP], 
         AF AS [COD RP1], 
         AG AS [COD RP2], 
         AH AS [COD RP3],
         AI AS [VRN],
         AJ AS [COD RN1], 
         AK AS [COD RN2], 
         AL AS [COD RN3], 
         AM, 
         AN, 
         AO AS [COD RETOUR2], 
         AP, 
         AQ, 
         AR, 
         AS, 
         AT AS [VR], 
         AU, 
         AV, 
         AW, 
         AX AS [CODE 4], 
         AY, 
         AZ, 
         BA, 
         BB
    FROM
    [C:\Users\jXXXX\Downloads\Entraînement automobile.xlsx]
    (ooxml, embedded labels, TABLE IS Feuil1);
    Devrait faire la même chose.



    2) Comment supprimer les libellés en dessous des nouveaux qui ont été crées et supprimer le "non" (entouré sur le .jpeg car la ligne doit être vide et c'est décalé)
    Lors de l'import de la table, on peut dire combien de lignes sont à ignorer dans le fichier Excel.

  11. #11
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 6
    Points : 3
    Points
    3
    Par défaut
    Désolé de vous répondre qu'aujourd'hui...
    C'est pour vous dire un grand merci. Vous m'avez tiré d'une mauvais passe :p
    Tout marche maintenant et franchement, j'ai eu l'impression que le 'load * ' est comme un passe-partout.
    En tout cas, merci à vous et je met le problème comme résolu.
    Bonne journée à vous.

    Ps: il se pourrait que j'ai d'autres questions à l'avenir.

    Cordialement.

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

Discussions similaires

  1. Condition If multiple
    Par M1000 dans le forum ASP
    Réponses: 2
    Dernier message: 01/03/2004, 13h46
  2. [MYSQL] conditions et requetes
    Par sebos63 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 26/02/2004, 16h41
  3. Condition sur debug et release
    Par xave dans le forum MFC
    Réponses: 3
    Dernier message: 04/02/2004, 15h04
  4. Condition et contenu TImage
    Par Detlev_linux dans le forum Langage
    Réponses: 6
    Dernier message: 23/12/2003, 01h00
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 11h48

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