Portierung Warenwirtschaft zu neuem System

coldition

Lt. Junior Grade
Registriert
März 2012
Beiträge
406
Hallo Leute,

die Eltern meiner Freundin haben mich gefragt ob ich ihnen weiterhelfen kann, da sie auf ein neues Warenwirtschaftssystem wechseln müssen und die Portierung laut dem gekauften WaWi total einfach sein sollte, die Eltern meiner Freundin aber nun im Regen stehen gelassen wurden. Nun will die WaWi Firma plötzlich eine exorbitante Summe für die Portierung, was die Eltern meiner Freundin nicht einfach stemmen können.
Aktuell liegen die Daten in einer selbst erstellten Datenbank im Dbase Format vor. Es handelt sich dabei immer um Einzelprodukte. Es sind also alle Produkte als einzelnes Produkt angelegt obwohl diese vielleicht einem Hauptprodukt zugeordnet werden könnten.
Nun zum Problem.

Das WaWi System möchte EAN Nummern haben, die bisher in der 53000 Zeilen Produktdatei noch nicht enthalten sind. Die EAN Nummern werden aber aktuell von den Mitarbeitern über eine Inventur in einer seperaten Datei im Zusammenhang mit der Unique Id des Produkts erfasst. Diese Datei müsste aber über einen Abgleich anschliessend mit dem aktuell noch laufenden System zusammengefasst werden, damit die EAN Nummern den entsprechenden IDs zugeordnet in gleicher Tabelle zu finden sind.

Ein weiteres Problem ist, dass eine Herstellernummer bisher in der gleichen Spalte wie die Bezeichnung eingetragen wurde, dass neue WaWi System allerdings eine Identifikation des Produkts über EAN und Herstellernummer vornimmt, weswegen die Bezeichnung und Herstellernummer irgendwie getrennt werden müssen, was bei 53000 Datensätzen natürlich händisch etwas schwierig wäre.

Ich hatte überlegt die Daten aus Dbase zu nehmen, in eine CSV zu portieren und anschließend über xampp in einer Datenbank irgendwie zu verbinden, allerdings konnte ich dazu noch nicht die richtige SQL Abfrage finden. Bei der Trennung der Zeile habe ich bisher noch keinen Lösungsansatz gefunden, wobei die Herstellernummer immer am Anfang steht und die Artikelbezeichnung darauf folgt. Meistens sind diese auch über eine Leertaste getrennt.

Über Hilfe würde ich mich sehr freuen.
Lg
 
coldition schrieb:
53000 Zeilen Produktdatei
Excel ist dein Freund. Macros, funktionen, direktes visuelles Feedback, CSV-Import/Export, Copy/Paste. Ein notepad++ mit ein paar geschickt gewählten RegEx-Ausdrücken kann per Copy/Paste als Dreingabe helfen.
Vor allem, weil man 53000 Zeilen spielend mit 3-4 Leuten in Excel in ein paar Stunden manuell visuell kontrollieren und nacharbeiten kann, wenn irgendwo Datenformatfehler sind.
 
  • Gefällt mir
Reaktionen: Hayda Ministral
coldition schrieb:
Aktuell liegen die Daten in einer selbst erstellten Datenbank im Dbase Format vor.
Wer hat den die DB erstellt?
Liegt Dir der genau interne Aufbau vor?

Im Endeffekt muss man wohl die DB erst normalisieren, um die Tupelattribute sauber zu bekommen.

Export in CSV, dort über Funktionen die vermischten Attribute entzerren.
Man kann hier auch die entsprechenden EANs mit einarbeiten, um den Import in das neue WaWi vorzubereiten.

Vor Kauf des WaWi hätte man evtl. die Dienstleistung der Datenübernahme mit anbieten lassen sollen u. nicht auf PR-Speech setzen - vlt. ist ein ursprüngliche teuerer Anbieter in Summe günstiger ;-)
 
  • Gefällt mir
Reaktionen: konkretor
coldition schrieb:
da sie auf ein neues Warenwirtschaftssystem wechseln müssen und die Portierung laut dem gekauften WaWi total einfach sein sollte, die Eltern meiner Freundin aber nun im Regen stehen gelassen wurden. Nun will die WaWi Firma plötzlich eine exorbitante Summe für die Portierung, was die Eltern meiner Freundin nicht einfach stemmen können.
So etwas lässt man sich vor Kauf vertraglich garantieren. Aber gut, jetzt ist das Kind wohl schon in den Brunnen gefallen.

