Colonne personnalisée et numéro aléatoire

Accueil – Le CFO masqué Forums Power Query Colonne personnalisée et numéro aléatoire

  • Ce sujet contient 7 réponses, 2 participants et a été mis à jour pour la dernière fois par Arnaud, le il y a 3 années et 7 mois.
8 sujets de 1 à 8 (sur un total de 8)
  • Auteur
    Articles
  • #79011
    Arnaud
    Participant

    Bonjour le CFO,

    Je souhaite créer une nouvelle colonne personnalisée qui comporterai un numéro aléatoire de x numéro.

    Ce numéro permettrai d’identifier plusieurs mouvements (lignes) d’une même BDD. J’ai rajouté le résultat attendu dans la colonne Traçabilité

    Une particularité réside dans le fait que certaines lignes de la colonne Société ne sont pas notés mais doivent être rattachées au même numéro ( cf exemple en pj).

    Est-ce qu’il est possible de réaliser cela avec POWERQUERY ? ( Boucle For each sur colonne SOCIETE jusqu’a détection d’un champs non vide + création numéro aléatoire répétés jusqu’a case vide ? )

    Je pense qu’il y a peut être une solution de ce côté. Avant de creuser cette piste éventuelle j’aimerai votre avis/retour

    Merci.

    Arnaud

    Attachments:
    You must be logged in to view attached files.
    #79013
    Arnaud
    Participant

    La maj avec le bon fichier

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

    Bonjour,

    Je ne suis pas tout à fait certaine de comprendre comment sont générés vos chiffres aléatoires mais si vos cellules vides sont de type null, vous pouvez simplement faire un remplissage vers le bas.

    Au plaisir,

    Sophie

    #79069
    Arnaud
    Participant

    Bonjour Sophie,

    En faite il faudrait que j’arrive à créer un numéro aléatoire en fonction de la colonne Société.

    Si la Société change, un nouveau numéro est affecté.

    arnaud

    #79310
    Sophie Marchand
    Participant

    Ah ok. Voilà qui est plus clair.

    Pour cela, vous pouvez simplement créer une colonne Index qui débute à 0 et une autre qui débute à 1.

    Ensuite, vous pourrez fusionner la table avec elle même sur la colonne Index1 et Index0.

    Ceci va vous permettre d’avoir une colonne avec vos noms de sociétés dans l’ordre original et une autre colonne avec les noms de société décalées d’une ligne.

    Vous pourrez ensuite ajouter une colonne conditionnelle pour vérifier si les deux expressions sont équivalentes (autrement dit, si le nom de la société correspond au nom de la société de la ligne précédente). Si elles ne le sont pas, vous demandez d’ajouter 1, sinon 0.

    Ensuite, pour générer votre chiffre aléatoire, vous pourriez additionner ce 1 à l’index.

    Il y a d’autres façons d’arriver au même résultat mais cette technique a l’avantage d’être simple à comprendre et mettre en place.

    Au plaisir,

    Sophie

    #79503
    Arnaud
    Participant

    Je n’arrive pas à comprendre les actions.

    Lorsque je fusionne index et Société, j’obtiens :

    ALPHA1
    02
    ALPHA3
    04
    05
    06

    Et index1 et Société :
    ALPHA2
    03
    ALPHA4
    05
    ..
    J’ai bien un décalage d’un numéro entre les deux colonnes mais pas d’une ligne…Je dois faire erreur dans la réalisation.

    arnaud

    #79534
    Sophie Marchand
    Participant

    Bonjour,

    J’ai effectué pour vous la procédure dans le fichier joint.

    Je vous suggère fortement notre formation Excel – Introduction à Power Query et au langage M

    Excel – Introduction à Power Query et au langage M

    Merci.

    Sophie

    Attachments:
    You must be logged in to view attached files.
    #79697
    Arnaud
    Participant

    Bonjour Sophie,

    Merci pour votre retour, votre solution est très bien et réponds parfaitement à ce que j’attendais.

    Je n’en demandais pas autant mais merci pour le temps passé.

    J’ai compris ce que je n’avais pas compris en déroulant les étapes.

    J’aimerai faire les formations mais pour l’instant je ne peux pas.

    cdt
    arnaud

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