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 :

Créer une rubrique à partir d'ne rubrique existante


Sujet :

QlikView

  1. #1
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 21
    Points : 16
    Points
    16
    Par défaut Créer une rubrique à partir d'ne rubrique existante
    Bonjour,

    Je cherche à créer un rubrique 2 à partir d'un rubrique 1 existante, la nouvelle rubrique 2, doit reprendre une partie de la chaine de caractères de la rubrique 1
    Dans le fichier excel ci-joint, suivant la rubrique 1 en question est libellé 1. Par exemple pour la ligne 1 ou la valeur initial est "IMCO Infusion SA PT 131192" la résultat escompté est "IMCO Infusion SA" Quel est la fonction et notamment le script pour effectuer cette manipulation ?

    Merci pour vos réponse
    Conca libélé QV.xlsx

  2. #2
    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
    Bonjour,

    Je ne comprends pas bien quel est le séparateur qu'il y a entre l'élément "Rubrique 1" et l'élément "Rubrique 2".


    Néanmoins, pour charger les données, j'utiliserais "subfield" en partant du principe qu'on a "au moins 2 espaces" comme séparateur :
    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
     
    Data:
    LOAD 
    	SubField([Libellé 1], '  ', 1) AS Fld_1,
    	SubField([Libellé 1], '  ', -1) AS Fld_2
    ;
    LOAD * INLINE [
    Libellé 1
    IMCO Infusion SA              PT 131192
    IMCO Infusion SA              PT 131192
    Rosenberg Pierre                    PT 131317
    Rosenberg Pierre                    PT 131317
    IMCO Infusion SA              PT 131194
    IMCO Infusion SA              PT 131194
    ];
    Ici, je met le premier (1) élément séparé par 2 espaces dans "Fld_1" et le dernier (-1) élément dans Fld_2.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2014
    Messages
    21
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2014
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Oui en fait le séparateur est un espace, existe-t'il néanmoins cette fonction qui puisse extraire l'élement à partir de la droite sachant que c'est toujours une chaine de caractère de ce type "PT 131192".

    le script fonctionne, mais en fait la base se auto-alimente donc la partie LOAD*INLINE devrait également pouvoir s'auto alimenté

  4. #4
    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
    J'ai mis un "LOAD INLINE" pour faciliter la création de mon jeu d'essai, mais ça marche pareil avec un chargement depuis un fichier Excel ou une base de données.

    Si la chaîne de droite est de longueur fixe, on peut utiliser une fonction de sous-chaine.
    Sinon, on peut faire la même chose (subfield) en prenant comme séparateur " PT ", ça marche aussi (et on concatène à gauche "PT" pour la 2em partie).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    LOAD 
    	trim(SubField([Libellé 1], ' PT ', 1)) AS Fld_1,
    	'PT ' & SubField([Libellé 1], ' PT ', -1) AS Fld_2
    ;
    LOAD * INLINE [
    Libellé 1
    IMCO Infusion SA              PT 131192
    IMCO Infusion SA              PT 131192
    Rosenberg Pierre                    PT 131317
    Rosenberg Pierre                    PT 131317
    IMCO Infusion SA              PT 131194
    IMCO Infusion SA              PT 131194
    ];

Discussions similaires

  1. [AC-2003] Créer une table à partir de la structure d'une table existante
    Par ted the Ors dans le forum VBA Access
    Réponses: 10
    Dernier message: 26/01/2010, 15h33
  2. Créer une image à partir d'une URL ?
    Par DrySs dans le forum Langage
    Réponses: 1
    Dernier message: 26/01/2006, 09h39
  3. Créer une vidéo à partir d'images...
    Par PCMan dans le forum Langage
    Réponses: 6
    Dernier message: 16/10/2005, 17h18
  4. Créer une table à partir d'une autre dans un script
    Par Dam)rpgheaven dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 24/06/2005, 10h55
  5. Créer une video à partir d'images
    Par Akta3d dans le forum DirectX
    Réponses: 5
    Dernier message: 13/07/2004, 14h46

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