Problem mit "value" (und Funktionen)

Hi, ich habe mir ein ensureNumber-Snippet geschrieben:

Code

Einziger Parameter ist wert:

<#if (wert != "")>
  <#return wert/>
<#else>
  <#return 0/>
</#if>

Ich hab jetzt grade entdeckt dass ihr auch ein toNumber() gebaut habt, das das selbe in ausgefeilter tut.

Auf jeden Fall: beide tun nichts, wenn ich sie mit dem Zellwert value! aufrufe.
Jede dieser Spalten hat einen numerischen Inhalt, sollte also nicht durch 0 ersetzt werden:

Ganz offensichtlich kommt value leer zurück, aber warum?

Ich hatte das doch schon mal angefragt, und verwende es jetzt wieder genau so. Habt ihr irgendwas geändert?

Value ist leider kein allzu guter Suchbegriff, deshalb find ich grade weder im Forum was dazu, noch in meiner Flow-Volltextsuche :wink: Ich überseh bestimmt irgendwas total offensichtliches? :thinking:

Danke Daniel

Hallo @samenhaus-admin ,

${value!} existiert nur in der Skript Spaltenfunktion.

Im Wertfeld selbst kannst du nur Quellspalten reingeben - also das was du per ±Button im Wert-Feld hinzufügen kannst.

1 „Gefällt mir“

Oh. Schade.

Also immer dein Zeilentitel rein copypasten… Schade, value hätte mir viel Copypaste-Anpassung erspart. In Script will ichs egtl nicht schreiben, ich mag das wenn ich den Code direkt sehen kann :wink:

Danke für die Aufklärung,
Grüße Daniel

Hallo Daniel,

kleiner Tipp: Wenn so wie hier der Spaltenname mit dem Namen der Quellspalte übereinstimmt, kannst du auch mit ${_currentTitle!?eval} den Spaltenwert abfragen.
Das hat mir auch schon öfters geholfen, um ein generelles Skript für alle Felder zu schreiben.

Alternativ gibt’s auch die SpreadsheetMultiColumn-Funktion.

Gruß
Gustav

Wir diskutieren bei uns gerade einen Ansatz. Wenn wir dich richtig verstanden haben, willst du eigentlich den Wert der aktuell gewählten Quellspalte als Variable. Richtig?

1 „Gefällt mir“

Danke Gustav. Das geht, aber value geht nicht. Wär ich von allein nicht darauf gekommen, test ich Montag.

Genau. Ich will in einer Spalte eine Funktion auf den Wert einer Spalte anwenden. Eben wie value im Skript-Bereich.

Dann kann ich das grade copypasten, ohne dann in jeder Spalte den Titel anpassen zu müssen. Das ist mir schon mehr als ein mal schief gegangen, und umso mehr Spalten es sind, umso wahrscheinlicher werden Fehler

Grüße Daniel

Hallo @samenhaus-admin und @gustavfriedeheim ,

wir hätten folgenden Vorschlag für folgende neue Variablen, die wir zur Verfügung stellen würden:

  • ${_currentValue} - beinhaltet immer den aktuellen Wert. D.h. im Wertfeld quasi den Wert der Quellspalte. Weiter unten in Funktionen dann immer den Wert vor Anwendung der aktuellen Funktion (also quasi die das, was ${value!} im Skriptfeld macht und das was du erwartet hast
  • ${_sourceValue} ist immer der Wert der Quellspalte, egal was weitere Funktionen draus machen. Im Wertfeld ist es gleich ${_currentValue}
  • ${_sourceTitle} - Ist der Name der aktuell gewählten Quellspalte.

Hier Screenshots zur Verdeutlichung:

Fazit und Bitte um Feedback

Damit gäbe es dann folgende Variablen:

${_currentTitle!} 
${_sourceTitle!}
${_currentValue!}
${_sourceValue!}

Damit sollte sich das was ihr vor habt sauber umsetzen lassen.
Habt ihr noch Feedback? Seht ihr irgendwas, was wir nicht sehen?

2 „Gefällt mir“

Sieht für mich super aus, keine Einwände :slight_smile:

1 „Gefällt mir“

Danke für das Feedback. Änderung geht dann im nächsten Deployment mit live.

1 „Gefällt mir“

Auch von meiner Seite gibt’s keine Anmerkungen, sieht gut aus!

Hallo @samenhaus-admin und @gustavfriedeheim,

die neuen Variablen sind jetzt im Mapper verfügbar.

Viele Grüße
Torsten

1 „Gefällt mir“

Super @synesty-Torsten, vielen Dank!

Ich hab ne Folgefrage :blush:

Wenn ich mir einen String konstruiere, der einem Spaltentitel entspricht, wie bekomm ich dann den Wert dieser Spalte (in einer anderen Spalte eingebunden, über den String)?

Geht das irgendwie?


Hintergrund: ich hab oft zusammengehörende Spaltengruppen wie VariantIn_Entenhausen getStocks_Entenhausen oder enoughStock_Entenhausen.

Jetzt kann ich mir über das _currentTitle und String-Verkettung z.B. in enoughStock_Entenhausen sehr universal ermitteln, das meine Stocks in getStocks_Entenhausen stehen müssen, allein über den Spaltentitel der Zelle in der ich mich befinde.

<#assign place = _currentTitle!?keep_after_last("_")>
<#assign target = "getStocks_" + place>
${target}

Aber das gibt mir dann den String getStocks_Entenhausen zurück, nicht den Inhalt der Spalte.
Gibts ne Möglichkeit?

Wenn nicht ist auch nicht schlimm. Aber mir würden da einige elegante Möglichkeiten für künftige Entwicklungen einfallen, falls es klappt.

Grüße, Daniel

PS: Es gibt dann natürlich solche Spalten für z.B. Entenhausen und Musterstadt. Ich will, dass der selbe Code für beide funktioniert.

Nur auf die Schnelle:

  • hier
  • oder hier ( ${row["meine-spalte"]} bzw. bei dir ${row[target]})

Exzellent, danke! Tut beides.

Das werde ich in Snippets überführen, seh da viel Potential :star_struck: