Detecta si existen valores duplicados o registros duplicados completos en una tabla de Analytics.
Sintaxis
DUPLICATES <ON> {campo_clave <D> <...n>|ALL} <OTHER campo <...n>|OTHER ALL> <UNFORMATTED> <ADDGROUP> <PRESORT> <IF prueba> <WHILE prueba> <FIRST rango|NEXT rango> <APPEND> <OPEN> <TO {SCREEN|nombre_tabla|nombre_archivo|PRINT}> <LOCAL> <HEADER texto_encabezado> <FOOTER texto_pie_de_página> <ISOLOCALE código_lugar>
Parámetros
Nombre | Descripción |
---|---|
ON campo_clave D <...n>|ALL |
El o los campos clave, o la expresión, que se pondrá a prueba en busca de duplicados.
|
OTHER campo <...n> | OTHER ALL opcional |
Uno o más campos adicionales para incluir en la salida.
|
UNFORMATTED opcional |
Suprime los encabezados de página y los saltos de página cuando los resultados se envían a un archivo. |
ADDGROUP opcional |
Incluir el campo Número de grupo (GROUP_NUM) en la tabla de salida. El campo Número de grupo le asigna un número creciente y en secuencia a cada grupo exclusivo de duplicados. Consejo La capacidad de hacer referencia a grupos de duplicados con números puede resultar útil al analizar los datos de la tabla de salida. |
PRESORT opcional |
Ordena la tabla por el campo primario antes de ejecutar el comando. Nota No puede utilizar PRESORT dentro del comando GROUP. |
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. |
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. |
TO SCREEN | nombre_tabla | nombre_archivo | PRINT opcional |
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. |
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. |
ISOLOCALE código_lugar opcional |
Nota Aplicable únicamente en la edición Unicode de Analytics. El idioma (configuración regional) del sistema en el formato idioma_país. Por ejemplo, para francés de Canadá, ingrese el código fr_ca. Use los siguientes códigos:
Si no utiliza ISOLOCALE, se utiliza la configuración regional predeterminada del sistema. |
Variables de salida de Analytics
Nombre | Contiene |
---|---|
GAPDUPn |
La cantidad total de grupos de duplicados inexactos, faltantes o duplicados identificados por el comando. |
Ejemplos
Probar la presencia de valores duplicados en un campo
El siguiente ejemplo:
- prueba si existen valores duplicados en el campo Número_factura
- envía todos los registros que contengan números de factura duplicados a una nueva tabla de Analytics
DUPLICATES ON Número_factura OTHER Número_proveedor Fecha_factura Importe_factura PRESORT TO "Facturas_duplicadas.FIL"
Proba si existen valores duplicados en dos o más campos en combinación
El siguiente ejemplo:
- prueba si existen combinaciones de valores duplicadas en los campos Número_factura y Número_proveedor
- envía todos los registros que contengan el mismo número de factura y el mismo número de proveedor a una nueva tabla de Analytics
La diferencia entre esta prueba y la prueba anterior es que los números de factura idénticos de dos proveedores diferentes no se reportan como un falso positivo.
DUPLICATES ON Número_factura Número_proveedor OTHER Fecha_factura Importe_factura PRESORT TO "Facturas_duplicadas.FIL"
Probar la presencia de registros duplicados
Los siguientes ejemplos:
- prueban la presencia de valores duplicados en cada campo de una tabla Inventario
- envían todos los registros totalmente idénticos a una nueva tabla de Analytics
DUPLICATES ON NúmProd ClaseProd Ubicación DescProd EstadoProd CostoUnitario FechaCosto PrecioVenta FechaPrecio PRESORT TO "Elementos_inventario_duplicados.FIL"
Puede simplificar la sintaxis utilizando ALL :
DUPLICATES ON ALL PRESORT TO "Elementos_inventario_duplicados.FIL"
Filtrar la tabla de salida de duplicados por número de grupo
Usted utiliza varios campos clave en combinación para comprobar si existen registros duplicados en una tabla de cuentas por pagar:
- número de proveedor
- número de factura
- fecha de la factura
- importe de la factura
Desea filtrar la tabla de salida de duplicados que obtiene para que solo algunos grupos de duplicados sean procesados en una etapa posterior.
Crear un filtro utilizando una combinación de campos clave requeriría mucho trabajo. Por ejemplo:
SET FILTER TO ((Núm_proveedor = "11475") AND (Núm_factura = "8752512") AND (Fecha_factura = `20191021`) AND (Importe_factura = 7125.80)) OR ((Núm_proveedor = "12130") AND (Núm_factura= "589134") AND (Fecha_factura = `20191117`) AND (Importe_factura = 10531.71)) OR ((Núm_proveedor = "13440") AND (Núm_factura = "5518912") AND (Fecha_factura = `20191015`) AND (Importe_factura = 11068.20))
Por el contrario, usted logra el mismo resultado si crea un filtro sobre la base de un número de grupo:
SET FILTER TO MATCH(GROUP_NUM, 3 , 8, 11)
Observaciones
Nota
Si desea obtener más información sobre la forma en la que funciona este comando, consulte Guía de ayuda.
Ordenamiento y duplicados
En general, solo debe ejecutar el comando duplicados en uno o más campos clave ordenados. Los valores duplicados en un campo clave solo se pueden encontrar si son adyacentes.
Si ejecuta el comando duplicados en un campo clave sin ordenar, los valores duplicados que no son adyacentes no se reportan como duplicados. Si existen uno o más clústeres del mismo valor duplicado, se los reporta como duplicados, pero en grupos separados.
Según cuáles sean las metas de su análisis, tal vez sea conveniente ejecutar el comando duplicados en un campo sin ordenar. Por ejemplo, es posible que desee detectar únicamente los valores duplicados adyacentes en la tabla de origen e ignorar los valores duplicados que no son adyacentes.