Sé que el siguiente script es incorrecto:
a = {"a", "b", "b"};
b = [1,2,3];
c = [4, 5, 6];
Nueva tabla ("Resultados SQL",
Nueva columna ("a",
personaje,
establecer valores (a)
),
Nueva columna ("b",
fórmula (SI (: a == "a", establecer valores (b), establecer valores (c))
)
)
)
¿Cómo lo cambio para hacer la salida?
a 1
b 5
b 6
por lo que la primera fila comprueba si la columna 1 es "a", sí, entonces use b [1]; la segunda fila comprueba si la columna 1 es "a", no, entonces use c [2]; la tercera fila comprueba si la columna 1 es "a", no, luego use c [3].
¡Gracias!
He aquí cómo hacer lo que quiere.Tenga en cuenta que JMP tuvo un problema en la fórmula con la referencia de la matriz b, ya que se interpretó que la fórmula hacía referencia a la columna b.Por eso cambié el nombre de la columna a b2.
Names Default To Here( 1 );
a = {"a", "b", "b"};
b = [1, 2, 3];
c = [4, 5, 6];
dt = New Table( "SQL Results",
New Column( "a", character, set values( a ) )
);
dt << New Column( "b2",
formula(
If( :a == "a",
b[Row()],
c[Row()]
);
)
);