dellone
Goto Top

Eine große "Kundendatenbank" in 1.000 kleine Exceldateien speichern

Hallo zusammen,

ich bin so so verzweifelt. Vielleicht habe ich ja Glück und irgendwer erbarmt sich hier und hilft mir.

Also es gibt eine große Kundendatenbank (alles in Excel) diese soll nun nach Kundenbetreuer gefiltet und aufgebrochen in 1.000 neue kleine Exceldateien gesplittet werden. Sprich, Kundenbetreuer A hat 150 Kunden, Kundenbetreuer B hat nur 2, gespeichert sind diese Zeilen dann in jeweils zwei neue Exceldateien. Am besten heißt die erste Datei KundenbetreuerA und die zweite Datei KundenbetreuerB.

Habe mich schon wust gesucht und alles mögliche gefunden:
Zeilen in neue Datei kopieren, wenn Bedingung erfüllt (wenn KundenbetreuerA)
Aber es sind 1.100 Kundenbetreuer, wie binde ich diese in die Abfrage ein??
UND wie speichere ich diese Datei dann und das zwingend mit dem Namen Kunden2020_KundenbetreuerA?


Ich bin wirklich hier total überfordert, aber brauche dieses Tool, sonst bin ich aufgeschmissen.

Jemand 5 Minuten?

Content-Key: 631671

Url: https://administrator.de/contentid/631671

Printed on: April 19, 2024 at 20:04 o'clock

Member: Lochkartenstanzer
Lochkartenstanzer Dec 15, 2020 updated at 19:49:41 (UTC)
Goto Top
Moin,

  • Expotiere die Exceltabelle als csv
  • filtere mit awk die Spalte it dem vertriebsmitarbeiter heraus und speicere alle vertriebsmitarbeiter in einer textdatei,
  • filtere mit hilfe der vertrieblerdatei immer aus der CSV mit hilfe von grep die passenden Kunden heraus und schreibe diese in die entsprechende CSV des Vertrieblers.

fertig in 10 Minuten

z.B. sei kundendaten.csv die mit ";" separierte Liste:

