Concatenar valores de tabla en una variable de cadenaTengo una tabla de caracteres y quiero producir una variable de cadena de los valores concatenados de cada columna para usar como el argumento de una función.
Digamos que esta es mi tabla de datos:
Columna1 Columna2
Item1 Value1
Item2 Value2
Elemento3 Valor3
Elemento4 Valor4
Artículo5 Valor5
. . . . . .
La tabla tendrá 2 columnas pero cualquier número de filas. La salida que estoy buscando es la siguiente:
strColumn1 = 'Item1', 'Item2', 'Item3', 'Item4', 'Item5'
strColumn2 = 'Value1', 'Value2', 'Value3', 'Value4', 'Value5'
Cualquier ayuda muy apreciada!
Re: Concatenar valores de tabla en una variable de cadena @RonSwanson ,
Solo asegúrate de que el nombre de la columna esté escrito correctamente. Preferiblemente elimine el espacio en el nombre de la columna.
Re: Concatenar valores de tabla en una variable de cadenaParece que estás intentando crear una lista SQL IN. Aquí hay otro enfoque:
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, "','") || "')";
Si alguna de las columnas es numérica, la lista devuelta de los valores de obtención será una matriz, y tendrá que recorrer la matriz para convertir todos los elementos en cadenas.
Re: Concatenar valores de tabla en una variable de cadenaEl comando Col1Vals funcionó, sin embargo, obtuvo el siguiente error al usar el comando Col2Vals:
Col2Vals = dt : Columna 2 << obtener valores ;
El acceso a la tabla de datos con alcance requiere una columna o variable de la tabla de datos en el acceso o evaluación de 'dt: Columna 2', dt: Columna 2
En el siguiente script, error marcado por / * ### * /
Col2Vals = dt: Columna 2 << obtener valores
Re: Concatenar valores de tabla en una variable de cadena @RonSwanson ,
Tal vez algo como esto
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];
);
);