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 Like

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 Like

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 Likes

Sieht f├╝r mich super aus, keine Einw├Ąnde :slight_smile:

1 Like

Danke f├╝r das Feedback. ├änderung geht dann im n├Ąchsten Deployment mit live.

1 Like

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 Like

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: