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 :

[SSIS] [2K5] Quel outil de transformation de flux utiliser?


Sujet :

SSIS

  1. #1
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut [SSIS] [2K5] Quel outil de transformation de flux utiliser?
    Salut,

    Novice en ce qui concerne SSIS et sa logique je vous demande votre aide. Mes recherches ne me mènent à rien et msdn n'est pas très lisible à mon sens pour ce coup-ci. Pourtant, je sais que c'est basique et j'ai même déjà dû le faire auparavant. Malheureusement, j'ai toujours du mal avec la logique de SSIS.

    J'essaie donc de transformer une colonne de type chaîne d'un fichier csv en entier vers une colonne de table sql de type entier.
    Imaginons des catégories en base de données :
    légume = 1
    fruit = 2
    laitage = 3

    Dans le fichier csv reçu j'ai :
    poireau
    cerise
    courgette
    aubergine
    yaourt

    Je souhaiterais donc trouver l'outil de transformation de flux qui puisse transformer les informations comme suit :
    poireau -> 1
    cerise -> 2
    courgette -> 1
    aubergine -> 1
    yaourt -> 3

    J'essaie actuellement l'outil "colonne dérivée", mais j'ai du mal avec l'expression. Je ne sais pas comment faire l'équivalent d'un IF, est-ce le bon outil? Je souhaiterais faire quelque chose comme ça : si csv.colonne="poireau" alors sql.colonne = 1 etc.

    Voyez-vous où je veux en venir?
    Pouvez-vous m'aiguiller?

    Merci par avance.

  2. #2
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Bonjour,

    On peut effectivement le faire avec un objet Derived Column. La syntaxe sera du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ChampsDuCsv]=="poireau"?1:[ChampsDuCSV]=="choux"?2:[ChampsDuCSV]=="tomate"?3...
    Il faut imbriquer les conditions sous forme Si(==) alors(?) sinon ( : ).. Il fait faire très attention à l'écriture de ce genre de code car si les conditions sont nombreuses et que l'on fait une erreur de saisie, on peut se retrouver à perdre énormément de temps pour la correction.

  3. #3
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Merci pour ta réponse, je n'avais en effet pas trouvé la syntaxe du "if". Conseillerais-tu une autre méthode plus efficace, plus simple à maintenir? Je suis ouvert à toute proposition.

  4. #4
    Membre éclairé
    Avatar de patriceharel
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2008
    Messages
    466
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 466
    Points : 884
    Points
    884
    Par défaut
    Je ne vois pas d'autres objets SSIS permettant de faire cela plus simplement..
    Sinon on peut toujours créer un fichier qui rassemble les correspondances que tu souhaites mettre en place (genre fichier CVS, Excel) et faire un lookup entre ce fichier et le dataset de ton lot :
    Inconvénient : créer ce fichier et le déployer chez le client
    Avantages : en cas de changement dans les libellés, ajout de ligne etc... on ne redéveloppe pas le lot mais on modifie juste le fichier, on a pas a écrire les IF imbriqués et à les modifier si besoin est.

  5. #5
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Ok, je prends note. Ca Pourrait être utile à l'avenir, mais pour le moment je vais donc me contenter de cette solution.

    Merci beaucoup pour ton aide.

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

Discussions similaires

  1. Quel Outil de Gestionnaire de version utiliser
    Par BrunetteCP dans le forum Outils
    Réponses: 2
    Dernier message: 24/05/2013, 20h42
  2. Réponses: 0
    Dernier message: 04/03/2011, 12h07
  3. Réponses: 3
    Dernier message: 03/08/2009, 09h48
  4. Réponses: 2
    Dernier message: 10/03/2009, 21h34
  5. [Info] Quels outils de develpt puis-je utiliser pour pocketpc
    Par chris69000 dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 22/06/2004, 10h25

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