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 :

Traitement de lignes à partir d'un fichier [2008R2]


Sujet :

SSIS

  1. #1
    Futur Membre du Club
    Homme Profil pro
    En apprentissage
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : En apprentissage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 6
    Points
    6
    Par défaut Traitement de lignes à partir d'un fichier
    Bonjour à tous,

    Ayant une petite expérience avec SSIS, j'aurai besoin de votre aide svp.

    En entrée j'ai un fichier csv, chaque ligne est sous la forme suivante : num_contrat,nom_enfant1,prenom_enfant1,nom_enfant2,prenom_enfant2,........nom_enfant15,prenom_enfant15

    Mon but est de d'avoir un nouveau fichier sous la forme suivante :

    num_contrat1,nom_enfant1,prenom_enfant1
    num_contrat1,nom_enfant2,prenom_enfant2
    .
    .
    .
    .
    num_contrat1,nom_enfant15,prenom_enfant15

    Quelle composant utiliser et comment ? j'ai une petite astuce mais qui n'est absolument pas jolie : créer 15 fichiers puis les concaténer

    Merci d'avance pour votre aide

  2. #2
    Membre éprouvé
    Avatar de Elros
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2009
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 403
    Points : 912
    Points
    912
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    Il te faut le composant Unpivot : https://msdn.microsoft.com/fr-fr/library/ms141723.aspx

    Bon dev ;-)

    Elros
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton

    Venez faire un petit tour sur mon blog : Elros - Bienvenue dans le monde de la Business Intelligence

  3. #3
    Futur Membre du Club
    Homme Profil pro
    En apprentissage
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : En apprentissage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Merci Elros, j'ai parcouru plusieurs tutos et forums mais je n'ai pas su adapter ce composant à mon cas, as-tu une idée stp ?

  4. #4
    Membre expérimenté

    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Novembre 2014
    Messages
    815
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2014
    Messages : 815
    Points : 1 350
    Points
    1 350
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par lounist31 Voir le message
    Merci Elros, j'ai parcouru plusieurs tutos et forums mais je n'ai pas su adapter ce composant à mon cas, as-tu une idée stp ?
    sur le même piste je pause cette même question
    merci pour nos expert

  5. #5
    Futur Membre du Club
    Homme Profil pro
    En apprentissage
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : En apprentissage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    J'ai finalement trouvé la solution :

    source : fichier plat

    Ensuite j'utilise le composant "Multidiffusion" pour avoir 15 sorties, chacune va vers un composant "Agrégation" où je récupère "num_contrat" , "nom_enfant" et "prénom_enfant" et à la fin j'utilise le composant "unir tout" pour avoir le tout dans un seul fichier de sortie

    En espérant aider ceux qui sont dans mon cas

  6. #6
    Membre éprouvé
    Avatar de Elros
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Avril 2009
    Messages
    403
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 403
    Points : 912
    Points
    912
    Billets dans le blog
    9
    Par défaut
    Je sais que le sujet est clos. Mais, je veux quand même te montrer que la tâche Unpivot n'est pas si compliqué que ça.

    En csv d'entrée j'ai ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    num_contrat;nom_enfant1;prenom_enfant1;nom_enfant2;prenom_enfant2;nom_enfant3;prenom_enfant3;nom_enfant4;prenom_enfant4
    1000;ROGER;Prof;ROGER;Atchoum;ROGER;Dormeur;ROGER;Grincheux
    2000;GEREAUD;Joyeux;GEREAUD;Timide;GEREAUD;Simplet;;
    En csv de sortie tu souhaites :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    pivot_key;num_contrat;nom_enfant;prenom_enfant
    1;1000;ROGER;Prof
    2;1000;ROGER;Atchoum
    3;1000;ROGER;Dormeur
    4;1000;ROGER;Grincheux
    1;2000;GEREAUD;Joyeux
    2;2000;GEREAUD;Timide
    3;2000;GEREAUD;Simplet
    4;2000;;
    La ligne " 4;2000;; " est évidemment filtrable.


    Voici à quoi ressemble mon flux :

    Nom : Capture.PNG
Affichages : 180
Taille : 10,6 Ko

    et à l'intérieur du Unpivot :


    Nom : Capture2.PNG
Affichages : 179
Taille : 30,4 Ko

    Voila ce n'est pas si compliqué :-D

    Elros
    Un message vous a aidé ? Votez en cliquant sur Pensez au bouton

    Venez faire un petit tour sur mon blog : Elros - Bienvenue dans le monde de la Business Intelligence

  7. #7
    Futur Membre du Club
    Homme Profil pro
    En apprentissage
    Inscrit en
    Juillet 2015
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : En apprentissage

    Informations forums :
    Inscription : Juillet 2015
    Messages : 4
    Points : 6
    Points
    6
    Par défaut
    Merci beaucoup Elros ! c'est génial en terme d'optimisation, car faire le même traitement 15 fois ce n'est pas vraiment top même si ça répond au besoin




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

Discussions similaires

  1. Créer un fichier sur une ligne à partir d'un fichier séquentiel
    Par cari dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 21/09/2013, 07h04
  2. Supprimer une ligne a partir d'un fichier texte
    Par Msysteme dans le forum C#
    Réponses: 10
    Dernier message: 23/06/2009, 18h05
  3. Réponses: 3
    Dernier message: 12/04/2009, 01h19
  4. fichier excel en entrée - traitement des lignes
    Par docky dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 08/07/2008, 11h09
  5. Réponses: 4
    Dernier message: 26/01/2006, 13h03

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