Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1812to1816
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie würdet Ihr hier vorgehen???

Wie würdet Ihr hier vorgehen?
11.02.2021 18:27:04
Christian
Hallo liebe Excel-Freunde,
ich würde gerne eure Meinung zu folgender Auswertung (eine Art Lieferantenbewertung) und der angestrebten Optimierung hören.
Zuerst mal die aktuelle Situation:
Ich habe eine Liste mit ca. 260.000 Zeilen, welche Lieferungen und zugleich eine Bewertung je Lieferung darstellen.
Anhand dieser Daten suche ich mir mit Pivot dann die Lieferanten raus die geliefert haben.
Das ist dann die Basis für die weitere(n) Auswertungen.
Es werden insgesamt 7 KPI's für die ermittelten Lieferanten berechnet und das für 3 Geschäftsjahre.
D.h. 6 weitere Datenbasen (die Liste der Lieferungen und dessen Bewertung ist eine davon) und Detailblätter, wo ich die jeweilige Kennzahl für die Lieferanten berechne - die Formel ist meistens ein SUMMEWENNS oder ZÄHLENWENNS, welche man für alle 3 Jahre und alle Lieferanten je Kennzahl macht - dann werden anhand der Werte die Lieferanten untereinander in Prozent verglichen (größter Wert = 0%, kleinster Wert = 100% - wiederum mit Formeln) und natürlich wieder für jedes Jahr.
Natürlich gibt es auch noch eine Gesamtkennzahl mit Gewichtungen die ich anhand der 7 Kennzahlen berechne.
Aufgrund der vielen Formeln ist die Performance natürlich schlecht - Pivot's habe ich aktuell je Detailblatt um die Lieferanten darzustellen - Rest im Detailblatt sind wieder Formeln.
Ich bin natürlich auch am Überlegen, wie man die Performance verbessern könnte und weiß nicht ob nur (Power)Pivot helfen könnte - aber beim Verknüpfen von Tabellen habe ich immer wieder das Problem mit Dublikaten, welche sich aber nicht vermeiden lassen. Oder muss ich eher mit PowerQuery die Sache angehen (hier fehlt mir ehrlich gesagt die Erfahrung).
Was meint Ihr? Wie würdet Ihr die via Pivot ermittelte Lieferantenbasis mit einer weiteren Datenquelle verknüpfen?
Danke schonmal für eure Ratschläge...
Lg,
Chrisi

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wie würdet Ihr hier vorgehen?
11.02.2021 19:18:16
onur
Ich würde VBA nehmen, in einigen Fällen ist es wesentlich schneller als Excel.
AW: Wie würdet Ihr hier vorgehen?
12.02.2021 06:22:35
Christian
Danke für die Rückmeldung!
Und wie siehts mit PowerQuery aus? Wäre das vernünftig / zielführend?
arghh!!!
12.02.2021 09:29:56
Oberschlumpf
Christian, sorry, aber denk doch mal nach!
WIE, bitte schön, sollen wir deine Frage(n) beantworten, wenn wir SO GAR NICHT wissen, wie deine Datei(en) aussieht/aussehen?
Der Hinweis auf VBA ist (nach meiner Meinung) die einzig mögliche Antwort zu deinen bisherigen Beiträgen.
Ohne eine Bsp-Datei per Upload von dir mit ausreichend vielen Bsp-Datenzeilen + eben deinen bisherigen Formeln, anhand derer man dein Problem genau nachvollziehen kann, glaube ich nicht, dass du eine wirklich hilfreiche Antwort erhalten kannst.
Ciao
Thorsten
Anzeige
AW: arghh!!!
12.02.2021 09:47:33
Yal
Hallo zusammen,
@Thorsten: es geht hier nicht direkt um die Lösung eines Problems, sondern eher eine allgemeine Beratung.
Meine Meinung:
_ grosse Datenbestand (für Excel Verhältnis)
_ stabile Datensatz-Struktur
_ stabile Auswertungsvorgang
Spricht alles für die Verwendung von einer Datenank.
Wenn doch Excel, dann Power Query um den Datenbestand schnell mit Zusatzinfo pro Datensatz hinzufügen (u.a. Joins), die eine bessere/einfachere Pivottabelle ermöglicht, eventuell bereit eine Verdichtung, um die Perf zu erhöhen, aber nur wenn notwendig. Beide parallel geht auch.
Ziel ist dabei alle Daten-Vorbereitungsaufgaben in einem Block zu fassen. Dann ist es annehmbar, dass es vor der Auswertung ein bischen dauert (Stabilität), wenn dann während der Auswertung alles viel schneller geht (Flexibilität).
Es ist nur eine Meinung. Aber danach war gefragt.
Schönes WE & Grüße
Yal
Anzeige
AW: arghh!!!
12.02.2021 10:05:02
Oberschlumpf
Hi,
hmm..na gut...eigtl hast du recht!
Also...
Hi Christian,
ich entschuldige mich bei dir für meine Ungeduld, dir hier fehl am Platz ist, weil ich den Kerninhalt deiner Frage(n) nicht richtig verstanden hatte.
Ciao
Thorsten
:-)
12.02.2021 10:36:15
Yal
Hallo Thorsten,
ich wollte nicht tadeln. Nicht dass es falsch ankommt.
Dafür aber ein Lob für deine Zurücknahme. Es ist eine Aufrichtigkeit, die oft vermisst wird.
Schönes Wochenende
VG
Yal
AW: :-)
12.02.2021 10:47:34
Oberschlumpf
Hi (heißt du wirklich Yal?),
ich hab es nich als Tadel, sondern als gerechtfertigte, negative Kritik verstanden.
Und bevor es zu einem weiteren Missverständnis kommt:
die Bezeichnung "negative Kritik" ist (auch) nicht von mir als Äquivalent zu Tadel gemeint, sondern es gibt sowohl "negative Kritik" (Hinweis auf n Fehler), als auch "positive Kritik" (Lob). Daher verwende ich halt immer den Zusatz "negativ" oder "positiv".
Ciao
Thorsten
Anzeige
AW: Wie würdet Ihr hier vorgehen?
12.02.2021 09:58:28
Luschi
Hallo Christian,
bei diesen Datenmengen ist die Kombination PQ (PowerQuery) und PPvt (PowerPivot) die bessere Wahl:
- in einer leeren Excelmappe per PQ alle benötigten Datendateien in das Datenmodell bringen
- in PQ die Daten aufbereiten
- im Datenmodell die Beziehungen zwischen den einzelnen Tabellen aufbauen
- per PPvt & Measures die Daten des Datenmodells in berechnete Felder zusamenfassen
- nicht interessante Felder ausblenden
- und für Pivot unsichtbar setzen
- aus PPvt die Excel-Pivottabellen aufbauen
Vorteile:
- PQ hat die besseren Einlese- und Aufbereitungsmethoden als Vba
- PPvt die besseren Auswertemethoden als nur Excel-Pivot
- Datum-/Zeit-Intelligenz-Methoden in PPvt lassen Zeitraumvergleiche zu
  in dem viele eingebaute Funktionen (z.B. SumX) per Filtersetzung die
  Ergebnisse korrekt berechnen
