Ordene las columnas en orden descendente y use las 4 más grandes para el cálculoTengo una tabla de datos y necesito obtener los primeros 4 valores más grandes de un rango de columnas, etiquetadas como "Boquilla #". Estos valores de columna varían según la variable o la columna etiquetada como "Test #".

Luego necesito aplicar estos valores y en una nueva columna calcular el área de un círculo por número de prueba. Dado que tengo una tabla de datos más grande, me gustaría agrupar las columnas usando la lógica For, If y contains o ¿existe un enfoque más eficiente en JSL?
Re: Ordenar columnas en orden descendente y usar las 4 más grandes para el cálculoPor favor, eche un vistazo a la primera fórmula que le di.Primero crea una lista de todos los valores de las diferentes columnas para la fila dada.Luego ordena los valores y finalmente toma los primeros cuatro valores en una cadena de caracteres.
Si agrega ese código al código más reciente, dará como resultado un valor para la columna que contiene los primeros 4 valores más grandes.
Re: Ordenar columnas en orden descendente y usar las 4 más grandes para el cálculoLo probé, el código se muestra a continuación, pero me da todos los valores ordenados.
theList = {};
For( i = 2, i <= 7, i++,
For Each Row(
Eval( Parse( "Insert Into( theList," || Char( Column( dt, i )[Row()] ) || ")" ) )
)
);
theList = Sort Descending( theList );Flexible,
<SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="image.png" style="width: 814px;"><SPAN class="lia-inline-image-display-wrapper" image-alt="image.png" style="width: 814px;"><span class="lia-inline-image-display-wrapper" image-alt="image.png" style="width: 814px;"><img src="https://us.v-cdn.net/6038925/uploads/images/21024iC715F1791A69F0B3/image.png" role="button" title="image.png" alt="image.png" /></span></SPAN></SPAN>
Re: Ordenar columnas en orden descendente y usar las 4 más grandes para el cálculoIntenta usar este formulario
dt = Current Data Table();
theList = {};
For( i = 2, i <= 7, i++,
Eval( Parse( "Insert Into( theList," || Char( Column( dt, i )[Row()] ) || ")" ) )
);
theList = Sort Descending( theList );Re: Ordenar columnas en orden descendente y usar las 4 más grandes para el cálculoAsí que traté de poner las columnas en una lista usando un bucle for, que se muestra como Lista 1 en el archivo nozzle_script.jsl. Cada vez que intento ordenarlos, solo se ordenan los nombres de las columnas y no los valores de las columnas. También intenté usar el código que ha mostrado y las listas se muestran vacías en el Registro, que se muestra a continuación.

Mi objetivo general sería algo como esto:

(nota: ingresé manualmente los valores de la columna "Más grande". Luego aplicó la fórmula ("Más grande"/4)^2 para las columnas "Área").
He adjuntado la tabla de datos y mi script a continuación. ¡Gracias!
Re: Ordenar columnas en orden descendente y usar las 4 más grandes para el cálculoAquí hay un ejemplo de una manera de hacer esto.Admito que es un poco loco, pero debería mostrarte algo de JCL que te dará una idea de lo que puedes hacer.Hice el cálculo en una nueva columna en la tabla de datos que mostraste en tu primera consulta.

Aquí está la fórmula que desarrollé para la nueva columna.
theList = {};
Insert Into( theList, :Nozzle 1 );
Insert Into( theList, :Nozzle 2 );
Insert Into( theList, :Nozzle 3 );
Insert Into( theList, :Nozzle 4 );
Insert Into( theList, :Nozzle 5 );
Insert Into( theList, :Nozzle 6 );
theList = Sort Descending( theList );
theOutput = Char( theList[1] );
theOutput = theOutput || ", " || Char( theList[2] );
theOutput = theOutput || ", " || Char( theList[3] );
theOutput = theOutput || ", " || Char( theList[4] );
theOutput;Re: Ordenar columnas en orden descendente y usar las 4 más grandes para el cálculoQuisiera los primeros 4 valores de boquilla más grandes por prueba. Entonces, sería:
18684 = 5.5 5 4 0
18685 = 5 5 4 0.5
18688 = 5,5 5 4 0,5
18689 = 5 5 0.5 0
Re: Ordenar columnas en orden descendente y usar las 4 más grandes para el cálculo¿Desea los primeros 4 valores más grandes en las columnas de n.° de boquilla para cada fila, o los primeros 4 valores más grandes para todas las filas de todas las columnas de n.° de boquilla?