ich möchte gerne eine Bestands-Chronologie für Produkte erstellen. Dafür gibt es mehrere Tabellen die einen vergangenen Stand angeben und eine Tabelle mit den aktuellen Werten. Nun möchte ich die Tabellen verbinden und mir anzeigen lassen, was die Produkte aus der aktuellen Tabellen für vergangene Bestände hatten. In jeder Tabelle gibt es eine Datumsspalte. Also war meine Idee: Die Tabelle so formatieren, dass das Datum aus der Datumsspalte als Überschrift dient. Darunter dann die Lagerbestände. Dann die Tabellen verbinden über Tabellen zusammenführen. Abschließend die Tabellen wieder zurückformatieren, dass das Datum wieder in der Datumsspalte angezeigt wird. Dann direkt in eine Pivot laden. ich tüftel schon eine gefühlte Ewigkeit daran, aber komme nicht weiter. Eine Muster-Datei mit vereinfachten Daten habe ich angefügt und auch eine Darstellung der PQ-Abfrage. Würde mich sehr über eure Hilfe freuen. Vielen Dank.
Problem ist für mich leider nicht ersichtlich. Warum gibt es nicht eine Tabelle wo der aktuelle Stand einfach angehängt wird und die Tabelle ausgewertet mit Pivot?
vielen Dank für deine Pivot. Aber es dürfen am Ende nur noch die Produkte erscheinen, die in der aktuellen Tabelle angezeigt werden. Jetzt könnte ich die Pivot filtern auf Produkt 1,2,3,4. Aber kommt nun Produkt 5 dazu, dann wird dieser nicht angezeigt weil der Filter nicht dynamisch ist. Daher wollte ich in Power Query die aktuelle Tabelle als Basis nehmen und dann über Tabellen zusammenfügen die alten Werte hinzufügen. Aber beim Pivotieren, Entpivotieren der Spalten in Power Query komme ich einfach nicht weiter.
05.01.2023, 11:49 (Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2023, 11:50 von Elex.)
Bin da ganz bei @snb Das Filtern kannst du Dir evtl. durch eine HS mit Formel erleichtern. =ODER([@Produktnummer]=WENN([Datum]=MAX([Datum]);[Produktnummer])) 'mit strg+shift+enter abschließen
Nehme ich die aktuelle Tabelle als Basis und füge die vorherigen Werte als left join hinzu, dann kann ich doch die Tabelle dynamisch gestalten. Grundsätzlich gebe ich euch recht, ist es eine gute Lösung alle Produkte aufrufen zu können, aber in diesem Fall sollen die nicht angezeigt werden. Eine Formel-Lösung ist eher nicht optimal. Dies ist hier nur eine vereinfachte Version. Die Chronologie besteht aus 250.000 Zeilen. Daher die Möglichkeit über Power Query und die Daten direkt in eine Pivot zu laden um so eine Ressourcen sparende Lösung zu finden.
Aber bekommt man es nicht über etwas pivotieren/unpivotieren in Power Query hin?
05.01.2023, 13:31 (Dieser Beitrag wurde zuletzt bearbeitet: 05.01.2023, 13:33 von snb.)
Wie dynamisch VBA sein kann:
Code:
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Columns(1).Resize(, 4)) Is Nothing Then PivotTables(1).RefreshTable End Sub
Wie effektiv eine Zeile VBA-Code sein kann. Vielen Dank. Wenn ich das richtig lese, dann ist das ein Change-Event. Wird etwas im Arbeitsblatt geändert, dann refreshed sich die Pivot. Intersect macht einen Vergleich? Habe ich das richtig gelesen?