- ohne eine Änderung am Measure vornehmen zu müssen
Nachteil:
- man muß viel Wissen sich neu aneignen
- viel Recherchieren im I-Net
- und viel Testen, da nicht jeder Tipp gleich zum Erfolg führt
Voraussetzung:
- saubere Datenbasis
Gruß von Luschi
aus klein-Paris
Anzeige
AW: Wie würdet Ihr hier vorgehen?
12.02.2021 11:40:08
Klaus
Hallo Chrisi,
wie ICH vorgehen würde:
alle 260k Zeilen in eine Access-Datenbank exportieren. Statt mit Excelformeln über VBA mit SQL-Abfragen arbeiten. Gerade "SUMMEWENN" über viele Datensätze lässt sich mit SQL sehr schnell realisieren.
(aber das sage ich nur, weil ich kein Power Query kann ...)
LG,
Klaus
Was? Du kannst noch kein PQ? ;-)
12.02.2021 14:37:24
Yal
Hallo Klaus,
trotz 20 Jahre Erfahrung, kannte ich bis vor 2 Monate PQ auch nicht (und seit heute Power Pivot).
Folgend die Excel Hero Power Query Playlist, die -zunmindest mir- ein leichter in der Materie ermöglicht.
(7 Videos, ca. 60 Min. In doppelter Geschwindigkeit ist es noch verständlich :-)
https://www.youtube.com/playlist?list=PLy5TtUB84yrN2VVRzp8Tif8bxQKJD_2bo
VG
Yal
Anzeige
AW: Was? Du kannst noch kein PQ? ;-)
15.02.2021 12:37:31
Klaus
Die Videos werde ich mir alle rein ziehen. Danke, Yal!
AW: Wie würdet Ihr hier vorgehen?
12.02.2021 14:50:06
Daniel
Hi
ohne die Datei zu kennen und die konkrete Aufgabenstellung, ist es natürlich immer schwierig was zu sagen.
Wenn Pivottabellen nicht das Mittel der Wahl sind dann ließen sich schon über VBA mit dem notwendigen Kenntnisstand und Abstraktionsvermögen schon schnelle Auswertungen programmieren, allerdings scheint mir hierfür die Kenntnis des Dictionary-Objektes und dessen kreative Anwendung zur Lösung der Aufgabe unerlässlich (ist jetzt nicht mehr unbedingt VBA-Bescheiden).
wenn man solche Monsterlisten mit Formeln auswerten will, sind Summe- und ZählenWenns suboptimal, wie du schon erkannt hast.
Will man bei Auswertung per Formel bleiben, kann man sich aber mit etwas aufwand behelfen:
die Liste muss so sortiert sein, dass möglichst viele Werte, die zu einer Auswertung gehören, lückenlos untereinander stehen.
dann ermittelt man per VERGLEICH den Start- und Endzeilennummer eines solchen Blocks (bei geschickter Sortierung geht das dann auch mit der Variante 3. Parameter = 1, welche um welten schneller ist als die Variante mit 0) und bildet dann über diesen Zellbereich die einfache Summe.
das ist dann meistens wesentlich schneller als ein SummeWenns über den ganzen bereich.
auch kann man die Ermittlung der Zellbereiche dann für mehrere verschiedene Kennzahlen wieder verwenden, ohne dass diese jedesmal neu berechnet werden müssen.
Damit lässt sich dann die Performance einer solchen Formelbasierten auswertung erheblich steigern.
Gruß Daniel
Anzeige
AW: Wie würdet Ihr hier vorgehen?
13.02.2021 18:32:18
Christian
@ all: Vielen lieben Dank für eure Inputs - ich denke ich muss mir einfach die Mühe machen und den Umgang mit PowerQuery zu lernen, da dies sicherlich die Zukunft sein wird. Bin gerade dabei mir die Youtube-Videos reinzuziehen - mal schauen, vielleicht komme ich ja mit der ein oder anderen Frage wieder zu Euch ;-)
Lg und schönen Abend!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige