Cómo resolver un problema con una fórmula para una columnaCódigo:
If(
!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column(
"EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(
:Name( "duration" ) * 24
)
)
);
Error:
Inesperado ")". Quizás falte un ";" o un ",".
Línea 9 Columna 6: ))►)
El texto restante que fue ignorado fue
)
Problema de resolución con fórmula para la columna EFT (h):
No puedo entender qué podría ser esto.
También he probado esto:
If(
!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column(
"EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(:duration * 24)
)
);
Automatización y scriptingAcceso a datosCombinación y limpieza de datosRe: Cómo resolver un problema con una fórmula para una columnaIf(
!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column(
"EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(
:Name( "EFT (h)" ) * 24
)
)
);
usando esto
Re: Cómo resolver un problema con una fórmula para una columnaTenga en cuenta que en la última versión la columna duración se reemplaza por la columna EFT(h).
Para encontrar problemas con comas, puede hacer doble clic en un corchete y el corchete correspondiente también se marcará, junto con el script adjunto.
Otra opción: utilizar el script de reformateo.
Funciona como ejecutar el código: se comprueba la sintaxis y en caso de error se indicará en el registro la línea con el error.

Al aplicar estas comprobaciones, no hay problemas con las comas en el código.
Además de las comprobaciones manuales, algunas automatizaciones serán de ayuda, por ejemplo, la coloración automática del código, como se sugiere en este deseo:
Resaltado de sintaxis avanzado en el editor JSL: ¿la función evalúa su argumento?
Re: Cómo resolver un problema con una fórmula para una columnaEl problema más complicado con los soportes desequilibrados:
for ( i=1, i < 10, i++,
list = { A, B, C ;
E+F;
);

... los problemas con los soportes "equilibrados".
Al posicionar el cursor detrás del corchete de cierre, se muestra el corchete de apertura correspondiente:

¿Todo bien? ¿Por qué aparece el mensaje de error al cerrar el archivo ")"?
JMP tiene una pista:

Entonces, revisemos las llaves...
Interesante, en tu caso la sugerencia fue:

?
Re: Cómo resolver un problema con una fórmula para una columnaAmbos scripts funcionan bien para mí.
Names Default To Here(1);
col_name_list = {};
dt = New Table("table",
New Column("duration", Numeric, Continuous, Values([1]))
);
If(!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column("EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(:Name("duration") * 24)
)
);
En general, reformatear los scripts debería ser capaz de capturar la mayoría de los problemas.
También sugeriría no usar Name() para casos como este (dentro de fórmulas), a menos que esté en una versión mucho más antigua de JMP, ya que ha sido reemplazado por ""n
Guía de scripts > Bloques de construcción de JSL > Reglas de sintaxis de JSL > Reglas de JSL para nombres

Re: Cómo resolver un problema con una fórmula para una columnaGracias, revisé el formato y parece estar bien. No encuentro este error.
Unexpected ")". Perhaps there is a missing ";" or ",".
Para contextualizar, el script en el que estoy trabajando es un script heredado, escrito quizás en la versión 14/15 de JMP. Funciona para el propósito para el que fue diseñado. Ahora lo estoy reutilizando.
No sabía que se usaba Name(), me sugieres que debería usar el nombre de la columna directamente, tal vez como
Names Default To Here(1);
col_name_list = {};
dt = New Table("table",
New Column("duration", Numeric, Continuous, Values([1]))
);
If(!Contains(col_name_list, "EFT (h)"),
Current Data Table() << New Column("EFT (h)",
Numeric,
Continuous,
Format("Fixed Dec", 10, 1),
Formula(:duration * 24)
)
);
o duración * 24.
Soy muy nuevo en esto. ¿Sería más fácil reutilizar todo este código en Python? ¿Tendría que seguir definiendo todos los parámetros de columna, como tipo, formatos y tipo de modelado? Gracias.
Re: Cómo resolver un problema con una fórmula para una columnaGracias, revisaré este enlace. Aún no los conozco.
Re: Cómo resolver un problema con una fórmula para una columnaSin ver el script es difícil decir cuál podría ser el problema, ya que los scripts que has proporcionado funcionan bien.
¿Hay alguna razón específica para reescribirlo en Python? Si se va a seguir usando en JMP, no usaría Python (la mayoría de las veces) para realizar tareas que también podrían realizarse con JSL.