FlowHeater Demo Video
 
Der Daten Import / Export Spezialist
 
Willkommen, Gast
Benutzername: Passwort: Angemeldet bleiben:
Schauen Sie sich auch die verfügbaren Beispiele zum TextFile Adapter an evtl. kann Ihre Frage hiermit schon beantwortet werden: Codepage konvertieren 1 / 2 , Verarbeitung von CSV Kopf- und Fußzeilen , Import und Export von vCard Textdateien
  • Seite:
  • 1

THEMA: Grundpreis mit verschiedenen Einheiten

Grundpreis mit verschiedenen Einheiten 3 Monate 16 Stunden her #3828

  • Thomas Goldhahn
  • Thomas Goldhahns Avatar Autor
  • Offline
  • Beiträge: 5
Liebe Flowheater-Fans,

ich habe folgendes vor:

Ich habe eine Produktliste. Jedes Produkt hat mindestens eine dieser Angaben:
  • Fischeinwaage des Produkts
  • Abtropfgewicht des Produkts
  • Nettogewicht des Produkts
Gelegentlich hat ein Produkt mehrere dieser Angaben.

Aber: 
Wenn es eine Angabe zur Fischeinwaage gibt, nehme ich in jedem Fall diese.
Wenn es zwar keine Angabe zur Fischeinwaage gibt, aber ein Abtropfgewicht, nehme ich das.
Wenn es weder Angaben zur Fischeinwaage noch zum Abtropfgewicht gibt, nehme ich das Nettogewicht.


Ich möchte die Basispreisangabe über zwei Felder (Teiler und Einheit) wie folgt ausgeben:



Beispiel 1: Ein Produkt mit einer Fischeinwaage von 240 Gramm.

Basispreis Teiler:    "2,4"
Basispreis Einheit:  "100 g Fischeinwaage"



Beispiel 2: Ein Produkt mit einem Abtropfgewicht von 170 Gramm.

Basispreis Teiler:    "1,7"
Basispreis Einheit:  "100 g Abtropfgewicht"



Beispiel 3: Ein Produkt mit einem Nettogwicht von 70 Gramm.

Basispreis Teiler:    "0,7"
Basispreis Einheit:  "100 g"

Die Zahlenangabe (also der "Teiler") ist einfach. Eine simple Kette von 3x If-Then. Aber wie bekomme ich gleichzeitig die dazu passende "Einheit" auf die Write-Seite übermittelt?

Ich habe etwas sehr aufwändiges gebastelt (siehe unten), die Zahlen sind wie gewünscht, aber die Einheiten bekomme ich nicht durch die If-Then-Kette durchgereicht. 

Denke ich zu kompliziert?

Dankbar für Hilfe!

Viele Grüße,
Thomas 
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Thomas Goldhahn.

Grundpreis mit verschiedenen Einheiten 2 Monate 4 Wochen her #3831

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1465
Hallo Herr Godhahn,

ja, Ihre Definition ist leicht komplex, Respekt! Es geht aber auch einfacher :-)

Ich gehe hier mal auf die Basiseinheit ein. Das mit dem Teiler habe ich nicht ganz verstanden, hier bitte etwas genauer Beschreiben woher der kommt.

Um das zu erreichen benötigen Sie eine verschachtelte IF-THEN-ELSE Bedingungen mit zwei IF-THEN-ELSE Heatern .

Im ersten  IF-THEN-ELSE Heater prüfen Sie ob die Fischeinwaage Leer (EMPTY) ist. Wenn ja wird hier das Nettogewicht andernfalls die Fischeinwaage zurückgegeben.

Im zweiten IF-THEN-ELSE Heater wird nun geprüft, ob die Fleischeinwaage Leer (EMPTY) ist. Wenn ja wird hier das Ergebnis der ersten Bedingung zurückgegeben andernfalls die aktuelle Fleischeinwaage.

Im Anhang finden Sie ein kleines Beispiel dazu.



Dateianhang:

Dateiname: verschacht...gung.zip
Dateigröße:3 KB

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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

Grundpreis mit verschiedenen Einheiten 2 Monate 4 Wochen her #3832

  • Thomas Goldhahn
  • Thomas Goldhahns Avatar Autor
  • Offline
  • Beiträge: 5
Hallo Herr Stark,