In der Doku von der neuen SW wird doch zu den unterstützten importierbaren Dateiformaten etwas stehen. Ihr müsst die alten Daten in eines dieser Formate bekommen - oder andernfalls Unterstützung zukaufen die das erledigt.
 
  • Gefällt mir
Reaktionen: konkretor und Hayda Ministral
@TechX der Vater meiner Freundin hat die Datenbank und das System vor 30 Jahren mit DOS gemacht. Also der genaue Aufbau ist bekannt und eine exportierte Dbase Datei mit den Spalten der Artikel Tabelle habe ich ebenfalls vorliegen.

Natürlich hätte man sich da vorher besser absichern können, aber da muss man auch ganz ehrlich sagen, dass Menschen, welche bereits in Rente sind nicht mehr sehr standhaft auf gut koordinierte Verkaufsstrategien sind und bereits nach wenigen Gesprächen zum Kauf konditioniert sind. Bringt allerdings alles nichts, dass Ding ist gekauft und jetzt muss irgendwie portiert werden. Habe mir bestimmt Tausend Funktionen durchgelesen und keine erschien mir als möglich Lösung. Am ehesten der SVerweis könnte in abgewandelter Form für die EANs zum Einsatz kommen.

@iamunknown Natürlich wird dort auf die unterstützten Formate eingegangen und diese habe ich auch bereits mit den vorliegenden abgeglichen und daraus resultieren auch die Probleme.
 
Na was ist denn jetzt das explizite Problem? Wie soll dir jemand helfen?
Die erste Antwort sagt es doch bereits: Da musst du dich hinsetzen, vergleichen was du an Quelldaten hast und in welches Zielformat es muss und dann geht es los mit Excel & Co. Frag mal LauraM :D
Wenn du die Arbeitszeit nachher durch 8-Stunden Blöcke teilst und dann mit ~1000 multiplizierst, weißt du auch ob der aufgerufene Preis tatsächlich "exorbitant" gewesen wäre. Das ist halt Handarbeit.
 
  • Gefällt mir
Reaktionen: Oelepoeto, bog, konkretor und eine weitere Person
Naja in der ersten Antwort wird unspezifisch gesagt das man da was mit excel funktionen machen kann, darauf resultierte meine Antwort, dass ich mir viele angesehen habe, aber keine nützliche, welche mir helfen könnte, gefunden habe.
und das explizite Problem wurde doch auch geschildert. Ich habe einen 53000 Zeilen Datensatz in den eine weitere Spalte muss mit Nummern, welche über die ID in einer Tabelle mit den der ID in der anderen Tabelle abgeglichen werden sollen, damit die korrekten Artikel die korrekte Nummern bekommen. Und anschließend das Problem, dass der Inhalt einer Spalte aufgetrennt werden soll in zwei Spalten. Die Probleme wurden extra spezifiziert, damit die Antworten ebenfalls spezifisch getroffen werden können. Das es irgendwie mit Excel Funktionen und einer weiteren Auflistung von diversen allgemeinen Programmen geht ist mir bewusst, aber ich habe extra noch einmal nachgefragt ob eine etwas spezifischere Antwort zu erhalten.
Natürlich kann man das alles von Hand machen, aber dann kann man auch einfach alles löschen und neu machen.
 
coldition schrieb:
und das explizite Problem wurde doch auch geschildert. Ich habe einen 53000 Zeilen Datensatz in den eine weitere Spalte muss mit Nummern, welche über die ID in einer Tabelle mit den der ID in der anderen Tabelle abgeglichen werden sollen, damit die korrekten Artikel die korrekte Nummern bekommen.
... und hast dabei SVERWEIS gefunden, was willst du denn noch mehr?
Du kannst das auch in ACCESS machen, wenn nachher noch mehr Tabellen dazu kommen.
coldition schrieb:
Und anschließend das Problem, dass der Inhalt einer Spalte aufgetrennt werden soll in zwei Spalten.
... ohne Beispieldaten kann dir niemand eine konkrete Lösung geben. Wahrscheinlich ist die Lösung einfach "nimm die ersten X Zeichen", aber wie soll das jemand wissen ohne die Daten zu sehen.

coldition schrieb:
Die Probleme wurden extra spezifiziert, damit die Antworten ebenfalls spezifisch getroffen werden können.
Mit den gegebenen Informationen oben können die Probleme nicht abschließend gelöst werden. Willst du eine vernünftige Antwort, mache es den Antwortwilligen einfach, indem du vernünftige Fragen stellst:
"
Ich habe eine Tabelle in XY mit einer Spalte, in denen die Inhalte so aussehen
1234568Bezeichnung
9876541 Produkt
Wie mache ich daraus zwei Spalten mit
1234568 | Bezeichnung
9876541 | Produkt
Ich habe bereits folgenden Lösungsansatz..... dabei gibt es aber das Problem....
"
 
  • Gefällt mir
