importation d'un fichier texte 2 colonnes et transformation en tableau

Accueil – Le CFO masqué Forums Power Query importation d'un fichier texte 2 colonnes et transformation en tableau

  • Ce sujet contient 11 réponses, 2 participants et a été mis à jour pour la dernière fois par philippe.muniesa, le il y a 4 années et 4 mois.
12 sujets de 1 à 12 (sur un total de 12)
  • Auteur
    Articles
  • #60001
    philippe.muniesa
    Participant

    Bonsoir à toutes et tous,

    Un autre sujet qui me pose des problèmes.

    J’essaie d’importer un fichier destiné aux administrations françaises pour l’exploiter dans le cadre d’un audit. Je suppose que le format inusité est lié au matériel de l’administration française du type AS400 ou similaires.

    En fait, le fichier n’a que deux colonnes.

    Identifiant de rubrique, et variable

    ex:

    RUB1 , Nom var1
    RUB2 , Prénom var1
    Rub3 , Adresse var1
    etc..
    etc.
    RUB1 , Nom var2
    RUB2 , Prénom var2
    Rub3 , Adresse var2



    RUB1 , Nom varN
    RUB2 , Prénom varN
    Rub3 , Adresse varN

    Chaque changement de bloc doit pouvoir être identifié par le numéro de rubrique qui se termine par 001

    Voir exemple de fichier modifié pour préserver la confidentialité des données.

    Je cherche à récupérer ce fichier sous forme de colonne.

    RUB1 RUB2 RUB3 ……..etc.
    nom var1 prénom var1 Adresse Var1
    nom var2 prénom var 2 adresse Var2
    ….

    nom varN prénom VarN Adresse varN

    Je ne sais pas si c’est possible avec Power Query, mais au cas ou vous auriez des idées, je suis bien sur preneur.

    Si, ce n’est pas possible il faudra malheureusement recourir à un code VBA.

    Merci à vous

    Philippe Muniesa

    Attachments:
    You must be logged in to view attached files.
    #60004
    Sophie Marchand
    Participant

    Bonjour,

    Il me semblait que j’avais déjà répondu à cette question… En gros, je ne suis pas certaine de bien faire le lien entre ce que vous dites dans votre question et ce que je vois dans les données… mais dans tous les cas, je vous invite à regarder le fichier ci-joint et vérifier si ça donne le résultat souhaité.

    Sinon, il faudrait fournir le résultat rechercher, préférablement dans une table Excel.

    Merci.

    Sophie

    Attachments:
    You must be logged in to view attached files.
    #60007
    philippe.muniesa
    Participant

    Sophie,

    Tout d’abord Merci pour votre réponse.

    Effectivement, j’avais déjà posé la question, mais n’en ai pas trouvé la trace dans le forum. Je m’étais donc permis de la reposer.

    En tout état de cause voici un fichier excel avec la table de départ, et un e autre feuille contenant la table que je souhaiterais obtenir. lorsque une série de rubriques se répète j’ai positionné les premières lignes seulement et la dernière.

    J’ai examiné votre proposition, mais ça ne correspond pas tout à fait. C’est vrai que le cas semble complexe.

    Merci encore,

    Philippe,

    Attachments:
    You must be logged in to view attached files.
    #60009
    Sophie Marchand
    Participant

    Ok… Là, vous m’avez complètement perdue… Votre table d’origine semble identique à la table à laquelle vous souhaitez arriver au final… Si elle n’est pas identique, merci d’indiquer clairement où sont les différences.

    #60013
    philippe.muniesa
    Participant

    Bonsoir Sophie,

    Il y a deux onglets.

    Le premier onglet la table d’origine
    Le deuxième onglet la table résultat

    Je viens de re ouvrir et je vois bien l onglet FORMAT ORIGINE
    Et l’onglet FORMAT RECHERCHE

    Si le fichier chez vous n est pas correcte, je pourrais le re envoyer sous forme de deux classeurs différents.

    Merci encore

    Cordialement

    Philippe

    #60014
    Sophie Marchand
    Participant

    Bonjour,

    Je viens de voir l’onglet. Pour quelle raison voudriez-vous obtenir les donneés sous la forme indiquée dans votre deuxième onglet? Je ne suis pas certaine d’y trouver une justification…

    Dans tous les cas, vous trouverez ci-joint un début de proposition.

    Le forum, c’est un endroit pour poser des questions très précises. Vous devez d’abord essayer de faire la transformation de votre côté. On vous aidera quand vous serez bloqués à une étape. Il ne faut pas penser nous faire faire le travail en entier à chaque fois ;).

    Merci!

    Sophie

    #60023
    philippe.muniesa
    Participant

    Sophie,

    Merci de votre réponse. Loin de moi l’idée de vous demander de faire le travail.
    Mais je bute depuis longtemps sur ce genre de fichier que je veux transformer sous forme de tableau, pour en faire par exemple des tcd.

    Si vous prenez le tableau FORMAT RECHERCHE à partir de la colonne BM (les colonnes qui précèdent ne m’intéressent que très peu), vous y trouverez sous forme d’un tableau l’ensemble des données relatives aux salariés de l’entreprise. No sécurité sociale, nom, adresse etc, ainsi que l’ensemble des données relatives aux rémunérations perçues sur la période.

    Je veux donc par exemple pouvoir faire des tcd, pour exploiter ces données sous différents angles. Je voudrais aussi pouvoir avoir sur une ligne l’ensemble des données relatives à un ou une catégorie de salariés (Ex cadres de direction ), pouvoir ressortir les rémunérations des 10 salariés les mieux payés etc.

    Sachant qu’il y a une dsn par mois, il faut donc regrouper l ensemble des déclarations pour obtenir une base annuelle. ( ça je l’ai déjà fais avec Power query et votre formation )

    Je ne vois pas comment je pourrais le faire sans au préalable mettre ces données sous forme de table ou chacune des colonnes correspond à une caractéristique, et chacune des lignes un salarié.

    Ex’
    s21.g00.30.001 = numéro de sécurité sociale.

    s21.g00.30.002. = nom du salarié

    s21.g00.50.002. = salarié bru sur la période

    Etc.

    Et je ne sais tout simplement comment aborder le sujet:

    Je peux certes créer une table de l’ensemble des rubriques exhaustives et sans doublons, mais après je ne vois pas comment récupérer sur une ligne distincte par salarié que l’on peut identifier par son numéro de sécurité sociale, l’ensemble des données qui le concernent.

    A ce jour j’utilise un petit exécutable développé en Java, mais je voudrais m’en affranchir, pour améliorer la présentation et pour le fun résoudre cette difficulté rencontrée avec tous les fichiers transmis aux administrations françaises qui ont à peu près tous le même format.

    Voilà, je vous ai à peu près tout dis, et je comprendrais que vous décidiez de clore cette discussion si le cas semble trop complexe à résoudre dans le cadre de ce forum. Dans ce cas j’attendrais la mise en ligne de votre formation transformations de données dans lequel je trouverais peut-être plus facilement une solution.

    Dans tous les cas de figure, je comprends parfaitement le sens de votre mail qui ne remet pas en cause mon grand intérêt pour votre site et vos formations dont je vous remercie encore une fois.

    Cordialement

    PH MUNIESA

    #60028
    Sophie Marchand
    Participant

    Bonjour,

    Je vous avais joint un fichier avec votre cas résolu mais apparemment, il était trop volumineux pour le forum. Je viens de le zipper. En espérant que vous pourrez l’ouvrir.

    La prochaine fois, merci de fournir un “extrait” de données, petit, simple et facile à utiliser. Vous fournissez de telles données de départ et une image du résultat recherché.

    Merci.

    Sophie

    Attachments:
    You must be logged in to view attached files.
    #60045
    philippe.muniesa
    Participant

    Sophie,

    Je viens de regarder le résultat, et c’est exactement ce que je cherchais.
    Il va falloir que je détaille l’ensemble des étapes pour bien comprendre le mécanisme et la méthode utilisée.

    En tout cas, quand je vois que tout cela n’a nécessité que 12 étape… et que de mon côté je cherchais depuis longtemps comment faire… je tombe de haut.. et cela confirme que power Query est un super outil quand on sait l’utiliser.

    (Il va maintenant que je détaille et comprenne les 12 étapes, …..)

    et le CFO masqué ne failli pas à sa réputation de “GRAND SACHANT”.

    Merci à vous sophie de l’avoir créé et de l’animer.

    Cordialement

    PH MUNIESA

    #60052
    philippe.muniesa
    Participant

    Re-Bonjour,

    J’ai bien compris et apprécié, les regroupement en ligne, puis le TableToList, cependant
    J’ai crié victoire trop tôt, car après un examen plus minutieux, il apparait qu’il y a des “mélanges”.
    Le plus parlant est la rubrique S21.G00.30.003 qui correspond au nom d’usage et assez peu renseigné.

    quand on examine le résultat, par exemple le premier salarié de la colonne BM (s21.g00.30.001 n0 sécurité social) ‘Burrgaat, la colonne FK s21.g00.30.003 fait apparaitre ‘la gryllur. Or ce salarié n’a pas de “nom d’usage” et cette variable correspond au salarié de la ligne 43 (2530522146006).

    Je pense que ce décalage vient du fait que pour certains salariés, lorsque la variable est renseignée et la rubrique existe, dans d’autres cas, la variable n’est pas renseignée et la rubrique n’existe pas.

    Lorsque les données d’une rubrique sont listées en ligne elles correspondent aux seuls salariés pour lesquels la rubrique existe, et donc lorsque l’on bascule en colonne, il en résulte forcément un décalage.

    L’approche serait peut-être de créer une liste exhaustive de rubriques, puis pour chaque salarié identifié par son numéro de sécurité sociale, renseigner ou non chacune des rubriques.

    Mais on en revient au point de départ.

    Sophie, sauf si vous pensez que c’est possible sans entrer dans une trop grande complexité je pense qu’il est plus sage de fermer cette discussion car de mon côté et malgré votre aide je ne vois pas toujours comment faire à part un développement spécifique (en vb ou autre).

    En tout cas merci encore pour votre contribution.

    Cordialement

    PH MUNIESA

    #60054
    Sophie Marchand
    Participant

    Bonjour,

    Je vais vous redire ce que j’ai déjà dit. Soumettez un fichier exemple très court. 30 à 50 lignes max. Et soumettez ensuite le résultat attendu. De là, on pourra mieux comprendre ce que vous cherchez à faire et vous soumettre une suggestion.

    Dans le cas présent, vous avez tellement de données et vous explications sont si longues que ça ne donne pas vraiment envie de se casser la tête à essayer de comprendre.

    Soumettez donc un exemple réduit. Expliquez-nous le tout simplement. Très court. Et là, on arrivera peut-être à quelque chose.

    Merci.

    Sophie

    #60058
    philippe.muniesa
    Participant

    Sophie,

    Désolé, mais c’est beaucoup plus complexe que je l’imaginais, car ce type de fichier comporte des informations uniques et obligatoires (N0 de sécurité sociale, adresse, etc) mais aussi des informations répétitives et facultatives ( ex rémunération lorsqu’il y a plusieurs contrat de travail dans un mois ou changement de statut (non cadre / cadre ) , nombre d’ayant droit dans la cas de naissance d’un enfant). De ce fait, lorsque j’examine dans le détail et que j’imagine la description des traitements à effectuer pour arriver au résultat souhaité, je commence à décrire un algorithme complexe qui sort effectivement du contexte de ce forum.

    Il est donc préférable d’en rester là sachant que vos réponses m’ont déjà apporté des éléments précieux pour mes travaux à venir.

    Je vais rester avec mon exécutable JAVA 🙁

    Merci encore et peut-être à bientôt car j’attaque la semaine prochaine “power pivot et DAX”

    En attendant joyeuses fêtes et bonnes fin d’année à vous et autres membres de ce forum.

    Cordialement

    PHILIPPE MUNIESA

12 sujets de 1 à 12 (sur un total de 12)
  • Vous devez être connecté pour répondre à ce sujet.