1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
*(Вопрос) Неужели я нашёл глюк в SPSS? Строковые переменные не выравниваются по правому краю.

*(Ответ) Автор: Raynald Levesque. Размещено в SPSSX-L 21.11.2002.
* Допустим, переменная str1 имеет строковый формат A8.
* Когда значение, приписываемое str1, имеет длину менее 8 символов, 
	SPSS дополняет эту строку справа пробелами. Поэтому когда вы  
	включаете выравнивание по правому краю ("right align"),  
	в редакторе данных строки "не смотрятся" выровненными. 
	На самом деле значения прижаты к правой стороне, но наличие пробелов справа 
	производит ложное впечатление.

Существует простой способ исправить эту ситуацию с помощью такого синтаксиса:

DATA LIST LIST /str1(A8).
BEGIN DATA
a
ab
abc
abcd
abcde
abcdef
abcdefg
abcdefgh
END DATA.
LIST.

COMPUTE str1=LPAD(RTRIM(str1),8).
VARIABLE ALIGNMENT str1(RIGHT).
EXECUTE.

*Команда COMPUTE убирает замыкающие пробелы и ставит их в начало строки. Визуально
данные получаются выровненными по правому краю.

* Если будете экспериментировать, лучше установить моноширинный шрифт (Courier) - так будет нагляднее - А.Б.