Visión general (mandato ALTER TYPE)
ALTER TYPE se puede utilizar para cambiar el tipo fundamental (cadena o numérico) o el formato de las variables, incluido el cambio del ancho definido de las variables de cadena.
Opciones
- Puede utilizar la palabra clave
TOpara especificar una lista de variables o la palabra claveALLpara especificar todas las variables del conjunto de datos activo. - La especificación de formato de entrada opcional restringe la modificación de tipo sólo a las variables de la lista que coinciden con el formato de entrada. Si el formato de entrada no incluye una especificación de anchura, se incluirán todas las variables que coincidan con el formato básico. Una especificación de formato de entrada sin una especificación de anchura incluye todas las variables que coinciden con el formato básico, independientemente de la anchura definida.
AMINoAHEXMINse puede utilizar como especificación de formato de salida para cambiar el ancho definido de una variable de cadena por el ancho mínimo necesario para mostrar todos los valores observados de dicha variable sin truncamiento.AMIN + noAHEXMIN + nestablece el ancho de las variables de cadena en el ancho mínimo necesario más n bytes.AMIN + n%oAHEXMIN + n%establece el ancho de las variables de cadena en el ancho mínimo necesario más n por ciento de ese ancho. El resultado se redondea a un entero.
Especificación básica
La especificación básica es el nombre de una variable en el conjunto de datos activo seguido de una especificación de formato de salida entre paréntesis, como en:
ALTER TYPE StringVar (A4).
Reglas de la sintaxis
- Todas las variables especificadas o implícitas en las listas de variables deben existir en el conjunto de datos activo.
- Cada lista de variables debe ir seguida de una especificación de formato entre paréntesis.
- Las especificaciones de formato deben ser formatos válidos IBM® SPSS® Statistics . Para obtener información sobre las especificaciones de formato válidas, consulte Tipos y formatos de variables.
- Si se especifica, el formato de entrada opcional debe ir seguido de un signo de igual y, a continuación, del formato de salida.
- Si una variable se incluye en más de una lista de variables en el mismo mandato
ALTER TYPE, sólo se aplicará la especificación de formato asociada con la última instancia del nombre de variable. (Si desea "encadenar" varias modificaciones para la misma variable, utilice varios mandatosALTER TYPE.)
Operaciones
- Si no hay transformaciones pendientes y el mandato no incluye ninguna especificación de formato
AMINoAHEXMINy no incluyeALTEREDVALUESen el submandatoPRINT, el mandato entra en vigor inmediatamente. No lee el conjunto de datos activo ni ejecuta transformaciones pendientes. - Si hay transformaciones pendientes o el mandato incluye una o más especificaciones de formato
AMINoAHEXMINo incluyeALTEREDVALUESen el submandatoPRINT, el mandato lee el conjunto de datos activo y provoca la ejecución de las transformaciones pendientes. - La conversión de una variable numérica en serie dará como resultado valores truncados si el valor numérico no se puede representar en el ancho de serie especificado.
- La conversión de una variable de cadena a numérica dará como resultado un valor perdido del sistema si la cadena contiene caracteres que no serían válidos para el formato numérico especificado.
Ejemplos
DATA LIST FREE
/Numvar1 (F2) Numvar2 (F1)
StringVar1 (A20) StringVar2 (A30)
StringDate1 (A11) StringDate2 (A10) StringDate3 (A10).
BEGIN DATA
1 23 a234 b2345 28-Oct-2007 10/28/2007 10/29/2008
END DATA.
ALTER TYPE Numvar1 (F5.2) Numvar2 (F3).
ALTER TYPE
StringDate1 to StringDate3 (A11 = DATE11).
ALTER TYPE
StringDate1 to StringDate3 (A10 = ADATE10).
ALTER TYPE ALL (A=AMIN).
- El primer mandato
ALTER TYPEcambia los formatos de Numvar1 y Numvar2 deF2yF1aF5.2yF3. - El siguiente mandato
ALTER TYPEconvierte todas las variables de serie entre StringDate1 y StringDate3 (en orden de archivo) con un ancho de serie definido de 11 al formato de fecha numéricoDATE11(dd-mmm-aaaa). La única variable que cumple estos criterios es StringDate1; de modo que es la única variable convertida. - El tercer mandato
ALTER TYPEconvierte todas las variables de serie entre StringDate1 y StringDate3 con un ancho de serie definido de 10 al formato de fecha numéricoADATE11(mm/dd/aaaa). En este ejemplo, esta conversión se aplica a StringDate2 y StringDate3. - El último mandato
ALTER TYPEcambia el ancho definido de todas las variables de cadena restantes por el ancho mínimo necesario para cada variable para evitar el truncamiento de cualquier valor. En este ejemplo, StringVar1 cambia deA20aA4y StringVar2 cambia deA30aA5. Este mandato lee los datos y ejecuta los mandatos de transformación pendientes.