Hallo Alfons,
Dein Weg zum Ziel führt theoretisch über den Datenpiloten, mit dem
Du eine Pivot-Tabelle erstellst.
Alfons Mair schrieb:
Ich habe eine Calc-Tabelle mit ca. 64000 Zeilen auszuwerten
Das allerdings stellt einen interessanten Praxistest für den
Datenpiloten von OOo dar. Ich würde nicht wagen zu prognostizieren,
dass der das noch schafft.
Und selbst wenn es klappt, hast Du ein grundsätzliches Problem.
Dieses Mal hast Du 64.000 Zeilen. Ok. Calc und Excel ermöglichen
theoretisch 65.536 Zeilen. Aber dann ist Schluss. Wieviele Zeilen
wird Dein Kunde das nächste oder übernächste Mal liefern?
So toll das mit Excel und/oder Calc mit dem Datenpiloten und der
Pivottabelle geht und so sehr und oft (manche) einem zu Unrecht
vorwerfen, man würde Calc als Datenbankprogramm missbrauchen, bei
einer so großen Anzahl von Datensätzen wird der Vorwurf zu Recht
erhoben.
Die eigentlich nahe liegende Vorgehensweise wäre, dass man die Werte
für Stückzahl und Nettowert der einen Liste negativ macht, die
zweite Liste mit den weiterhin positiven Werten unten drankopiert
und nun mit dem Datenpiloten alles nach Belegnummer,
Kundenmaterialnummer und Materialnummer zusammenfasst. Dort wo die
beiden ursprünglichen Listen wertmäßig nicht übereingestimmt haben,
erhält man in der Zusammenfassung Werte ungleich 0.
Diese Vorgehensweise würde aber die theoretisch max. Zeilenzahl von
Calc überschreiten.
Daher ein anderer Weg, falls er denn klappt und nicht aufgrund einer
Überschreitung der praktisch maximal möglichen Zeilenzahl scheitert:
Erzeuge mit dem Datenpiloten auf Basis der Liste, in der die
Belegnummern mehrfach auftauchen eine Pivot-Tabelle. Zeilenfelder
sind: Belegnummer, Kundenmaterialnummer und Materialnummer.
Datenfelder sind Stückzahl und Nettowert (entweder beide oder nur
eines davon ). Seitenfelder und Spaltenfelder lassen wir leer.
Achte darauf, dass Du bei Zusätze im Entwurfsdialog des
Datenpiloten bei Ausgabe ab einstellst: -neue Tabelle-.
Falls es der Datenpilot packt fasst er in der als Ergebnis
angezeigten Pivot-Tabelle alle Zeilen, bei denen Belegnummer,
Kundenmaterialnummer und Materialnummer identisch sind zu einer
Zeile zusammen.
Falls Du als Datenfelder nicht nur eines der beiden Stückzahl und
Nettowert genommen hast, enthält das Ergebnis ein graues Feld mit
der Bezeichnung Daten. Für ein zweckmäßigeres Layout ziehst Du
dieses mit der Maus etwas nach rechts, damit die Summen der
Stückzahlen und die Summen der Nettowerte wieder in zwei Spalten
nebeneinander stehen.
Eventuell bildet der Datenpilot Zeilen mit Zwischensummen. Die
stören nur. Du kannst sie unterdrücken, wenn Du im Entwurfsdialog
des Datenpiloten auf den Symbolen für die Zeilenfelder jeweils einen
Doppelklick machst und Teilergebnisse auf Nein einstellst.
Wenn das bis hierher geklappt hast, ist das ein wesentlicher
Schritt. Denn nun hast Du zwei vergleichbare Tabellen, die stets zu
jeder vorkommenden Kombination von Belegnummer, Kundenmaterialnummer
und Materialnummer nur eine Zeile anzeigen. Die Zeilenzahl beider
Tabellen zusammen, dürfte nun deutlich geringer sein als 65.536.
(Wenn nicht, haben wir verloren.)
Nun gilt es diese Tabellen zu vergleichen: Gibt es Zeilen in der
einen Tabelle, die es in der anderen nicht gibt, oder umgekehrt? Und
haben gemeinsam vorkommende Zeilen die selben Werte bei Stückzahl
und Nettowert?
Das machen wir wieder mit dem Datenpiloten. Die dem erneuten Einsatz
des Datenpiloten zugrunde liegende Urliste müssen wir erst erstellen:
(1) In der Liste, die bislang unverändert blieb, weil sie ohnehin
schon eindeutige Zeilen hatte, machen wir die Stückzahlen und
Nettowerte negativ. Wie das geht, haben wir in einem parallelen
Thread geklärt.
(2) Nun markieren wir aus der Pivottabelle alle Zellen ohne die
Spaltenüberschriften und die Summenzeile. Dieser Zellbereich müsste
den selben strukturellen Aufbau haben, wie die Liste bei (1).
(3) Wir kopieren die Daten aus der Pivotabelle unter die Liste von (1).
(4) Nun erzeugen wir auf Basis der so zusammenkopierten Liste mit
dem Datenpiloten eine Aufsummierung der negativen und nicht
negativen Werte je Belegnummer, Kundenmaterialnummer und
Materialnummer. (Zeilenfelder sind Belegnummer, Kundenmaterialnummer
und Materialnummer).
Überall, wo im Ergebnis keine 0 rauskommt, stimmen die
ursprünglichen Listen nicht überein.
Na dann viel Glück! ;-)
Das Ganze ist ein sportlich-ehrgeiziges Vorhaben. Solider wäre es
sicher, mit einem echten Datenbankprogramm zu arbeiten. Das erlernt
man aber nicht aus dem Stand in ein bis zwei Stunden :-(
Gruß
Stefan
-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]