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

MS SQL Server Discussion :

Tri de colonnes sous SSIS 2005


Sujet :

MS SQL Server

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Tri de colonnes sous SSIS 2005
    Bonjour à tous

    Je travaille sous l'envirennement de travail SSIS 2005.
    Récupérant des données à partir d'un fichier plat grâce à SSIS 2005 pour les stocker dans une table, certaines lignes ne sont pas placé dans la bonne colonne (surement du à la base à une mauvaise organisation du fichier plat).

    Mes colonnes sont donc bien définis, mais certaines lignes à l'intérieur ne mal trier.

    Exemple :
    Valeur1 Valeur2 Valeur3 Valeur4 Valeur5 Valeur6 Valeur7 Valeur8
    1er 2eme 3eme 5eme 4 eme 6eme 7eme 8eme
    1er 2eme 4eme 3eme 5eme 6eme 7eme 8eme
    1er 2eme 3eme 5eme 4eme 6eme 7eme 8eme

    et je souhaiterai obtenir :
    Valeur1 Valeur2 Valeur3 Valeur4 Valeur5 Valeur6 Valeur7 Valeur8
    1er 2eme 3eme 4eme 5 eme 6eme 7eme 8eme
    1er 2eme 3eme 4eme 5eme 6eme 7eme 8eme
    1er 2eme 3eme 4eme 5eme 6eme 7eme 8eme


    Merci d'avance pour votre aide

  2. #2
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Bonjour,

    Pas de miracle : si ton fichier plat est mal structuré, il va être difficile de régler ça dans SSIS. As-tu un moyen de reconnaître automatiquement les lignes où les colonnes sont mélangées ? Si oui tu peux t'en sortir avec une tache de script, ou un conditional split, puis un derived column, puis un merge (un union, me souviens plus).
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Triage de colonnes
    Bonjour rudib,



    OUi je pense que si le fichier txt est mal trié à la base, les choses n'en seront que plus compliqués.



    Cependant, pour chaque axe, je sais exactement les valeurs possibles, car elles sont déjà prédéfinis. Par exemple, pour mon axe 2 (axe temps), je sais que les seules valeurs seront :

    S1(semestre), Q1 (trimestre), M01 (mois), M02, M03, Q2, M04, M05, M06,

    S2, Q3, M07, M08, M09, Q4, M10, M11, M12,



    ou pour l'axe 3, je sais que les seules valeurs peuvent être FY05, FY06, FY07.



    Je ne sais donc pas si, il est possible de dire à SSIS que si il trouve une valeur commencant par FY*, alors la mettre dans l'axe 3 et si il trouve une valeur égale à M0*, alors mettre dans l'axe 2.

    N.B : j'ai posté une image avec des couleurs sur ce forum : http://forums.microsoft.com/technet-...6617&siteid=45

    Merci d'avance pour ton aide rudib.

  4. #4
    Expert confirmé
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Points : 4 043
    Points
    4 043
    Par défaut
    Tu peux faire ce genre de choses en bricolant avec une étape de colonne dérivée, ou en faisant une étapde de script.

    Mais il vaut sans doute mieux insérer tes données telles quelles dans une table tampon et utiliser du SQL (avec un CASE p.ex.) pour remettre les choses à l'endroit. Ce sera plus rapide.

    Plus rapide encore, et plus pérenne: demander à ceux qui te livrent le fichier de bosser correctement.
    Rudi Bruchez
    Rudi Bruchez EIRL, solutions MS SQL Server et NoSQL
    LinkedIn - [Outil libre de diagnostic SQL Server : Sql Trismegiste]
    LIVRES : Optimiser SQL Server -
    Microsoft SQL Server 2012 Security Cookbook
    - les bases de données NoSQL

    e-learning : LinkedIn Learning - Pluralsight

Discussions similaires

  1. [2005] Récupérer nom fichier dans une colonne
    Par faraway dans le forum SSIS
    Réponses: 4
    Dernier message: 08/11/2016, 05h34
  2. SSIS/BCP et MERGE de données sous SQLServer 2005
    Par Patmane dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 18/06/2008, 17h41
  3. Cryptage de colonnes sous Oracle
    Par Julian Roblin dans le forum SQL
    Réponses: 9
    Dernier message: 28/11/2006, 18h24
  4. Tri des colonnes d'une DBGRID
    Par Atrebate62 dans le forum Bases de données
    Réponses: 3
    Dernier message: 31/05/2004, 12h20
  5. Supprimer une colonne sous SQL Serveur 2000
    Par WOLO Laurent dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 14/07/2003, 12h24

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