Zum Hauptinhalt springen
Weil einfach - produktiver ist

Der Daten Spezialist

Konvertieren Sie die Daten mühelos zwischen verschiedenen Formaten ohne Programmierkenntnisse dank Visual Designer. Effizient und super einfach.
Flowheater Chart

CSV Export Daten filtern bzw. gruppieren

  • FlowHeater-Team
  • avatar Autor
  • Offline
  • Administrator
  • Administrator
Mehr
14 Jahre 3 Monate her #119 von FlowHeater-Team
CSV Export Daten filtern bzw. gruppieren wurde erstellt von FlowHeater-Team
Anfrage per Email erhalten!

Hallo Forum,

Folgende Situation liegt vor:
Wir haben eine mySQL Datenbank (einer WaWi) mit mehreren Tabellen. In einer der Tabellen (Artikel) werden die Artikel mit den Artikelnummern und anderen Daten gespeichert. In einer anderen Tabelle(VKPreise)
werden die Preise für diese Artikel vorgehalten. Die Zuordnung erfolgt über einen Schlüssel in der jeweiligen Tabelle. Um eine Exportdatei im CSV-Format zu erstellen, habe ich zunächst eine eigene Datenbank angelegt, in die ich die Daten der zu exportierenden Artikel mittels FlowHeater übertrage.

Zuerst übertrage ich alle gewünschten Artikel (mit Status "Onlineartikel") aus der Tabelle Artikel in meine Datenbank. Anschließend übertrage ich aus der Tabelle VKPreise die Preise der jeweiligen Artikel als Update. Das funktioniert soweit auch, aber: Da es Artikel mit Staffelpreisen gibt, existieren zu einigen (nicht zu
allen) Artikelnummern mehrere Datensätze mit Preisen in der Tabelle VKPreise. Die Tabelle VKPreise hat also zu dem Schlüssel aus der Tabelle Artikel mehrere Datensätze, für den jeweiligen Staffelpreis angelegt. Beim Update geht Flowheater hin und setzt immer den letzten gefundenen Preis (Datensatz) ein. Dies ist aber immer der Preis für die größte Abnahmemenge. Somit wird immer der niedrigste Preis in meine eigene Datenbank übertragen.

Gibt es eine Möglichkeit entweder zu sagen, dass bei der Übertragung immer nur der erste gefundene Eintrag für den jeweiligen Datensatz genutzt wird? Oder kann man vielleicht einen Filter setzen, der nur den Datensatz nimmt in dem bei Menge die Zahl 1 steht?

Mit freundlichen Grüßen
Peter Berthold

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • FlowHeater-Team
  • avatar Autor
  • Offline
  • Administrator
  • Administrator
Mehr
14 Jahre 3 Monate her #120 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: CSV Export Daten filtern bzw. gruppieren
Hallo Herr Berthold,

den Umweg über die separate Datenbank (Tabelle) können Sie sich sparen, Sie brauchen lediglich nur eine FlowHeater Definition!

Geben Sie dazu auf der READ Seite im SQL Select Statement die zweite Tabelle über einen Join mit an.

z.B. select * from Artikel inner join Preis on artikel.artnr = preise.artnr order by artikel.artnr

das Order By am Ende des SQL Select Statements ist in diesem Fall unbedingt notwendig, da wir im FlowHeater gleich den GroupBy Heater verwenden.

Ziehen Sie nun den GroupBy Heater auf den Designer und verbinden das Artikel Schlüsselfeld mit dem GroupBy Heater. Hiermit werden gleiche Artikel auf der WRITE Seite zu einem Datensatz zusammengefasst. Damit Sie nur den kleinsten bzw. größten Betrag exportieren verwenden Sie für dieses Feld den MIN bzw. MAX Heater mit eingeschalteter Gruppierungsfunktion. Die Gruppierung können Sie über einen Rechtsklick auf den MIN bzw. MAX Heater über den Menüeintrag GroupBy aktivieren.

Schauen Sie sich hierzu auch mal folgendes Beispiel an. Daten gruppieren und summieren

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jahre 3 Monate her #121 von Peter Berthold
Peter Berthold antwortete auf Aw: CSV Export Daten filtern bzw. gruppieren
Hallo Herr Stark,
zunächst vielen Dank für die Hilfestellung! :)
Leider kann ich auf die "Zwischen-Datenbank" nicht verzichten, da ich auch noch aus anderen Datenquellen Daten dort hinein migrieren muss.

Die Tabelle mit den Artikeln heißt: sg_auf_artikel
(Aus dieser Tabelle werden insgesamt 12 Felder übernommen)

Die Tabelle mit den Preisen heißt: sg_auf_vkpreis
(Aus dieser Tabelle werden insgesamt 3 Felder übernommen)

Das Schlüsselfeld, das von der ersten Tabelle in die zweite übernommen wurde heißt: SG_AUF_ARTIKEL_PK

Ich habe das SQL-Statement entsprechend Ihres Beispiels wie folgt eingegeben:

select * from sg_auf_artikel inner join sg_auf_vkpreis on sg_auf_artikel.SG_AUF_ARTIKEL_PK = sg_auf_vkpreis.SG_AUF_ARTIKEL_PK order by sg_auf_artikel.SG_AUF_ARTIKEL_PK