Reaktionen: lokked, snaxilian, Myron und eine weitere Person
coldition schrieb:
Bei der Trennung der Zeile habe ich bisher noch keinen Lösungsansatz gefunden, wobei die Herstellernummer immer am Anfang steht und die Artikelbezeichnung darauf folgt. Meistens sind diese auch über eine Leertaste getrennt.
Deswegen mein Exceltipp (und dann halt mit den üblichen Excel-Stringfunktionen arbeiten, z.B LINKS, RECHTS, TEIL, Feldinhalt am Leerzeichen trennen, ...)
Das Stichwort „meistens“ ist für mich ein deutlicher Hinweis, dass man evtl. manuell kontrollieren und nacharbeiten muss.

Tut mir leid, wenn du meinen Excel-Tipp zu unspezifisch fandest.
Hört sich halt an, dass du die Daten erstmal etwas manuell aufbereiten musst. Die magische 5min-Lösung, die du suchst, gibt es nicht, wenn die Daten nicht 100% gepflegt und normalisiert sind.

Und hört sich auch etwas danach an, dass du sowas bisher noch nicht mit Excel und Access gemacht hast...
 
  • Gefällt mir
Reaktionen: I'm unknown
coldition schrieb:
aber keine nützliche, welche mir helfen könnte, gefunden habe.
Nun ja, dann wird es wohl darauf hinaus laufen doch Support zu kaufen.
coldition schrieb:
und das explizite Problem wurde doch auch geschildert. Ich habe einen 53000 Zeilen Datensatz in den eine weitere Spalte muss mit Nummern, welche über die ID in einer Tabelle mit den der ID in der anderen Tabelle abgeglichen werden sollen, damit die korrekten Artikel die korrekte Nummern bekommen.
Ja - auf das explizit beschriebene Problem ohne Beispiele hast du
coldition schrieb:
Und anschließend das Problem, dass der Inhalt einer Spalte aufgetrennt werden soll in zwei Spalten.
coldition schrieb:
Die Probleme wurden extra spezifiziert, damit die Antworten ebenfalls spezifisch getroffen werden können.
eben explizit spezifische Antworten bekommen dass man Strings mit Stringfunktionen bearbeitet.
Also Zellen duplizieren mit den Funktionen und den relevanten Teil mit Copy & Paste in eine importierbare CSV speichern. Die neu angelegten EANs kann man - wenn über die eineindeutige UID gemappt auch mit sortieren wieder rein kopieren. Nicht schön, aber funktioniert.
alxa schrieb:
Hört sich halt an, dass du die Daten erstmal etwas manuell aufbereiten musst. Die magische 5min-Lösung, die du suchst, gibt es nicht, wenn die Daten nicht 100% gepflegt und normalisiert sind.
Genau das ist eben Thema: Nur weil IT ist eine Lösung nicht zwangsweise schnell oder ohne Arbeit verbunden. Daher auch die Kosten wenn ein externer Dienstleister von einem unbekannten System migrieren soll. Ist eben genauso Arbeit wie alles andere.
 
Enurian schrieb:
... ohne Beispieldaten kann dir niemand eine konkrete Lösung geben
das ist einfach der springende Punkt... wenn das Problem so einfach zu lösen wäre, wäre es von dir schon längst gelöst.

Du hast etwas in gefühlten 10 Sätzen beschrieben. Manche schreiben ein 20 seitiges Dokument in einer Art Projektdefinition/Lastenheft um die Probleme wirklich genau zu spezifizieren einschließlich Testdaten. Und selbst dann wurden doch noch diverse Sonderlocken vergessen.

Daher: Frag bei diversen IT Freelancern an ob die helfen können und was es kostet. Wenn die Summen alle so hoch aussehen werden (ich gehe davon aus, dass es kein gewerblicher für eine 3 stellige Summe machen wird), dann wird dir auf einmal klar, dass da doch mehr als 5h Arbeit drin stecken wird. Und Arbeit möchte halt entsprechend entlohnt werden.
 
Ich persönlich würde es mit python machen.
Dabei ist aber die Frage:
coldition schrieb:
Die EAN Nummern werden aber aktuell von den Mitarbeitern über eine Inventur in einer seperaten Datei im Zusammenhang mit der Unique Id des Produkts erfasst.
Was für ein Format hat denn die Datei? Ist das auch dbase?

