2 Replies Latest reply: Mar 3, 2015 6:54 AM by Delphine Walter RSS

    Connexions ODBC multiples

      Bonjour,

       

      je souhaite créer une table dans un fichier Qlikview à partir de plusieurs sources, en concatenant à chaque fois les données.

      Actuellement la table est constituée de données provenant

      - de notre logiciel de gestion commerciale via une connexion ODBC

      - de divers fichiers Excel

      Or un des fichiers Excel utilisé pour la constitution de la table commence à devenir particulièrement lourd (20Mo), et je voudrais le remplacer par une base Access (.accdb) plutôt que de le remplacer par plusieurs fichiers Excel. Les données proviendraient donc

      - de notre logiciel de gestion commerciale via une connexion ODBC

      - de la base Access via une autre connexion ODBC

      - de divers fichiers Excel.

       

      Actuellement, le script est ainsi :

      ODBC CONNECT TO [SAGE Qlik ];

      Table_Transactions :

      LOAD "V_DOCNUM",
          "V_CLINUM" as CLI_NUM,
      "V_TYPE",
      Year("V_DOCDATE") as V_ANNEE,
      Month("V_DOCDATE") as V_MOIS,
      "V_DEPOT",
      "V_EXPEDIT",
      "V_CATCOMPT",
      "V_DOREF";
      SQL SELECT *
      FROM xxx.dbo."DP_VENTES"

      Concatenate
      LOAD PAYS_SUIVI,
      MAILLON_DISTRI,
      Year([Format mois QV]) as V_ANNEE,
      Month([Format mois QV]) as V_MOIS
      ART_NUM,
      QTE_SI,
      VALEUR_SO_EUROS,
      VALEUR_SI_EUROS
      FROM
      [C:\Users\Public\Documents\TDB QlikView\Données\Table Sell-Out 2013.xlsx]
      (
      ooxml, embedded labels, table is [Sell-Out]);

      Concatenate
      LOAD PAYS_SUIVI,
      MAILLON_DISTRI,
      [code pv] as PV_CODE,
      pv as PV_NOM,
      type as PV_TYPE,
      valeur as VALEUR_SO_EUROS,
      volume as QTE_SO,
      Year(date) as V_ANNEE,
      Month(date) as V_MOIS,
      Week(date) as V_SEMAINE
      [référence Veld's] as ART_NUM
      FROM
      [C:\Users\Public\Documents\TDB QlikView\Données\SO 2014.xlsx]
      (
      ooxml, embedded labels, table is [Données Sell-out]);

       

      C'est ce dernier fichier que je voudrais remplacer par une base Access.

      Si je mets

      ODBC CONNECT TO [MS Access Database;DBQ=C:\Users\Public\Documents\TDB QlikView\Données\SO 2014.accdb];

      au début du script avant la première connexion ODBC et qu'au moment de la concaténation je mets LOAD (tous les champs) SQL SELECT * FROM `SO_2014`; Qlikview ne trouve pas la table (la table et la base ont le même nom).

      Si je mets la connexion ODBC après le Concatenate, ça ne marche pas non plus.

      Si je mets la connexion ODBC après la connexion ODBC Sage, Qlikview ne trouve plus les tables de Sage.

      Si je mets la connexion ODBC au tout début, que je charge la table et qu'ensuite après le Concatenate je recharge la table en question mais en l'appelant par son nom Qlikview, Qlikview ne la trouve pas non plus.


      Je suis à court d'idées, j'ai lu le sujet http://community.qlik.com/message/648672#648672 et le document Build Your First Application in QlikView mais cela ne m'a pas plus aidée.


      Merci pour votre aide,


      Delphine

        • Re: Connexions ODBC multiples
          Martin Sorel

          Bonjour,

          Il est  possible d'utiliser plusieurs connexions successivement, mais elle ne sont pas simultanées. Une nouvelle connexion ODBC déconnecte la précédente.

          Avez vous essayé de mettre la ligne de connexion à votre deuxième source ODBC juste avant la dernière instruction Concatenate?

          Cela devrait fonctionner.

           

           

          Martin

            • Re: Connexions ODBC multiples

              Bonjour Martin,

               

               

               

              Désolée pour ma réponse tardive, j’étais en vacances.

               

              Oui j’avais aussi essayé mais après Qlikview ne trouvait plus les tables

              Sage (je refais appel à d’autres tables Sage dans la suite du script). Du

              coup, j’ai remis à la fin de ma table Transaction la connexion OBDC à Sage

              et ca marche J Merci !

               

               

               

              Delphine