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

SSIS Discussion :

Restreindre mon jeu de données : Source ODBC multi sources?


Sujet :

SSIS

  1. #1
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    février 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : février 2012
    Messages : 28
    Points : 40
    Points
    40
    Par défaut Restreindre mon jeu de données : Source ODBC multi sources?
    Bonjour,

    J'ai un jeu de données contenant les mouvements articles de mon ERP.
    Voici approximativement la structure de la table :
    ID_MVT, ID_Ligne, No_Art, Date Mvt...

    La clé de cette table est ID_MVT, ID_Ligne. (Auto-incrémentale).

    Le lien avec cette "table" (un fichier dans les faits...) se fait via un connecteur ODBC.

    La table contient à ce jour plusieurs millions d'enregistrements, nous filtrons donc uniquement les mouvements par rapport à une date de mouvement (2 années). C'est un peu hasardeux puisqu'il est possible qu'il y ait des enregistrements sur d'anciens mouvements que nous ne récupérons alors pas.

    L'idée est de limiter le nombre de lignes que nous traitons à celles non encore intégrées dans l'entrepôt afin de gagner principalement en temps de traitement :

    - J'ai créé une table dans l'entr SQL contenant les différents couples ID_MVT/MAX(ID_Ligne).

    Si je joins la source ODBC avec cette nouvelle table, je peux via une simple jointure ne récupérer que les derniers enregistrements. (Lien sur ID_MVT et ne récupérer que les données pour lesquelles ID_Ligne > MAX(ID_Ligne).

    J'aurais en quelque sorte besoin d'avoir une source de données multi-source.
    Autant sur une/des bases de données SQL cela ne me pose pas de problème mais avec ce lien ODBC je ne sais plus trop vers où me tourner.

    Il y a trop de mouvements pour se permettre de réaliser une boucle ForEach à partir d'une variable Object.

    Je ne souhaite pas utiliser de composant de jointure dans mon package, je veux vraiment restreindre le nombre de lignes de données dans la source.

    Auriez-vous des idées?


    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Autrement, as-tu pensé à faire un SELECT MAX(ID_Ligne) avant ton flux de données ?
    Valeur que tu entre dans une variables, et dont tu te ressers dans ton flux de données ODBC.

  3. #3
    Membre du Club
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    février 2012
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : février 2012
    Messages : 28
    Points : 40
    Points
    40
    Par défaut
    Bonjour,

    Merci pour votre réponse

    Oui j'y ai pensé mais ça ne peut pas fonctionner, la clé étant ID_MVT, ID_Ligne, je peux avoir ce type d'enregistrement :

    ID_MVT ID_LIGNE
    1 1
    1 2
    1 3
    2 1
    2 2
    2 3
    2 4
    2 5
    3 1

    Le lendemain, j'aurais de nouveaux mouvements dans ma table. Je pourrais stocker les valeurs MAX(ID_MVT) et MAX(ID_LIGNE).
    J'aurais alors MAX(ID_MVT) = 3 et MAX(ID_LIGNE) = 5. (Ou bien (2,5) ou encore (3,1) en fonction des critères).
    Si j'ai un nouvel enregistrement (1,4) il n’apparaîtrait pas dans le résultat de ma requête.

    Pour restreindre un maximum j'ai pour le moment réaliser une boucle sur les couples (ID_MVT/MAX(ID_LIGNE)) afin de passer en variables ces deux paramètres. Je fais donc beaucoup plus d'accès à la table ODBC mais j'ai restreins significativement mon jeu de données.

    L'idéal serait de réaliser une jointure en amont mais cela ne me semble pas possible.

    Merci pour votre aide!

Discussions similaires

  1. Réponses: 3
    Dernier message: 13/10/2011, 11h01
  2. [AC-2007] une base source ou multi source?
    Par hugodu28 dans le forum Runtime
    Réponses: 1
    Dernier message: 26/11/2010, 21h42
  3. [ODBC] Modifier source de données ODBC avec le VBA
    Par mathias dans le forum VBA Access
    Réponses: 6
    Dernier message: 07/05/2008, 16h15
  4. Liste des sources de données système (ODBC)
    Par Le_tzao dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 13/06/2005, 08h58

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