Kurze Recherche ergab, dass es für dbase ein paar module gibt um die einzulesen, dann könnte man einfach beide Files einlesen, die IDs überprüfen und die EANs matchen und die Spalte, die getrennt werden soll, entweder nach dem Leerzeichen suchen und da splitten oder nach der Position der letzten Ziffer der Herstellernummer suchen und den String (ich gehe davon aus, dass die Bezeichnung keine Zahlen enthält, bzw. die Herstellernr. eine feste länge besitzt) einfach splitten.
So würde ich es machen. Und je nach Datenformat, das du für den Import dann brauchst, kannst du das dann natürlich auch gleich im entsprechenden Format speichern

Edit:
Da sind ein paar Beispiele für den Anfang:
https://dbfread.readthedocs.io/en/latest/exporting_data.html

Ansonsten sind Beispieldaten bei so einem Problem immer sehr hilfreich ;)
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: lokked
coldition schrieb:
eine weitere Spalte muss mit Nummern, welche über die ID in einer Tabelle mit den der ID in der anderen Tabelle abgeglichen werden sollen
Nennt sich Primärschlüssel, damit eine 1:1-Beziehung zu den Artikeln existent wird.
coldition schrieb:
das Problem, dass der Inhalt einer Spalte aufgetrennt werden soll in zwei Spalten
Vorgang der Normalisierung - pro Zelle darf nur ein spezifizierter Wert enthalten sein, den man dann über seinen Primärschlüssel einbinden kann.

Entweder kann man hier mit den Textfunktionen Links(), Rechts() usw. arbeiten oder es befindet sich an beliebiger Stelle ein definiertes Trennzeichen, dann muss man dass mit dem Rest nochmal kombinieren - alternativ ginge ein Excel-Makro.

Das scheint mir aber nur Teilproblem zu sein, denn Du wirst wohl auch Deduplizieren u. Inkosistenzen auflösen müssen.

Da Dir die Stringmanipulationfunktionen von Excel allerdings bislang keinen Lösungsweg aufzeigen, befürchte ich, dass Dir weder Datenbankdefinitionen, noch Tabellenkalkulationsfunktionen wirklich geläufig sind.

BTW - wie hoch ist eine exorbitante Summe für Aufbereitung von 50k-Datensätzen eigentlich?
 
Also ich mach sowas öfter, das ist jetzt an sich keine Raketenwissenschaft. Wenn man ein bissl coden kann in irgendeiner Sprache und das mit Excel kombiniert ist das fix erledigt.
Ich muss aber auch sagen: wenn du das noch nie gemacht hast kann das frickelig werden (das gilt für alles auf der Welt), von daher musst du entweder Idiotentour gehen und aus Fehlern lernen oder halt wen anheuern.

Mehr kann ich dir da nicht helfen, wenn du Beispieldaten postest kann ich dir höchstens sagen wie lang ich so in etwa dafür bräuchte bzw wie ichs machen würde, aber ist nicht drin ohne Beispiel und genaue Beschreibung was wo dran, weg oder generiert werden muss....
 
@coldition Gibts nen Update?
Klingt ja prinzipiell nicht so kompliziert, ob die Datenbank integer ist ist wohl die Gretchenfrage. Habt ihr auch soviele EANs in der Inventurdatei wie Unique Ids in der Haupttabelle?
 
@lokked @mambokurt Aktuell noch nicht, ich kann aber versuchen mal die beiden excel tabellen teilweise hochzuladen und die excel tabelle, mit einem Beispiel wie es am ende sein soll. Habe jetzt etwas mit XAMPP rum getestet, aber ich hab immer einen Fehler in der Select Anweisung für das zusammenführen der Daten, was aber auch teilweise daran liegen könnte das die Daten aus der xls Tabelle nicht 100% fehlerfrei importiert worden sind.

@TechX exorbitant Summe ist 4800 Euro, mag sein, dass es für andere nicht exorbitant ist, aber wir reden über einen Familienbetrieb
 
Inzwischen ist 1 ganzer Monat vergangen - in der Zeit hätte man das ganze schon fast per Hand eingeben bzw. manuell zusammenkopieren können und derzeit sieht das nicht danach aus, dass Du dem Ziel tatsächlich näher kommen würdest. Das muss man sich als Betrieb auch erst mal leisten können - auch hinsichtlich ggfs. Folgekosten durch evtl. Fehler deinerseits.

BTW - die 4,8k€ gehen ja auch nicht direkt aus der Geldbörse deiner "Schwiegereltern"
 
  • Gefällt mir
Reaktionen: I'm unknown
Zurück
Oben