Home – Le CFO masqué › Forums › Power Query › Number.Random() Excel Alea()
Tagged: Nombre Aléatoire
- This topic has 4 replies, 2 voices, and was last updated 4 years, 5 months ago by
philippe.muniesa.
-
AuthorPosts
-
29 October 2020 at 12 h 59 min #83114
philippe.muniesa
ParticipantBonjour,
J’essaie d’utiliser Number.Random() dans une colonne personnalisée de la table.
Comme indiqué sur plusieurs sites traitant du sujet, j’ai préalablement à la création de la colonne Number.Random() créé une colonne d’index,
D’après ce que je vois, le tri de la table dans power Query sur cette colonne ne semble pas non plus fonctionner ????, ou ne tri que la colonne ???
si comme indiqué sur plusieurs sites, je supprime la colonne index une fois le tirage aléatoire réalisé. et que je tri la table sur cette colonne Number.Random() , alors toutes les lignes de la colonne prennent la même valeur.
Quelque soit la situation, lorsque je tranfers la table dans excel, toutes les cellules de la colonne Number.Random() ont la même valeur ????
Je peux cette insérer une colonne Alea() dans Excel et figer les valeurs, mais ç’est moins propre.
Y a t il quelque chose que j’ai mal fait ou que j’ai loupé.
Merci
Philippe
1 November 2020 at 12 h 56 min #83292Stéphane Lorin
ParticipantBonjour
En effet, je reproduis le même problème.
Vous pouvez le contourner en utilisant la fonction Table.UnpivotOtherColumns pour dépivoter la colonne avec l’aléa.
Cela fige la valeur et permet ensuite le tri.Stéphane
Code pour trier 10 valeurs aléatoires
let
Source = {1..10},
#”Converti en table” = Table.FromList(Source, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#”Personnalisée ajoutée” = Table.AddColumn(#”Converti en table”, “Personnalisé”, each Number.Random()),
#”Supprimer le tableau croisé dynamique des autres colonnes” = Table.UnpivotOtherColumns(#”Personnalisée ajoutée”, {“Personnalisé”}, “Attribut”, “Valeur”),
#”Lignes triées” = Table.Sort(#”Supprimer le tableau croisé dynamique des autres colonnes”,{{“Personnalisé”, Order.Ascending}})
in
#”Lignes triées”1 November 2020 at 13 h 33 min #83293Stéphane Lorin
ParticipantEn complément pour obtenir une liste de 10 valeurs aléatoires triées par ordre croissant vous pouvez utiliser la fonction List.Random à la place de Number.Random :
= List.Sort(List.Random(10),Order.Ascending)
Stéphane
9 November 2020 at 13 h 58 min #83615philippe.muniesa
ParticipantStéphane;
Merci pour cette réponse que je consulte tardivement (j’étais sur mon projet sur d’autres problèmes 🙂 ),
Cependant, je ne vois pas bien la différence avec une colonne normale ni pourquoi PowerQuery ne donne pas le résultat escompté avec l’usage de cette formule.
Je continue à cherche une solution
cordialement
Philippe
10 November 2020 at 4 h 51 min #83672philippe.muniesa
ParticipantStéphane,
J’ai fini par trouver une solution (batarde, mais qui me convient).
je récupère ma table d’origine dans Excel, puis je rajoute une colonne Alea avec la fonction Alea(). Puis je sauvegarde le fichier Excel
Ensuite, les différents traitements sont réalisés à partir de la récupération dans PQ de cette table EXCEL.
J’aurais aimé tout faire dans PQ mais c’est plus compliqué et moins efficace.
Cordialement
PH MUNIESA
-
AuthorPosts
- You must be logged in to reply to this topic.