Concatena i valori della tabella in una variabile stringaHo una tabella di caratteri e voglio produrre una variabile stringa dei valori concatenati di ciascuna colonna da utilizzare come argomento di una funzione.
Diciamo che questa è la mia tabella di dati:
Colonna1 Colonna2
Elemento1 Valore1
Voce2 Valore2
Voce3 Valore3
Item4 Valore4
Voce5 Valore5
. . . . . .
La tabella avrà 2 colonne ma un numero qualsiasi di righe. L'output che cerco è questo:
strColumn1 = 'Articolo1','Articolo2','Articolo3','Articolo4','Articolo5'
strColumn2 = 'Valore1','Valore2','Valore3','Valore4','Valore5'
Qualsiasi aiuto molto apprezzato!
Re: Concatena i valori della tabella in una variabile stringa@Ron Swanson ,
Assicurati solo che il nome della colonna sia scritto correttamente. Preferibilmente eliminare lo spazio nel nome della colonna.
Re: Concatena i valori della tabella in una variabile stringaSembra che tu stia cercando di creare un elenco SQL IN.Ecco un altro approccio:
dt = New Table( "Untitled 81", Add Rows( 2 ),
New Column( "Column 1", Character, "Nominal", Set Values( {"Item1", "Item2"} ) ),
New Column( "Column 2", Character, "Nominal", Set Values( {"Value1", "Value2"} ) )
);
col1_list = column(dt, "Column 1") << get values;
col2_list = column(dt, "Column 2") << get values;
strcolumn1 = "('" || concat items(col1_list, "','") || "')";
strcolumn2 = "('" || concat items(col2_list, "','") || "')";
Se una qualsiasi delle colonne è numerica, l'elenco restituito da get values sarà una matrice e sarà necessario scorrere la matrice per convertire tutti gli elementi in stringhe.
Re: Concatena i valori della tabella in una variabile stringaIl comando Col1Vals ha funzionato, tuttavia, ha ricevuto il seguente errore durante l'utilizzo del comando Col2Vals:
Col2Vals = dt : Colonna 2 << ottenere Valori ;
L'accesso alla tabella dei dati con ambito richiede una colonna o una variabile della tabella dei dati nell'accesso o nella valutazione di 'dt:Column 2' , dt:Column 2
Nello script seguente, errore contrassegnato da /*###*/
Col2Vals = dt:Column 2 << ottieni valori
Re: Concatena i valori della tabella in una variabile stringa@Ron Swanson ,
Forse qualcosa del genere
dt = Current Data Table();
Col1Vals = dt:Column 1 << get Values;
Col2Vals = dt:Column 2 << get Values;
// If you are specific about how the output looks, you can try the following, else
// the above lines should give you what you want
Str1 = "";
Str2 = "";
for(i = 1, i <= N Items(Col1Vals), i++,
If(i == 1,
Str1 = Str1 || Col1Vals[i];
Str2 = Str2 || Col2Vals[i];
,
//else
Str1 = Str1 || "," || Col1Vals[i];
Str2 = Str2 || "," ||Col2Vals[i];
);
);