Auch ganz ohne zusätzliche Heater erhalte ich folgende Fehlermeldung, wenn ich einen Testlauf mache:

"Unknown column 'sg_auf_vkpreis.SG_AUF_ARTIKEL_PK' in 'on clause'"

Ich habe schon kontrolliert, ob ich vielleicht einen Tippfehler eingebaut habe, aber das ist nicht der Fall.
Und das genannte Feld ist tatsächlich unter gleichem Namen in beiden Tabellen vorhanden.

mit freundlichen Grüßen
Peter Berthold :)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • FlowHeater-Team
  • avatar Autor
  • Offline
  • Administrator
  • Administrator
Mehr
14 Jahre 3 Monate her #122 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: CSV Export Daten filtern bzw. gruppieren
Hallo Herr Berthold,

wenn Sie die zwischen Datenbank (Tabelle) eh benötigen können Sie das Ganze auch direkt über diese Tabelle abwickeln.

Verwenden Sie dann als SQL SELECT Statement

z.B. select * from IhreTabelle order by ArtikelNr

Den GroupBy sowie den MIN bzw. MAX Heater können Sie hierauf genauso anwenden wie bereits beschrieben.

Wegen den doppelten SQL Feldnamen können Sie alternativ auch den SQL SELECT so abändern, dass Sie nicht

Select * from …

Verwenden sondern die SQL Felder inkl. Tabellennamen separat im SQL SELECT angeben.

z.B. select sg_auf_artikel.SG_AUF_ARTIKEL_PK, sg_auf_artikel.Feld2,
sg_auf_vkpreis.SG_AUF_ARTIKEL_PK, sg_auf_vkpreis.Feld2, ... from ...


Zu Ihrer Fehlermeldung) Heißt das PrimaryKey Schlüsselfeld in der Preis Tabelle wirklich auch „SG_AUF_ARTIKEL_PK“? Die Fehlermeldung deutet eigentlich darauf hin, dass das Feld hier nicht so heißt bzw. existiert!

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jahre 3 Monate her #127 von Peter Berthold
Peter Berthold antwortete auf Aw: CSV Export Daten filtern bzw. gruppieren
Hallo Herr Stark,

das Feld SG_AUF_ARTIKEL_PK existiert in beiden Tabellen.
Nur ist es in der Preistabelle nicht als Schlüsselfeld vorgegeben. (Wenn ich den Sinn richtig verstanden habe, dann kann es ja auch nicht als Schlüsselfeld dort fungieren, weil in mehreren Datensätzen gleiche Feldinhalte vorkommen.)

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • FlowHeater-Team
  • avatar Autor
  • Offline
  • Administrator
  • Administrator
Mehr
14 Jahre 3 Monate her - 8 Jahre 10 Monate her #128 von FlowHeater-Team
FlowHeater-Team antwortete auf Aw: CSV Export Daten filtern bzw. gruppieren
Hallo Herr Berthold,

mit dem Join teilen Sie dem MySQL Datenbank Server lediglich mit, dass er die Tabellen anhand dieser 2 Felder verknüpfen und daraus die die Ergebnismenge liefern soll. Es gehen nicht nur 1:1 sondern auch 1:n sowie n:n Beziehungen!

Hier finden Sie die Offizielle Beschreibung zu MySQL Joins.
http://dev.mysql.com/doc/refman/5.1/en/join.html

Da das Feld in der Preis Tabelle ebenfalls am Ende mit PK (steht vermutlich für PrimaryKey) angegeben wurde liegt die Vermutung nahe, dass das hier ein Fehler ist.

Können Sie mal einen Screenshot (oder ähnliches) posten wo ersichtlich ist wie die Tabellen genau angelegt sind?

gruß
Robert Stark

Wurde Ihre Frage damit beantwortet? Bitte geben Sie ein kurzes Feedback, Sie helfen damit auch anderen die evtl. ein ähnliches Problem haben. Danke.
Letzte Änderung: 8 Jahre 10 Monate her von FlowHeater-Team.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jahre 3 Monate her #129 von Peter Berthold
Peter Berthold antwortete auf Aw: CSV Export Daten filtern bzw. gruppieren
:blush: Das kommt davon, wenn man mit Brille unbedingt eine hohe Auflösung auf dem Notebook-Monitor haben muss...
Ist mir echt peinlich, aber ich hatte doch einen Fehler im Feldnamen: statt _PK gehört dort _FK rein.

So funktioniert es dann auch.

Vielen Dank jedenfalls für Ihre Geduld und Unterstützung.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Ladezeit der Seite: 0.292 Sekunden
FlowHeater Logo

FlowHeater - Der Daten Spezialist

Effiziente Datenintegration und Transformation mit FlowHeater - Ihre Lösung für nahtlosen Datentransfer.

Rechtliches

Support & Kontakt

Kontaktinformation

Telefon:
0951 / 99339792

E-Mail:
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein.


Copyright © 2009-2024 by FlowHeater GmbH. Alle Rechte vorbehalten.