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 :

Suppression des doublons avec 2 conditions


Sujet :

SSIS

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    Juillet 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 26
    Points : 9
    Points
    9
    Par défaut Suppression des doublons avec 2 conditions
    Bonjour,

    Par SSIS, pourriez-vous me dire comment supprimer d'un fichier plat les lignes selon les 2 conditions ci-dessous:
    - Repérer les valeurs identiques dans la colonne X
    - selon le résultat de la 1ere condition, ne conserver que la ligne ayant la valeur 1 dans la colonne Y et supprimer le reste

    ex:
    [X] [Y]
    1 2
    2 3
    3 5
    1 1

    Résultat attendu:
    [X] [Y]
    2 3
    3 5
    1 1

    Merci par avance et n'y allez pas trop fort, je suis un novice avec SSIS

    Bonne journée!

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Points : 187
    Points
    187
    Par défaut
    Bonjour,

    en Tsql :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select X, min(Y)  from dbo.Table group by X
    en SSIS :

    Utiliser le composant Aggregate en le paramétrant de la façon suivante :

    Colonne X ==> Sélectionner l'opération "Group By"
    Colonne Y ==> Sélectionner l'opération "Minimun"
    Bonne journée

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    Juillet 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Merci LapinClair pour votre réponse et désolé pour le temps de réponse, ma réponse précédente ne semble pas avoir été enregistrée correctement.

    Mon exemple n'était pas judicieux car mes données ne sont pas numériques, je ne pourrai donc pas utiliser le "Min".
    J'ai par contre avancée avec votre réponse et réussi a faire un group by avec le composant Aggregate pour identifier les doublons. Grace à un Merge Join j'ai ensuite sauvegarder mes résultats dans 2 tables différentes. Une avec les entrées sans doublon et l'autre avec des doublons qui restent encore à traiter.

    Il me faut donc encore trouver le moyen par SSIS de grouper les lignes selon la colonne [NuméroEmployé] et ensuite de ne conserver qu'une seule ligne selon la condition suivante:
    - Si dans la colonne [Affectation], pour un même [NuméroEmployé], la valeur est différente de "Poste d'attache", conserver cette ou ces lignes correspondantes et effacer les lignes ayant la valeur "Poste d'attache". Donc, si toutes les lignes de ce même [NuméroEmployé] ont la valeur "Poste d'attache", il faudra conserver toutes ces lignes.

    J'ai d'autres conditions à vérifier par la suite, mais j'apprécierai qu'on me file un coup de main sur cette étape avant de passer aux autres.

    Merci par avance pour votre aide!

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Points : 187
    Points
    187
    Par défaut
    Bonjour,

    Pour que l’on puisse vous aidez correctement, il faudrait que vous soyez plus précis dans votre demande.
    Poster un exemple de jeu de données en précisant les types de données source ainsi que le résultat que vous voulez obtenir en sortie.

    Bonne journée.

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Consultant
    Inscrit en
    Juillet 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Bonjour,

    Voila l'exemple comme demandé

    Table à nettoyer:
    [NuméroEmployé] | [Affectation]
    5023 | Poste d'attache
    4862 | Intérime
    8243 | Poste d'attache
    7842 | Poste d'attache
    5023 | Intérime
    7842 | Poste d'attache

    Résultat attendu:
    [NuméroEmployé] | [Affectation]
    4862 | Intérime
    8243 | Poste d'attache
    7842 | Poste d'attache
    5023 | Intérime
    7842 | Poste d'attache

    Voici comment j'exprimer en français mon besoin:
    1) Vérifier par groupe de doublons de [NuméroEmployé], si dans la colonne [Affectation] au moins une ligne a la valeur « Poste d’attache » :
    - Si oui, conserver toutes les lignes, sauf celle(s) ayant la valeur « Poste d’attache »
    - Si non, conserver toutes les lignes


    J'ai d'autres conditions pour nettoyer encore plus ma table, notamment pour les situations ou un même employé à 2 fois "Poste d'attache" mais j'en parlerais ensuite. Merci par avance pour votre aide.

  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
    Hello,

    La méthode la plus simple est de le faire avec le composant tri, qui t'offre la possibilité de supprimer les lignes en doublons (case à cocher).

    [edit] : j'ai répondu un peu rapidement. Et la fonction tri te permet de supprimer les doublons en prenant en compte les critères de tri.
    Pour ton problème, tu dois exploiter tes doublons (tu peux toujours le faire avec le composant tri),
    Ensuite, le plus simple serait de mettre à plat (pivot/unpivot) ton doublon : [NuméroEmployé] | [Affectation 1] | [Affectation 2],
    Tu pourras ensuite le filtrer facilement sur la valeur « Poste d’attache »,
    Et le remettre sur deux colonnes [NuméroEmployé] | [Affectation] avec le pivot/unpivot.

    Dans mon blog j'ai un exemple d'utilisation du composant unpivot.

    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
    Consultant
    Inscrit en
    Juillet 2016
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Canada

    Informations professionnelles :
    Activité : Consultant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 26
    Points : 9
    Points
    9
    Par défaut
    Merci Elros pour ton aide!
    Peux-tu m'en dire plus sur la marche à suivre car dans la pratique je ne sais pas comment faire ce que tu proposes.

    Bonne journée!

Discussions similaires

  1. [2012] Suppression des doublons avec ssis
    Par Boubou2020 dans le forum SSIS
    Réponses: 2
    Dernier message: 31/12/2015, 11h58
  2. [MySQL] Suppression des livres avec condition de temps
    Par hajerboug dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/05/2010, 20h16
  3. Suppression des lignes avec condition
    Par tientinou dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 19/03/2009, 12h35
  4. problème avec la suppression des doublons dans arraylsit
    Par ulysse031 dans le forum Langage
    Réponses: 13
    Dernier message: 04/03/2007, 12h52
  5. [VBA-E] Suppression des colonnes avec condition
    Par desdenova dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/02/2007, 13h39

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