Ho utilizzato Color Out of Spec Values() per risolvere gli errori relativi alle specifiche del colore nei miei dati di misurazione. Ho più colonne con dati di misurazione e i valori fuori specifica per ciascuna colonna vengono colorati in base alle specifiche per ciascuna colonna di parametri.
Per ogni colonna di parametri voglio creare una colonna adiacente che assegni un "1" quando la cella è colorata altrimenti "0".
Come ottenere questo risultato tramite JSL?
Questo dà un'idea di come puoi gestire la situazione per una colonna
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
a = {1, 3, 5};
b = {2, 4, 6};
c = {7, 8, 9};
:height << color cells({{"Red", a}, {"blue", b}, {"yellow", c}});
:weight << color cells({{"Red", a}});
:age << color cells({{"Red", a}, {"blue", b}});
get_colored_cells = Function({dt, colname}, {Default Local},
colscript = Column(dt, colname) << Get Script;
l = Substitute(Name Expr(colscript), Expr(New Column()), List());
colored_cells = {};
Try(
colors = l["Color Cells"];
If(Type(colors[1]) == "List",
jmptrickery = 1;
,
jmptrickery = 0;
);
For Each({color}, colors,
If(jmptrickery,
Insert Into(colored_cells, color[2]);
,
Insert Into(colored_cells, color);
);
);
);
return(Matrix(colored_cells));
);
colname = "age";
// for single column
rows = J(1, N Rows(dt), 0);
colored_rows = get_colored_cells(dt, colname);
rows[colored_rows] = 1;
dt << New Column("result", Numeric, Nominal, Values(rows));
puoi quindi creare colonne aggiuntive per colorare ciascuna colonna quando le passi sopra