$ gawk  -F ";" { ' print $(spaltenummer für vertrieb) } ' < kundendaten.csv | sort -u  >vertriebsliste.txt
$ cat vertriebsliste.txt | xarg s-l1 -I XXXX echo "grep XXXX kundendaten.csv | tee XXXX.csv" >trenne-csvs.sh
$ source trenne-csvs.sh

Das ist ein Schnellschuß und soltel es für die meisten Fälle tun.

Da dauert die Installation von WSL (Windows Subsystem for Llinux) und Ubuntu/debian länger als es dann auszuführen. face-smile

lks
Member: em-pie
em-pie Dec 15, 2020 at 20:01:09 (UTC)
Goto Top
Moin,

Und PIVOT kommt nicht in Frage?

Ansonsten alles rein in eine DB, und mit einem Frontend (Access, PHP, Excel,...) drüber legen...

Gruß
em-pie
Member: Dellone
Dellone Dec 15, 2020 at 20:18:57 (UTC)
Goto Top
Es sollen ja am Ende diese Kundenbetreuer/Vertriebler ausschließlich ihre Kunden bekommen in einer neuen kleineren Datei. Wie funktioniert das via Pivot? Ich meine nicht das Filtern, das kriege ich hin. Ich möchte es nur nicht 1200 manuell machen. Filtern, speichern unter, Namen eingeben, wieder zurück in die Mama-Datei und wieder filtern, speichern unter, wieder wieder wieder....

Ich hoffe, Du verstehst mich.

Habe ich schon DANKE gesagt?!....DANKE für die Hilfe, ehrlich, so eine schnell Resonanz hätte ich nicht erwartet.
Zu der anderen Lösung mit Access....ist eine Lösung, allerdings kann ich dann doch nicht an die Kundenbetreuer diese Mini-Listen verschicken, oder? Die müssten dann in der DB ihre Liste abfragen, oder?
Member: Dellone
Dellone Dec 15, 2020 at 20:26:57 (UTC)
Goto Top
Hallo lks,

auch Dir erstmal vielen Dank für die Untestützung. Großartig ist schon mal der Ansatz zu quick'n'dirty.....so stelle ich es mir vor. Nur was für dich da oben aussieht wie Schäfermatt...ist für mich schon Großmeister-Schach...ich muss mich mal reinwuseln.

Gibt es ein quick'n'dirty ohne WSL zu nutzen?
Member: Lochkartenstanzer
Lochkartenstanzer Dec 15, 2020 updated at 20:53:52 (UTC)
Goto Top
Zitat von @Dellone:

Hallo lks,

auch Dir erstmal vielen Dank für die Untestützung. Großartig ist schon mal der Ansatz zu quick'n'dirty.....so stelle ich es mir vor. Nur was für dich da oben aussieht wie Schäfermatt...ist für mich schon Großmeister-Schach...ich muss mich mal reinwuseln.

Gibt es ein quick'n'dirty ohne WSL zu nutzen?

boote knoppix und mach es damit. face-smile

Alternativ kannst Du natürlich auch einfach die Windows-binaries von gawk , grep und xargs installieren.

lks
Mitglied: 146707
146707 Dec 15, 2020 updated at 21:43:13 (UTC)
Goto Top
Oder mit Powershell
Import-Csv -Path .\datei.csv -delimiter ";" | group "Spalte_Kundenbetreuer" | %{$_.Group | export-csv -Path ($_.Name +".csv") -delimiter ";" -NoType -Encoding UTF8 }  
Member: Dellone
Dellone Dec 15, 2020 at 22:35:36 (UTC)
Goto Top
DAS könnte es doch sein....hab es probiert und es hat nicht geklappt. Woran liegt es?

.\ ist der Pfad wo die Datei hinterlegt ist
datei.csv ist die große Kundendatenbankdatei gespeichert als CSV?
"Spalte_Kundenbetreuer" ist der Spaltenname wo bei mir "Vertrieb" steht?
Path ($_.Name +".csv") hier käme wieder der pfad hin, etwa so: path C:\test\($_.Name +".csv") ?

Habe ich etwas übersehen?
Mitglied: 146707
Solution 146707 Dec 15, 2020 updated at 23:17:06 (UTC)
Goto Top
Blabla, geht doch, guckst du ...

https://tio.run/##dY9Ni8IwEIbv@RVD2EXdJVI/DkIu1VUXEcSDepXYzraBNClpqivqb6 ...
Vorraussetzung für obiges Skript ist, Daten liegen als eine große CSV vor.

Einfach mal in die Parameter der jeweiligen CMDLets einlesen dann stellen sich die Fragen nicht 😉
Wenn du was nicht weißt schau ins Handbuch😉.
Member: maretz
maretz Dec 16, 2020 at 07:53:41 (UTC)
Goto Top
Das kommt auf deine Umgebung an...ich würde das eben auch EINMAL in ne DB importieren und dann das End-System (Excel, Access, whatever...) direkt an die DB hängen. Dann schickst du die Datei EINMAL rum (oder nen PHP-Frontend oder was dir lieber ist) und alle arbeiten immer mit demselben Stand UND zumindest ein Export würde länger dauern (wenns eben Webbasiert ist). Was passiert denn wenn der Kunde Mayer morgen umzieht, die Tel-Nr ändert oder sonstwas?Nochmal nen kompletten Export? Oder hat die Änderung nur der Betreuer - und wenn der halt morgen kündigt/woanders hingeht is halt blöd?

Von daher: Die Idee mit Excel rumschicken würde ich direkt in die Tonne schicken, du wirst da kurzfristig mit Glücklich sein aber schon in wenigen Wochen merken wie es dich überrollt...
Member: BirdyB
BirdyB Dec 16, 2020 at 08:24:19 (UTC)
Goto Top
Moin,

du könntest hier auch mit PowerBI und RLS arbeiten. PowerBI würde sich dann auf eine einzelne Datenquelle beziehen (Excel oder DB) und wenn es Änderungen gibt, müsstest du nur die entsprechende Datenbasis anpassen.
Der Kundenbetreuer meldet sich dann einfach am PowerBI an und sieht dort nur seine Kunden in einem Dashboard mit Suchfunktion, etc.
Sicherlich ist der Aufwand für die Ersteinrichtung da etwas höher als mit den Scripts der Kollegen, aber du müsstest es halt nur einmal tun und hättest danach Ruhe...

VG
Member: Dellone
Dellone Dec 16, 2020 at 23:34:10 (UTC)
Goto Top
Grundsätzlich hast du recht. Allerdings sind die Anforderungen so gestellt worden.
Member: Dellone
Dellone Dec 16, 2020 at 23:34:50 (UTC)
Goto Top
Danke euch allen, ihr habt mir sehr geholfen
Member: maretz
maretz Dec 17, 2020 at 05:56:27 (UTC)
Goto Top
Nun - jemand muss ja die Anforderung gestellt haben. Ich würde mit der Person dann noch mal reden und zumindest erklären WARUM die Anforderung unsinnig ist. Wenns dann trotzdem so gemacht werden soll - HF & GL... aber ggf. wurde ja von der Person auch nur einfach nich soweit überlegt sondern die naheliegende Lösung genommen (hey, wir hatten vorher Excel, warum ändern?)... Man könnte heute ja auch noch in ner Höhle leben und mit nem Lagerfeuer heizen, hat sich auch nich bewährt...