Posts

Posts mit dem Label "Index" werden angezeigt.

Power Query, benutzerdefinierte Funktion fxZufallszahl

Bild
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",     Docu...

Power Query, Spalte in Tabelle transformieren, Datenblock, Number.Mod

Bild
Lern Video Ausgangslage: Datenblock (zB wie hier: Adressdaten) bestehend aus 5 Zeilen  Ziel: Transformation der Datenblöcke in Zeilen Diese Vorgehensweise kann auch für Datenblöcke für N Zeilen angewandt werden. Hierzu muß der Modulo Operator entsprechend angepasst werden (s. Schritt 3) 1 Power Query erstellen (Daten -> aus Tabelle) 2 Indexspalte ergänzen (beginnend mit 1) 3 benutzerdefinierte Spalte [Rest] hinzufügen / Modulo   = Number.Mod([Index],5) 4 bedingte Spalte [Indikator] hinzufügen 5 benutzerdefinierte Spalte [ID] hinzufügen = List.Sum(List.Range(#"Indikator"[Indikator],0,[Index])) 6 Spalten [Index] und [Indikator] entfernen 7 Spalte (hier [Adresse]) pivotieren und Spalten umbenennen alternativer Ansatz mit Listobjekt (Liste), List.Split(), Table.FromRows() 1 Tabelle (eine Spalte) in Liste konvertieren 2 Liste aus Listen (Listobjekten) erzeugen List.Split() 3 Liste in Tabelle konvert...

Power Query, Vorgänger Nachfolger, Index

Bild
Anhand von Datensätzen einer fiktiven Strukturstückliste soll im Folgenden ein Weg mit Power Query aufgezeigt werden, wie man mittels der Index Funktion Vorgänger und Nachfolger ermitteln kann, um zB zwischen Endprodukten, Baugruppen und Komponenten unterscheiden zu können. Ausgangsstruktur Zielstruktur 1 benutzerdefinierte Spalte hinzufügen [Ebene_Zahl] := Value.FromText(Text.End([Stuecklisten_Ebene],1)) 2 Index Spalte hinzufügen 3 weitere benutzerdefinierte Spalten hinzufügen [Vorgaenger_Wert] : = try #"Hinzugefügter Index"[Ebene_Zahl]{[Index]-1} otherwise 0 [Nachfolger_Wert] : = try #"Hinzugefügter Index"[Ebene_Zahl]{[Index]+1} otherwise 0 [Materialklasse] : = if [Ebene_Zahl] = 1 then "Endprodukt" else  if [Ebene_Zahl] = [Vorgaenger_Wert] or [Ebene_Zahl] = [Nachfolger_Wert] then "Komponente" else  "Baugruppe" siehe auch hier

Power Query, laufender Index innerhalb einer Gruppe, Gruppenindex

Bild
Aufgabe: laufenden Index innerhalb einer Gruppe (hier: [Bestellnummer]) erstellen.  Nach Gruppenwechsel  (hier: von Bestellnummer 500000000 zu 6000000000)  fängt der Index wieder bei 1 an 1 Gruppieren, neuer Spaltenname [Daten] 2 benutzerdefinierte Spalte [Gruppenindex] hinzufügen =Table.AddIndexColumn([Daten], "Index", 1, 1) 3 Spalte [Daten] entfernen 4 Spalte [Gruppenindex] erweitern Praxisbeispiel SAP ERP Tabelle MVER (Verbrauchsdaten) Language M Code --- SCHNIPP --- let     Quelle = Excel.CurrentWorkbook(){[Name="tbl_SAP_MVER"]}[Content],     #"Entpivotierte Spalten" = Table.UnpivotOtherColumns(Quelle, {"Material", "Jahr", "Periode", "Zeile"}, "Attribut", "Wert"),     Spalte_Verbrauch_hinzufuegen = Table.AddColumn(#"Entpivotierte Spalten", "Verbrauch", each "Verbrauch"),     Spalte_Attribut_entfer...