Accueil › Forums › Power Query › Ajout indicateur 1ère apparition
Étiqueté : flag, M, power query, première apparition
- Ce sujet contient 4 réponse, 3 participant et a été mis à jour pour la dernière fois par
Sogelinas, le il y a 5 années et 11 mois.
-
AuteurMessages
-
21 novembre 2019 à 11 h 41 min #59326
Sogelinas
ParticipantBonjour Sophie,
Dans Power Query j’aimerais ajouter une colonne qui indique 1 lorsque le magasin a acheter un produit pour la première fois. Si le magasin a acheter le produit plusieurs fois j’aimerais voir 0 pour la 2ème, 3ème, 4ème fois… et ainsi de suite. Je n’ai pas mis de date d’achat dans l’exemple parce que l’ordre d’achat n’a pas d’importance, mais cette colonne est disponible si cela peut être utile.
Note : J’ai bien trouvé une formule sur le web, mais je n’arrive pas à la faire fonctionner : https://community.powerbi.com/t5/Desktop/first-occurrence-of-a-value/m-p/447136#M206852
Attachments:
You must be logged in to view attached files.21 novembre 2019 à 16 h 16 min #59337Sophie Marchand
ParticipantBonjour,
Le lien pointe vers une résolution en DAX et non en M. Il faudrait d’abord préciser si on veut travailler dans Power Query en M ou dans l’interface principale avec le langage DAX pour résoudre cette problématique.
Merci.
Sophie
21 novembre 2019 à 21 h 42 min #59340Sogelinas
ParticipantBonjour Sophie,
J’ai oublié de spécifier. Oui, je suis dans Power Query donc ce serait en langage M.
Sophie
22 novembre 2019 à 4 h 36 min #59344Stéphane Lorin
ParticipantBonjour
Voici une solution par formule matricielle Excel =EQUIV([@Client]&[@Produit];[Client]&[Produit];0)=(LIGNE([@Client])-LIGNE(Tableau1[[#En-têtes];[Client]]))
et une autre par Power Query :
– ajout d’un index de ligne,
– regroupement par [Client] et [Produit] pour récupérer le min de l’index
– fusion des tables pour comparer l’index de la ligne en cours avec l’index min : si égal alors première apparition.Cordialement
Stéphane
Attachments:
You must be logged in to view attached files.22 novembre 2019 à 11 h 16 min #59347Sogelinas
ParticipantBonjour Stéphane,
Merci pour la réponse (aussi pour Excel je le faisais autrement).
Par contre je vais devoir fouiller dans mes notes de cours pour la fusion des tables, je ne suis pas certaine de la façon de procéder. J’ai finalement utilisé le début de la façon de faire décrite dans cet article :
https://www.lecfomasque.com/en-reponse-a-une-question-sur-notre-forum-creer-une-liste-didentifiants-incrementes-a-chaque-changement-de-date/ et j’ai ajouté une colonne conditionnelle (1 si = 0 et 0 pour les autres valeurs). C’est moins élégant mais ça marche aussi.Bonne journée
-
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.



