Es genial que se puedan usar funciones personalizadas, así como parte de fórmulas personalizadas en el Editor de fórmulas.
Con el comando Transformar categoría, el
New Custom Function( "myNamespace", "Add Ten", Function( {x, y = 10}, x + y ), << Transform Category( "Custom" ));de https://www.jmp.com/support/help/en/16.2/#page/jmp/create-custom-functions-transforms-and-formats.shtml
aparecerá en el menú de columna Nueva fórmula, al hacer clic derecho, y producirá una columna con fórmula

acabo de empezar con @txnelson el enfoque
https://community.jmp.com/t5/Discussions/Formula-for-Number-of-Unique-Categories-in-Column/mp/55284/highlight/true#M31262
para generar una columna para Contar único valores, pero en lugar de escribir la fórmula, quería usar una función personalizada.
La columna de fórmula generada manualmente funciona, pero la columna que utiliza la función personalizada contar único no.
falla con el mensaje de error

Parece que x en el por() La expresión no se reemplaza con el nombre de la columna.
Entonces, usa Evaluación(Sustituto() para solucionar el problema?
... ¿pero cómo?
Con
Eval(Substitute(Expr(Summarize( values = by( _col_ ) )),Expr(_col_),Name Expr(x) ));
yo obtengo

- porque en una fórmula de columna :x se trata como :x[fila()]. Arg...
En esta línea, empiezo a preguntarme por qué funciona esto:

[NB: la línea roja en zig-zag simplemente le dice al usuario que imprimir en una fórmula de columna no es una buena idea]
¿Por qué Jmp sabe que tiene que enviar? obtener valores a la COLUMNA :sexo y y no a :sexo[fila()].
¿Y por qué realmente regresa? :sexo[fila()] en la segunda línea - y no en la columna :sexo ?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
Add Custom Functions(
New Custom Function(
"custom",
"count unique",
Function( {x},
As Constant( Summarize( values = by( x ) ) );
N Items( values );
),
<<TRANSFORM category=""></TRANSFORM>