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 5 années et 2 mois.
-
AuteurMessages
-
25 décembre 2019 à 15 h 13 min #60001
philippe.muniesa
ParticipantBonsoir à 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 varNChaque 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 varNJe 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.25 décembre 2019 à 16 h 03 min #60004Sophie Marchand
ParticipantBonjour,
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.26 décembre 2019 à 10 h 39 min #60007philippe.muniesa
ParticipantSophie,
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.26 décembre 2019 à 15 h 11 min #60009Sophie Marchand
ParticipantOk… 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.
26 décembre 2019 à 17 h 34 min #60013philippe.muniesa
ParticipantBonsoir Sophie,
Il y a deux onglets.
Le premier onglet la table d’origine
Le deuxième onglet la table résultatJe viens de re ouvrir et je vois bien l onglet FORMAT ORIGINE
Et l’onglet FORMAT RECHERCHESi le fichier chez vous n est pas correcte, je pourrais le re envoyer sous forme de deux classeurs différents.
Merci encore
Cordialement
Philippe
26 décembre 2019 à 18 h 21 min #60014Sophie Marchand
ParticipantBonjour,
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
27 décembre 2019 à 5 h 43 min #60023philippe.muniesa
ParticipantSophie,
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
27 décembre 2019 à 6 h 53 min #60028Sophie Marchand
ParticipantBonjour,
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.27 décembre 2019 à 8 h 40 min #60045philippe.muniesa
ParticipantSophie,
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
27 décembre 2019 à 12 h 21 min #60052philippe.muniesa
ParticipantRe-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
27 décembre 2019 à 15 h 04 min #60054Sophie Marchand
ParticipantBonjour,
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
28 décembre 2019 à 12 h 49 min #60058philippe.muniesa
ParticipantSophie,
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
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.