Cómo hacer coincidir los valores de dos columnas mientras el orden puede ser diferenteDigamos que medí el defecto de una oblea dos veces y tengo datos de los ejes X, Y para cada defecto.
Algunos defectos son defectos repetidos, tienen datos de eje muy similares (aunque no exactamente iguales), así que les pondría la etiqueta "repetir", mientras que algunos defectos no coinciden, así que les pondría la etiqueta "nueva".
¿Cómo escribo una fórmula para hacer esto automáticamente? (es decir, fórmula para crear automáticamente la columna "juzgar según la base después de")
(Tenga en cuenta que para el mismo defecto, los valores no son exactamente iguales, solo muy cercanos. Y el mismo defecto podría estar en una fila diferente para antes y después)
| X-Antes | Y-Antes | X-Después | Y-Después | juez basado en después |
| -446659 | 888856 | -446649 | 888852 | Repetir |
| -445908 | 630775 | -445899 | 630772 | Repetir |
| -447462 | 301534 | -446122 | 588199 | nuevo |
| -140914 | 508425 | -447456 | 301532 | Repetir |
| | | -140907 | 508433 | Repetir |
AnalíticaTabla de datosRe: Cómo hacer coincidir los valores de dos columnas mientras el orden puede ser diferenteAquí hay un enfoque.Determina la diferencia entre los dos puntos y luego aplico la lógica Nuevo / Repetir a la diferencia.Creo que tiene un error en su tabla de datos, que aparece en el nuevo cálculo.
Names Default To Here( 1 );
dt = Current Data Table();
xFudge = Abs( Min( Col Min( :"x-before"n ), Col Min( :"x-after"n ) ) );
yFudge = Abs( Min( Col Min( :"y-before"n ), Col Min( :"y-after"n ) ) );
//dt << New Column( "diff" );
dt << New Column( "Repeat_New", character );
For Each Row(
diff = Sqrt(
((xFudge + :"x-before"n) - (xFudge + :"x-after"n)) ^ 2 + ((yFudge + :"y-before"n) - (yFudge +
:"y-after"n)) ^ 2
);
If( diff < 100 | isMissing(diff)
,
:Repeat_New = "Repeat";
,
:Repeat_New = "New"
);
);
Re: Cómo hacer coincidir los valores de dos columnas mientras el orden puede ser diferenteHola txnelson,
Gracias por tu respuesta, probé tu método. Sin embargo, existe un problema.
Parece que solo comparas datos en la misma fila.
La situación real es:
Porque antes podía haber 500 defectos, es decir, 500 filas. Para después, podría haber 1000 filas.
El mismo defecto puede ubicarse en la fila 50 # antes de la columna, y se ubica en la fila 121 después de la columna, no lo sabrá.
Por lo tanto, es necesario comparar las 1000 filas de después con las 500 filas de antes para que coincidan con cada defecto repetido.
El resultado de la coincidencia puede ser: 490 de 500 pudieron encontrar una coincidencia, 10 faltaban y los otros 500 son nuevos sumadores