vielen Dank für das Beispiel. Tatsächlich war ich genau so wie in dem Beispiel vorgegangen, um den "Teiler" zu erhalten. Am Ende wird dann bei mir zusätzlich noch geprüft, ob der Wert <=250 g bzw. ml ist, oder >250.  Damit ich unterscheiden kann, ob ich den Grundpreis auf 100 g oder auf 1 kg berechnen muss.  Bei Produkten, die üblicherweise mehr als 250 g wiegen, gibt man den Grundpreis bezogen auf 1 kg an.

Mein Problem ist:
Ich habe bestimmte Gewichts-Werte, von denen ich per IF-THEN bestimme, welchen ich nehme.
Gleichzeitig muss ich aber auch die Einheit dieses Wertes mit übertragen. Die Einheit lautet entweder einfach nur "Gramm" oder "Gramm Abtropfgewicht" oder "Gramm Fischeinwaage" oder "Gramm Fleischeinwaage".  
Am Ende kommt bei mir zwar der richtige Wert raus, aber dieser Wert hat keine Einheit mehr. 
Die gleiche IF-THEN-Abfrage müsste mit einem Text funktionieren.
Auf der Write-Seite soll zB ankommen:  "240 g Fleischeinwaage"



Beispiel:
Fleischeinwaage:  240 g
Nettogewicht: 300 g
Stückpreis: 5 EUR

Das Kassensystem erwartet zwei Felder:
Erstens den Teiler: 2,4      (denn  die Fleischeinwaage ist bei der Grundpreisangabe zu bevorzugen, wenn sie denn vorhanden ist.
   "2,4" ist der Teiler für den "Basispreis 100 g" -- man rechnet also  5 € / 2,4 = 2,08 €)
Zweitens die Einheit: g Fleischeinwaage

Darstellung im Shop bzw. Kassensystem:
Fleischeinwaage:  240 g
Nettogewicht: 300 g
Grundpreisangabe:  "Grundpreis 100 g bezogen auf Fleischeinwaage: 2,08 €"

Viele Grüße,

Thomas Goldhahn

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Grundpreis mit verschiedenen Einheiten 2 Monate 4 Wochen her #3833

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1465
Hallo Herr Goldhahn,

ich habe es leider immer noch nicht verstanden.  Ich habe das Beispiel jetzt mal ein wenig erweitert. So wird jetzt aus dem SOLL Feld die Einheit extrahiert und am Ende an den Wert wieder angefügt.

Hierzu wird die Textdatei im ersten Verarbeitungsschritt zuerst in eine interne InMemory Tabelle eingelesen und per String Split und String Replace Heater der Wert sowie die Einheit jeweils in separate Felder ausgegeben. Im zweiten Verarbeitungsschritt wird dann die angereicherte  InMemory Tabelle gelesen und am Ende wird die Einheit per String Append Heater wieder an den Wert angefügt. Der zu ersetzende Wert wird dabei mittels eines FlowHeater Parameter angegeben.



Dateianhang:

Dateiname: verschacht...0-28.zip
Dateigröße:4 KB

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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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: von FlowHeater-Team.

Grundpreis mit verschiedenen Einheiten 2 Monate 3 Wochen her #3838

  • Thomas Goldhahn
  • Thomas Goldhahns Avatar Autor
  • Offline
  • Beiträge: 5
Hallo Herr Stark,

jetzt habe ich zwar was gelernt, was ich sicher bald anwenden kann :) aber das ist leider nicht des Rätsels Lösung.

Das Feld "soll" in meiner Beispieldefinition ist nur für mich zur Orientierung gewesen, quasi als Spickzettel. Das existiert so gar nicht, also kann ich es auch nicht zur Lösung heranziehen. Sorry, das hatte ich wohl vergessen zu erwähnen.


Ich habe nur die folgenden fünf Spalten auf der Read-Seite:

Beispiel: Thunfisch in Öl mit Zitronenscheiben
1.) Nettovolumen in Milliliter:   leer
2.) Nettogewicht in Gramm:  500   (=Thunfisch, Öl, Zitronen)
3.) Abtropfgewicht  in Gramm:  450  (=Thunfisch, Zitronen)
4.) Fischeinwaage in Gramm:  440   (=Thunfisch)
5.) Fleischeinwaage in Gramm:  leer

Meine Ergebnisse auf der Write-Seite sollen sein:
I.)   Der Wert, also "440"
II.)  Die Einheit als Text, also "Gramm Fischeinwaage"



