Zeilen zusammenführen

Hallo zusammen,


ist es möglich die Werte aus allen Zeilen der selben Spalte zusammen in eine Zeile zu schreiben?


Danke und Grüße

Enrico

Hast du mal ein Beispiel? Klingt auf den ersten Blick nach Gruppieren.

Hi,


die Werte sollen sollen nacher alle in einer Zeile hintereinander nur durch Komma getrennt stehen. Gruppiert werden dürfen diese nicht.



image


VG

Enrico


Ok vermutlich denken wir beim Wort "Gruppieren" eher an die Funktion mit der man das hinbekommen könnte.


Probier mal folgendes:

  • schreib in eine Hilfsspalte eine 1
  • Gruppiere nach dieser Hilfsspalte (im Screenshot die Spalte "identifier") und mach Einstellungen anwenden.
  • wähle bei der anderen Spalte mit deinen Werten die Aggregatfunktion "Alle Werte auflisten" und nimm Komma als Trennzeichen.
  • Jetzt sind alle deine Werte in einer Spalte durch Komma getrennt.
  • Damit kannst du dann weiterarbeiten und ggf. dieses Ergebnis noch in weiteren Mappern oder TextHTMLWritern aufbohren


1 Like

Hallo :)

Ich habe eine kurze Frage, warum es in meinem SpreadsheetMapper keine "Gruppieren/Aggregatfunktionen" gibt?

image


Hallo x-kom,


die gewünschten Funktionen sind im Mapper oben unter Einstellungen zu finden.



Viele Grüße,


Rocco



Vielen Dank für Ihre Antwort :)

Hallo Zusammen,

ich stehe fast vor der gleichen Herausforderung. In einem Datastore hab ich 9 Spalten mit verschiedenen Werten. Mit Hilfe des Mappers wurde ich gerne die verschiedenen Werte in den 9 Spalten in eine 10te Spalte zusammenfassen und mit Komma trennen, um diese später in einer CSV auszugeben.
Da die Screenshots hier in der Antwort leider nicht mehr zu sehen sind, hänge ich ein wenig fest.

Viele Grüße
Ramin

Ist vermutlich etwas anders was der OP wollte, da du dich auf Spalten und nicht auf Zeilen beziehst (wird gern mal verwechselt).

Evtl. hier dir das hier, um die Spaltenwerte zusammenzufügen.

https://docs.synesty.com/display/SSUD/Spreadsheet+Freemarker-Funktionen#SpreadsheetFreemarkerFunktionen-row

${row.getCols()?join(",")}

oder


${row.getCols()?filter(col -> col.getTitle()!?starts_with('price'))?join(",")}

Danke für die schnelle Rückmeldung und den Hinweis zur richtigen Funktion.

Problem ist jetzt nur, dass das Komma immer gesetzt wird, auch wenn eine Spalte mal keinen Wert hat.
Das sieht dann jetzt so aus

Riesling,,,,,,,,

Perfekt wäre es wenn das Komma nur gesetzt wird, wenn auch ein Wert in der Spalte vorhanden ist

Dann muss das auch noch in den Filter mit rein. Im Filter kann ein komplexer boolscher Ausdruck (mit UND, ODER usw.) stehen.

z.B. (ungetestet)

${row.getCols()?filter(col -> col.getTitle()!?starts_with('price') && col! != "")?join(",")}

Dieser beinhaltet alle Spalten, die deren Titel mit „price“ beginnt und deren Wert nicht leer ist.