Concatenating two or more strings is creating a new string consisting of the characters of the first string followed by the characters of the subsequent string(s) in their original order.
SPSS CONCAT Function
- Concatenating in SPSS is done by the
CONCAT
function. - The most basic usage is
COMPUTE A = CONCAT(B,C,D)
. - Note that you can concatenate only strings. For concatenating numbers, first convert them to strings, for example by using the stringfunction.
- Note that you may sometimes need RTRIM within
CONCAT
as demonstrated by the syntax below.
SPSS Concatenate Syntax Example
*1. Create single case test data.
data list free/first_name(a5) last_name(a5) cars.
begin data
'John' 'Doe' 2
'Chris' 'Colt' 1
end data.
*2. Concatenate first and last name.
string full_name(a10).
compute full_name = concat(rtrim(first_name),' ',rtrim(last_name)).
exe.
*3. Convert cars to string and concatenate into sentence.
string has_cars (a25).
compute has_cars = concat(rtrim(full_name),' has ',string(cars,f1),' cars.').
exe.
*4. Correct plural if needed.
if cars eq 1 has_cars = replace(has_cars,'cars','car').
exe.
data list free/first_name(a5) last_name(a5) cars.
begin data
'John' 'Doe' 2
'Chris' 'Colt' 1
end data.
*2. Concatenate first and last name.
string full_name(a10).
compute full_name = concat(rtrim(first_name),' ',rtrim(last_name)).
exe.
*3. Convert cars to string and concatenate into sentence.
string has_cars (a25).
compute has_cars = concat(rtrim(full_name),' has ',string(cars,f1),' cars.').
exe.
*4. Correct plural if needed.
if cars eq 1 has_cars = replace(has_cars,'cars','car').
exe.

Concatenating in Python
- In Python, the
+
operator is used for concatenating. - As in SPSS, you can only concatenate strings, not numbers in Python. Convert numbers into strings before concatenating them.
Python Concatenate Example
* Concatenate strings and number into sentence.
begin program.
firstName = "John"
lastName = "Doe"
cars = 2
sentence = firstName + ' ' + lastName + ' has ' + str(cars) + ' cars.'
print sentence
end program.
begin program.
firstName = "John"
lastName = "Doe"
cars = 2
sentence = firstName + ' ' + lastName + ' has ' + str(cars) + ' cars.'
print sentence
end program.
THIS TUTORIAL HAS 6 COMMENTS:
By Ruben Geert van den Berg on December 4th, 2020
Hi Zachary, good question!
Use the VALUELABEL function.
So if you've 2 variables, v1 and v2, first create a new string variable with
STRING s1 (A1000).
or something. Then try
COMPUTE s1 = CONCAT(VALUELABEL(v1),' ',VALUELABEL(v2)).
FREQUENCIES s1.
Last, you can reduce the length of the new string variable with ALTER TYPE:
ALTER TYPE s1 (AMIN).
and finally, add a variable label to it:
VARIABLE LABELS s1 'Combination of v1 and v2'.
Hope that helps!
SPSS tutorials