Comando CROSSTAB
Información de concepto
Agrupa registros sobre la base de combinaciones idénticas de valores en dos o más campos de caracteres o numéricos y muestra los grupos que se obtienen en una cuadrícula de filas y columnas. Cuenta la cantidad de registros en cada grupo y también calcula el subtotal de campos numéricos especificados para cada grupo.
Sintaxis
CROSSTAB {ON campo_fila <...n>|ON ALL <EXCLUDE nombre_campo <...n>>} COLUMNS campo_columna <SUBTOTAL campo_numérico <...n>|SUBTOTAL ALL <EXCLUDE campo_numérico <...n>>> TO {SCREEN|nombre_tabla|nombre_archivo|GRAPH|PRINT} <LOCAL> <IF prueba> <WHILE prueba> <FIRST rango|NEXT rango> <APPEND> <COUNT> <OPEN> <HEADER texto_encabezado> <FOOTER texto_pie_de_página>
Parámetros
Nombre | Descripción |
---|---|
ON campo_fila <...n> | ON ALL |
Uno o más campos o expresiones de caracteres o numéricos que se deben utilizar para las filas en la cuadrícula de filas y columnas resultante.
|
EXCLUDE nombre_campo opcional |
Solo válido al usar ON ALL. El o los campos que se deben excluir del comando. EXCLUDE le permite ajustar ON ALL, excluyendo campos específicos. EXCLUDE debe ir inmediatamente a continuación de ON ALL. Por ejemplo: ON ALL EXCLUDE campo_1 campo_2 |
COLUMNS campo_columna |
El campo o la expresión de caracteres o números que se debe utilizar para las columnas en la cuadrícula de filas y columnas resultante. Puede especificar sólo un campo o expresión para las columnas. |
SUBTOTAL campo_numérico <...n> | SUBTOTAL ALL opcional |
Uno o más campos numéricos o expresiones que se subtotalizarán para cada grupo. Múltiples campos se deben separar con espacios. Especifique ALL para calcular subtotales de todos los campos numéricos de la tabla. |
EXCLUDE campo_numérico opcional |
Solo tiene validez al usar SUBTOTAL ALL. El o los campos que se deben excluir del comando. EXCLUDE le permite ajustar SUBTOTAL ALL, excluyendo campos específicos. EXCLUDE debe ir inmediatamente a continuación de SUBTOTAL ALL. Por ejemplo: SUBTOTAL ALL EXCLUDE campo_1 campo_2 |
TO SCREEN | nombre_tabla | nombre_archivo | GRAPH | PRINT |
El lugar al que se deben enviar los resultados del comando:
|
LOCAL opcional |
Guarda el archivo de salida en la misma ubicación que el proyecto de Analytics. Nota Aplicable únicamente al ejecutar el comando en una tabla de servidor con un archivo de salida que es una tabla de Analytics. El parámetro LOCAL debe ir inmediatamente después del parámetro TO. |
IF prueba opcional |
Una expresión condicional que debe ser verdadera para procesar cada registro. El comando se ejecuta únicamente en los registros que cumplen la condición. Nota El parámetro IF se evalúa únicamente con los registros que quedan en la tabla después de aplicar los parámetros de alcance (WHILE, FIRST, NEXT). |
WHILE prueba opcional |
Una expresión condicional que debe ser verdadera para procesar cada registro. El comando se ejecuta hasta que la condición se evalúa como falsa o hasta que se llega al final de la tabla. Nota Si usa WHILE junto con FIRST o NEXT, el procesamiento de registros se detiene al llegar a un límite. |
FIRST rango | NEXT rango opcional |
La cantidad de registros que se procesarán:
Utilice intervalo para especificar la cantidad de registros que se deben procesar. Si omite FIRST y NEXT, se procesan todos los registros de forma predeterminada. |
APPEND opcional |
Anexa la salida del comando al final de un archivo existente en lugar de sobrescribir el archivo. Nota Debe asegurarse de que la estructura de la salida del comando y del archivo existente sean idénticas:
Analytics anexa la salida a un archivo existente sin importar cuál sea su estructura. Si la estructura de la salida y la del archivo existente no coinciden, es posible que los datos que se obtengan estén incompletos, mezclados o sean imprecisos. |
COUNT opcional |
Incluye los recuentos de registros en forma de columnas. Los recuentos resultan útiles al utilizar SUBTOTAL. Los recuentos se incluyen automáticamente si no selecciona ningún campo de subtotal. |
OPEN opcional |
Abre la tabla creada por el comando después de la ejecución del comando. Solo es válido si el comando crea una tabla de salida. |
HEADER texto_encabezado opcional |
El texto que se debe insertar en la parte superior de cada página de un reporte. texto_encabezado_de_página se debe especificar como una cadena entre comillas. El valor anula la variable de sistema HEADER de Analytics. |
FOOTER texto_pie_de_página opcional |
El texto que se debe insertar en la parte inferior de cada página de un reporte. texto_pie_de_página se debe especificar como una cadena entre comillas. El valor anula la variable de sistema FOOTER de Analytics. |
Ejemplos
Generación de tablas cruzadas de una tabla de cuentas por cobrar con SUBTOTAL
Usted desea generar tablas cruzadas de una tabla de cuentas por cobrar por los campos Número de cliente y Tipo de transacción. También desea calcular el subtotal del campo Importe de la transacción.
La salida se agrupa por cliente y, dentro de cada cliente, por tipo de transacción. Incluye el importe total de las transacciones de cada cliente para cada tipo de transacción:
OPEN Cuentas_por_cobrar
CROSSTAB ON Número_cliente COLUMNS Tipo_trans SUBTOTAL Importe_trans COUNT TO SCREEN
Generación de tablas cruzadas de una tabla de cuentas por cobrar para detectar transacciones duplicadas
Necesita encontrar indicios de transacciones duplicadas en una tabla de cuentas por cobrar.
Para hacerlo, genera una tabla cruzada de una tabla de cuentas por cobrar a partir de los campos Importe de la transacción y Tipo de transacción. La salida agrupa y hace un recuento de los importes de transacciones idénticos para cada tipo de transacción:
OPEN Cuentas_por_cobrar
CROSSTAB ON Importe_transacción COLUMNS Tipo_trans TO SCREEN
Observaciones
Si desea obtener más información sobre la forma en la que funciona este comando, consulte Datos de la generación de tablas cruzadas.
Cómo funciona
CROSSTAB agrupa registros que tienen la misma combinación de valores en dos o más campos numéricos o de caracteres.
La salida contiene una grilla de filas y columnas similar a una tabla dinámica. Incluye una intersección única de fila y columna para cada grupo, con un recuento de la cantidad de registros en la tabla de origen que pertenecen al grupo.
Ordenamiento y CROSSTAB
CROSSTAB puede procesar datos ordenados o sin ordenar. Tanto campo_fila como campo_columna de la salida se ordenan automáticamente de manera ascendente.
Si especifica más de un campo_fila, los campos utilizan un orden anidado. El orden de anidamiento respeta el orden de campos que usted especifique o el orden de los campos del formato de tabla si utiliza ON ALL.