Die Angaben Nr. 1 bis 5 sind nach Priorität sortiert. Fleischeinwaage hat die höchste Priorität, Nettovolumen die niedrigste.

Wenn Fleischeinwaage vorhanden, dann nimm Fleischeinwaage sonst nimm Fischeinwaage.
Wenn weder Fleisch noch Fisch, dann nimm Abtropfgewicht
Wenn weder Fleisch noch Fisch noch Abtropf, dann nimm Nettogewicht.
Wenn all das nicht eingetragen ist, dann nimm das Nettovolumen



Anderes Beispiel: Kapern in Salzlake
1.) Nettovolumen in Milliliter:   500   (manchmal werden auf Produkten sowohl ml als auch g angegeben)
2.) Nettogewicht in Gramm:  520   (=Kapern, Lake)
3.) Abtropfgewicht  in Gramm:  300  (=Kapern)
4.) Fischeinwaage in Gramm:  leer
5.) Fleischeinwaage in Gramm:  leer

Meine Ergebnisse auf der Write-Seite sollen sein:

I.)   Der Wert, also "300"
II.)  Die Einheit als Text, also "Gramm Abtropfgewicht"



Anderes Beispiel: Olivenöl
1.) Nettovolumen in Milliliter:   500   
2.) Nettogewicht in Gramm:  leer
3.) Abtropfgewicht  in Gramm:  leer
4.) Fischeinwaage in Gramm:  leer
5.) Fleischeinwaage in Gramm:  leer

Meine Ergebnisse auf der Write-Seite sollen sein:

I.)   Der Wert, also "500"
II.)  Die Einheit als Text, also "ml"


Anbei noch mal die beiden Dateien mit meinen ersten Versuchen...

Vielen Dank!

Thomas Goldhahn
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Letzte Änderung: von Thomas Goldhahn.

Grundpreis mit verschiedenen Einheiten 2 Monate 3 Wochen her #3840

  • FlowHeater-Team
  • FlowHeater-Teams Avatar
  • Offline
  • Beiträge: 1465
Hallo Herr Goldhahn,

jetzt habe ich es verstanden :-)

Sie benötigen dann das IF-THEN-ELSE Konstrukt nochmal, nur nicht mit den Werten der CSV Felder sondern hier verwenden Sie den X-Value Heater und geben dann statisch den jeweilig gewünschten Wert bzw. die Einheit zurück.

Im Anhang habe ich mal Ihr Beispiel dementsprechend angepasst.

Dateianhang:

Dateiname: grundpreis.zip
Dateigröße:3 KB

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.
Anhänge:

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

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.

Grundpreis mit verschiedenen Einheiten 2 Monate 2 Wochen her #3842

  • Thomas Goldhahn
  • Thomas Goldhahns Avatar Autor
  • Offline
  • Beiträge: 5
Hallo Herr Stark,

danke für das Beispiel. Sagen wir es mal so: Es hat mich motiviert, endlich die Lösung zu finden :)

Block A
Wenn Fleisch leer, dann Fisch, sonst Fleisch
Wenn Fleisch und Fisch leer, dann Abtropf, sonst Fleisch oder Fisch
Wenn Fleisch und Fisch und Abtropf leer, dann Nettogewicht, sonst (Fleisch oder Fisch) oder Abtropf
Wenn alle Gewichte leer, dann Volumen
Wenn Werte <= 250 dann teile durch 100 sonst durch 1000 

Block B
Wenn Fleisch nicht leer dann "100 g FlEinw", sonst Fischeinwaage
Wenn letzteres eine Zahl, dann "100g FiEinw", sonst letzteres
Wenn letzteres leer dann Abtropf sonst letzteres
Wenn letzteres eine Zahl, dann "100 g Abtropf", sonst letzteres
Addiere letzteres zum Nettogewicht, wenn das eine Zahl ergibt, dann "100 g", sonst leite es weiter
Wenn das ganze leer ist, dann "100 ml"

Wenn der Wert von Block A <= 250 dann ersetze im Bock B die Strings "100 g" durch "kg" und "100 ml durch l"

Danke noch mal und beste Grüße,

Thomas Goldhahn

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • Seite:
  • 1

andere Sprachen

en

FlowHeater Home

de en

Impressum/Kontakt

Datenschutz

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

Follow us on

twitter  facebook

YouTube

 de en