Sto cercando di scrivere uno script per automatizzare la creazione di un grafico bivariato. Di seguito un esempio dei miei dati:

Ho creato l'output bivariato che volevo usando il metodo point-and-click:
- assegnazione della colonna OD alla risposta Y, colonna Assigned Cal per la risposta X e colonna Lot per il ruolo Per
- fare clic con il pulsante destro del mouse sul triangolo rosso, fare clic su Raggruppa per, selezionando la colonna Condizione
- fare clic con il pulsante destro del mouse sul triangolo rosso, fare clic su Adatta speciale, selezionando 2 quadratici dal menu a discesa e deselezionando Polinomio centrato
e il grafico risultante è quello che voglio:

Lo script risultante dall'esecuzione di ciò tramite il metodo point-and-click è il seguente:
platform = Data Table (dt3) <<
Bivariate(
Y( :OD ),
X( :"Assigned Cal"n ),
Fit Where(
:Condition == "Vendor 4",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {212, 73, 88} )}
)
),
Fit Where(
:Condition == "Vendor 1",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {61, 174, 70} )}
)
),
Fit Where(
:Condition == "Vendor 2",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {66, 112, 221} )}
)
),
Fit Where(
:Condition == "Vendor 3",
Fit Special(
Degree( 2 ),
Centered Polynomial( 0 ),
{Line Color( {204, 121, 41} )}
)
),
By( :Lot )
);
Questo va bene, ma nel mio esempio avevo 4 valori di condizione univoci (Vendor 1, Vendor 2, Vendor 3, Vendor 4). Quando i miei colleghi utilizzano questo script, i loro dati potrebbero avere un numero diverso di condizioni (2 o più) e i nomi delle loro condizioni potrebbero essere diversi. Nello script sopra, i 4 valori di Condizione univoci sono indicati in modo specifico, i colori sono assegnati in modo specifico, ecc.
Quindi la mia domanda è: come posso scrivere uno script generale per questo processo che eseguirà le stesse azioni per n valori di condizione univoci con nomi diversi?
È necessario utilizzare il messaggio << Raggruppa per( colonna ) con l'oggetto Bivariate prima di adattare il modello scelto:
platform = Data Table (dt3) <<
Bivariate(
Y( :OD ),
X( :"Assigned Cal"n ),
By( :Lot )
);
platform << Group By( :Condition );
platform << Fit Special(
Degree( 2 ),
Centered Polynomial( 0 )
);
Ho pensato che la soluzione potesse essere semplice come questa, ma mi mancava l'esperienza su come cose come Group By() e Fit Special() funzionano come messaggi diretti. Questo ha risolto il mio problema, grazie!