Power Query, benutzerdefinierte Funktion fxZufallszahl

Lern Video


 





neue Abfrage erstellen, unten stehenden Language M Code einfügen und Abfrage

in
fxZufallszahl
umbenennen


--- SCHNIPP ---

let fxZufallszahl = (Tabelle as table, Minimum as number, Maximum as number) =>

let

    Index = Table.AddIndexColumn(Tabelle, "Index", 0, 1, Int64.Type),

    ZufallFaktor = Table.AddColumn(Index, "ZufallFaktor", each List.Random(Table.RowCount(Index)){[Index]}),

    ListMax = Table.AddColumn(ZufallFaktor, "Werte", each List.Max({Minimum .. Maximum})),

    Zufallszahl = Table.AddColumn(ListMax, "Zufallszahl", each Number.RoundDown([ZufallFaktor]*[Werte])),

    Aufraeumen = Table.RemoveColumns(Zufallszahl,{"Index", "ZufallFaktor", "Werte"})

in

    Aufraeumen,

    documentation = [

    Documentation.Author ="Sven Galonska : http://svens-excel-welt.blogspot.com/",

    Documentation.Name = "Zufallszahlen in einem angegebenen Bereich generieren",

    Documentation.Description = "gibt eine Zufallszahl zwischen Minimum und Maximum aus",

    Documentation.LongDescription = "erwartet als Input Parameter Tabelle, Minimum und Maximum",

    Documentation.WhoAskedTheRightQuestion = "http://svens-excel-welt.blogspot.com/",

    Documentation.Category = "Zahl",

    Documentation.Examples = {[Description = "fxZufallszahl(Tabelle,1,100)", Code = "fxZufallszahl(Tabelle,Minimum,Maximum)", Result = "Zufallszahl im Bereich Minimum, Maximum"]}]

in

Value.ReplaceType(fxZufallszahl, Value.ReplaceMetadata(Value.Type(fxZufallszahl), documentation))


---- SCHNAPP ---

alternativer Lösungsweg mit

Number.RoundUp(List.Max(List.Numbers(Minimum,Maximum, Number.Random())))
im Zeilenkontext einer Tabelle (Table Objekt)


1 Index Spalte hinzufügen


2 benutzerdefinierte Spalte hinzufügen

= Number.RoundUp(List.Max(List.Numbers(1000,2000, Number.Random())))





Kommentare

Beliebte Posts aus diesem Blog

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

Dropdown Liste mit Mehrfachauswahl

nützliche Text Funktionen in Power Query