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éation de tables à partir d'un fichier excel avec plusieurs onglets


Sujet :

QlikView

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Création de tables à partir d'un fichier excel avec plusieurs onglets
    Bonjour,

    Le script est le suivant:
    ___________________________

    ODBC CONNECT TO [Excel Files;DBQ=\\qv\Qlikview\ENTREPOT\PMSI\TableF\listes_actes.xlsx];

    XlsInfo:
    SQLTables;

    DISCONNECT;

    let var=NoOfRows('XlsInfo');

    FOR i = 0 to $(var)-1
    OngletActe=subfield(peek('TABLE_NAME', i,'XlsInfo'),'$',1);

    $(OngletActe) :
    LOAD *
    FROM \\qv\Qlikview\ENTREPOT\PMSI\TableF\listes_actes.xlsx(ooxml, embedded labels, table is $(OngletActe));

    NEXT i

    ________________

    Normalement je devrais créer une table différente pour chaque onglet.
    Mais le script charge toujours sur la même table dont le nom correspond au premier onglet trouvé dans le fichier excel.
    la ligne $(OngletActe) : ne fonctionne pas correctement.

    Pouvez vous me montrer où est mon erreur dans le script.

    Merci d'avance

  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,

    Comment s'appellent vos onglets ?
    En général, s'il y a des espaces, ça rajoute des quotes et c'est pas la joie.
    En plus, avec les zones d'impression, il ne faut prendre que les onglets qui se terminent par "$".


    Je n'ai pas de connecteur sous les yeux, mais pouvez-vous essayer le code

    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
    ODBC CONNECT TO [Excel Files;DBQ=\\qv\Qlikview\ENTREPOT\PMSI\TableF\listes_actes.xlsx];
     
    XlsInfo:
    SQLTables;
     
    DISCONNECT;
     
    let var = NoOfRows('XlsInfo');
     
    FOR i = 0 to $(var)-1
    	LET OngletActe = replace(peek('TABLE_NAME', i, 'XlsInfo'), chr(39), '');
    	IF right('$(OngletActe)', 1) = '$' THEN
    		LET OngletActe = SubField('$(OngletActe)', '$', 1);
    		//LET res = MsgBox('$(OngletActe)');
     
    		[$(OngletActe)] :
    		LOAD *
    		FROM \\qv\Qlikview\ENTREPOT\PMSI\TableF\listes_actes.xlsx(ooxml, embedded labels, table is $(OngletActe));
    	END IF
    NEXT i
    ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Il n'y a pas d'espace dans les intitulés des onglets.
    j'ai utilisé votre script, mais cela ne corrige pas le problème.
    Le premier onglet crée la table LT015, puis les autres onglets trouvés rajoutent les infos dans la même table.


    Connecting to Excel Files;DBQ=\\qv\Qlikview\ENTREPOT\PMSI\TableF\listes_actes.xlsx
    Connected
    XlsInfo << Tables-ODBC;dsn=excel files;dbq=\\qv\qlikview\entrepot\pmsi\tablef\listes_actes.xlsx 11 lignes récupérées
    LT015 << LT015 296 lignes récupérées
    LT015 << LT031 340 lignes récupérées
    LT015 << LT0321 500 lignes récupérées
    LT015 << LT0322 585 lignes récupérées
    LT015 << LT0331 630 lignes récupérées
    LT015 << LT0332 668 lignes récupérées
    LT015 << LT036 722 lignes récupérées
    LT015 << LTchirhorscard 5*007 lignes récupérées
    LT015 << LTDESTR 5*105 lignes récupérées
    LT015 << LTinter 5*281 lignes récupérées

  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
    D'après votre log, les onglets ont bien des noms différents.

    L'explication pour que tout soit mis dans la même table, c'est que vos tables de chaque onglet sont identiques : même nombre de colonnes, mêmes noms de colonnes.

    Par défaut, QlikView auto-concatène 2 tables qui ont exactement le même schéma.

    Vous pouvez tout stocker dans la même table et rajouter un champ qui permet de connaitre l'onglet d'origine, ou alors mettre un "QUALIFY *" pour que tous les champs soient préfixés par le nom de la table.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Merci,

    j'ai adopté votre solution.

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

Discussions similaires

  1. [Toutes versions] M.A.J. table ACCESS depuis un fichier EXCEL avec plusieurs feuilles
    Par Bruno_07 dans le forum Access
    Réponses: 1
    Dernier message: 03/03/2016, 13h06
  2. Import d'un fichier excel avec plusieurs onglets
    Par pepitoluna dans le forum Import/Export
    Réponses: 1
    Dernier message: 06/03/2014, 13h48
  3. [AC-2003] Mise à jour d'une table à partir d'un fichier Excel
    Par calimeroAXS dans le forum Modélisation
    Réponses: 6
    Dernier message: 03/04/2009, 09h45
  4. Générer un Fichier EXCEL avec plusieur onglet.
    Par Portoss dans le forum kettle/PDI
    Réponses: 1
    Dernier message: 16/06/2008, 17h25
  5. création de tables à partir d'un fichier XML
    Par magic charly dans le forum Oracle
    Réponses: 2
    Dernier message: 03/04/2006, 13h39

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