NEWS
Visualisierung mit Node Red erstellen
-
@mickym Bin gerade überfordert, oder übermüdet.
Dieser Flow
gibt mir permanent folgenden Fehler aus:
Ich habe das Ganze jetzt zigmal auf Fehler überprüft, finde aber keinen. Also habe ich einen funktionierenden Flow kopiert und gegen den mit der Fehlermeldung ausgetauscht. Natürlich auch noch den Dateipfad angepasst. Hilft nur nichts.
Das ist der funktionierende Flow:
flows.jsonUnd das ist das Problemkind:
flows.json -
@damrak2022
Der Fehler wird doch im Klartext ausgegeben. Die Umwandlung von Stringwert in Zahlenwert verursacht einen Fehler. Stringwert ist ein Wort und kein Zahlenstring, vermute ich mal. Schau bitte mal nach was da umgewandelt werden soll. -
So, ich versuch Dir mal darzulegen was Du gemacht hast, damit Du siehst ob ich es ansatzweise verstanden habe:
Also in der ersten Change Node hast Du zuerst den Payload auf die gewünschte Eigenschaft gesetzt.
Im zweiten Feld hast Du das Komma aus dem Wert in einen Punkt geändert, da es sonst IT technisch nicht richtig interpretiert wird.
Im dritten Feld (muss ich ehrlich eingestehen, verstehe ich nicht ganz, da ich hierbei Addition der einzelnen Werte nicht so ganz begreife).
Bei der join Nod bin ich komplett raus, da mir dieser Code: $A+payload
garnichts sagt - genau wie der nächste:
$formatNumber($A, "0,00 €",{ 'decimal-separator':',', 'grouping-separator':'.' } )
Kleine Einschränkung: $formatNumber($A, "0,00 €" legt fest in welchem Format das ausgegeben wird. -
@damrak2022 Gut also die ersten beiden Regeln in der Change Node hast Du richtig verstanden. So damit werden die Zahlenstrings richtig umgewandelt, dass eine Zeichenkette "15.03" in eine Zahl konvertiert werden kann, also 15.03
Lies die Beschreibung zur Funktion $number in der Change Node nach. Man kann das Umwandeln einer Zeichenkette in eine Zahl auch nochmal hier nachlesen: https://docs.jsonata.org/numeric-functions
Du musst die in die richtigen Datentypen umwandeln. Du kannst keine Zeichenketten addieren, sondern eben nur Zahlen.
Die split Node wandelt alle Objekte in einzelne Nachrichten um, die JOIN Node fasst die wieder zusammen. Lass mal die Formatierung in der JOIN Node weg - im Prinzip kann man das auch mit einer Change Node dahinter formatieren. Wichtig ist wenn Du Dir die Hilfe zur Change Node anschaust.
Das heißt doch, das die payload jeder einzelnen Nachricht zu einer Variablen $A dazugezählt wird und am Ende aller Nachtrichten ausgegeben wird.
Wie gesagt lagere den Fixup Ausdruck in eine nachfolgende Change Node aus.
So und nun zu Deinem Problem. Das Problem ist doch nicht der Flow. Der Flow ist ja identisch, nur die Daten sind andere, so dass Du mit der Change node die payload nicht mehr auf die Eigenschaft setzt, die aufsummiert werden soll. Die Fehler sprechen doch für sich, wenn Du Dich mit der $number Funktion auseinandergesetzt hast.
Der JSONATA Befehl $number() kann die Zeichenkette "Steuer" nicht in eine Zahl umwandeln. Dann musst Du halt schauen, welche Objekte aus der Split Node rauskommen und ob Du die richtigen Eigenschaft, die aufsummiert werden soll in die payload schreibst. Vielleicht ist schon eine Zahl in dem Objekt und Du brauchst keine Umwandlung mehr usw. - das kann ich doch alles nicht riechen. ALSO: Das Problem ist doch nicht der arme Flow, er sagt Dir doch nur, hallo Du fütterst mich mit Daten, die ich nicht addieren kann. So und warum Du solche Daten in die arme Change Node gibst, dafür kann die Change Nodes nicht. Das Ausgeben von Fehlern sind Hilfeschreie und Du musst Dich darum kümmern, dass die Change Node ihren Job sauber erledigen kann.
- Ich hab Dir ja schon mal gesagt, Du solltest Dich mal in eine Nachricht hineinversetzen.
Hänge eine Debug Node in die Node davor und schaue Dir an was die Change Node tun soll. Schau, was aus der Change Node rauskommt. Lösche mal eine Regel und füge sie anschließend wieder hinzu, um zu sehen, was die Regeln tun. Du kannst auch die 3 Regeln in 3 einzelne Change Nodes auslagern. Du musst einfach lernen, Dinge zu analysieren. Wenn das Ergebnis nicht dem entspricht, das Du erwartest, dann frage Dich warum das so ist. Falls Du keine Erklärung findest, dann frage hier. Ich und andere beantworten Dir die Fragen gerne, wenn wir können und denke immer daran, es gibt soooooo viele Leute, denen Deine Fragen helfen. Die melden sich nicht, die lesen nur.Dieser Thread hat 1573 Posts, aber über 1800 Leser. Wenn Du also nicht jeden Post mehrfach liest, dann werden wohl noch ein paar andere mitlesen. Das erkennst Du ja auch daran, dass es hier - wie @Garf auch andere Leser gibt, die versuchen Dir zu helfen, in dem sie Dir versuchen zu helfen.
@garf sagte in Visualisierung mit Node Red erstellen:
@damrak2022
Der Fehler wird doch im Klartext ausgegeben. Die Umwandlung von Stringwert in Zahlenwert verursacht einen Fehler. Stringwert ist ein Wort und kein Zahlenstring, vermute ich mal. Schau bitte mal nach was da umgewandelt werden soll.Das ist nur anders formuliert, was ich oben gesagt habe und ich finde es toll, dass Du hier auch andere Leute hast, die Dir helfen wollen. Ich finde, dass das auch Anerkennung finden sollte.
- Also von meiner Seite
Also untersuche mal was Du bei dem Flow, in dem die Fehler auftreten mal zu analysieren, welche Nachrichtenobjekte Du in die Change Node einspeist.
-
@mickym Ich habe jetzt noch nicht versucht das auseinanderzunehmen und zu überprüfen.
Was mich aber so stutzig macht ist folgendes:Bei den Betankungen haben wir diesen Flow auf die Eigenschaft Kosten angewendet - funktioniert.
Bein den Kosten heißt die Eigenschaft "Gesamtkosten" anstatt "Kosten"
Alles andere ist doch komplett identisch. -
@damrak2022 Wie gesagt schau was aus der Split Node - für Objekte rauskommt und Deine Change Node und was aus dieser raus kommt.
-
@mickym Das ist der Debug der Split Node:
Den eingerahmten Wert soll er addierenAusgabe der Change Node:
Und mit eine Ausnahme bekomme ich ja auch die Werte
-
@damrak2022 Na dann musst Du Dir halt anschauen, was bei der Datei 2021 anders ist, als bei den anderen. Dann kann es doch nicht am Flow liegen, sondern nur an Deinen Daten.
-
@mickym Habe ich zwar schonmal gemacht, aber ich überprüfe meine Datei nochmal. Vielleicht habe ich ja was übersehen.
-
@damrak2022 Schau halt mal was aus der split Node rauskommt.
-
@mickym Nicht funktionierender Flow - Ausgabe Split Node:
Funktionierender Flow - Ausgabe Split Node:
Beide Split Nodes sind identisch - siehe hier:
-
@damrak2022 Siehst Du denn das nicht??? - Ich brauche doch nicht den funktionierenden Flow:
Kannst Du mir sagen, wie soll man denn so was addieren?
Versicherung + Wagenpflege = ?
Deine Quelle bzw. Datei ist also anders. Entweder fehlen da Spalten oder Du hast die CSV Node falsch konfiguriert - keine Ahnung. Sowas muss Dir doch auffallen?
-
@mickym Ja, klar sehe ich das, aber ich habe ja Gesamtkosten ausgewählt. Ich überprüfe jetzt nochmal die hinterlegte Datei. der Fehler kann ja nur nur eine falsche Spaltenüberschrift sein
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ja, klar sehe ich das, aber ich habe ja Gesamtkosten ausgewählt. Ich überprüfe jetzt nochmal die hinterlegte Datei. der Fehler kann ja nur nur eine falsche Spaltenüberschrift sein
Ich weiß auch was es ist. Es fehlt die Spalte Kostenart - dadurch hat sich alles um eins verschoben. Du arbeitest einfach wieder mal etwas na ja.
-
@mickym Die Spaltenüberschriften waren vertauscht
-
@damrak2022 Nein die fehlt.
-
@mickym Mappe6_2021.csv
So ist sie auf jeden Fall korrekt und funktioniert jetzt. Oh Mann, was ein Aufwand für nichts. Na zumindest war mein Verständnis richtig, das ja alles identisch ist, mit Ausnahme des Payload. -
Schau mal 3 fehlt und deswegen hat sich alles um 1 Spalte verschoben. Sowas muss Dir auffallen!!!
Und da brauchst Du nicht am Flow arbeiten. Wenn es bei 6 Datei funktioniert und bei einer nicht, dann liegt das an der Interpretation der Daten oder den Daten selbst. Sowas muss Dir auffallen!! - Sonst wirst Du nie an der richtigen Stelle suchen.
-
@mickym Tja, ich war halt mal wieder überzeugt davon, das ich das zumindest korrekt gemacht habe. Deswegen kam mir das garnicht in den Sinn.
-
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Ja, klar sehe ich das, aber ich habe ja Gesamtkosten ausgewählt. Ich überprüfe jetzt nochmal die hinterlegte Datei. der Fehler kann ja nur nur eine falsche Spaltenüberschrift sein
Es gibt bestimmte Dinge, die Du Dir mal überlegen solltest:
Du siehst das und sagst, Du hast aber Gesamtkosten ausgewählt. Ja aber in Gesamtkosten stehen halt keine Zahlen? Was nützt es dann, wenn Du Gesamtkosten auswählst?
Es lag also nicht daran, dass Du Gesamtkosten ausgewählt hast, sondern dass in den Gesamtkosten keine Zahlen drin standen und darum hast Du Dich nicht gekümmert.
@damrak2022 sagte in Visualisierung mit Node Red erstellen:
@mickym Mappe6_2021.csv
So ist sie auf jeden Fall korrekt und funktioniert jetzt. Oh Mann, was ein Aufwand für nichts. Na zumindest war mein Verständnis richtig, das ja alles identisch ist, mit Ausnahme des Payload.Ja aber die payload ist das A und O. In dem Fall gibt es keine wichtigen und unwichtigen Fehler. Jedes nicht exakte Arbeiten wird sofort bestraft.
Also versuche die Dinge nicht klein zu reden oder zu banalisieren, sondern versuche exakter zu arbeiten.
Ja es funktioniert jetzt - aber das ist kein Grund das ad acta zu legen, sondern etwas daraus zu lernen.
UND: Fehler macht jeder. Aber Du musst lernen, wie Du diesen Fehler durch logisches Ausschlussverfahren auf die Spur kommst und meist sitzt der Fehler vor dem Computer und nicht im System.
Gibt zwar noch genügend Fehler in IT-Systemen, aber noch mehr Fehler werden vor dem Computer gemacht.