Utilizzo dei loop nella formulaCIAO,
È possibile utilizzare il loop nella formula della colonna? Ad esempio, ho una colonna denominata TEST e scrivo for (i=1, i<5, i++, :TEST=char(i)) ... ma non ottengo nulla, quella colonna è vuota dopo aver premuto applicare/OK. Dal ciclo spero che ogni riga nella colonna sia 4.
Ci scusiamo per aver posto una domanda così semplice, ma non sono riuscito a trovare la risposta consultando rapidamente l'appendice A del manuale "Utilizzo di JMP".
Grazie,
Ahmad
Ri: Utilizzo dei loop nella formulaPenso che la tua attuale comprensione dell'utilizzo della formula sia errata.Sono particolarmente confuso con i risultati attesi dalla formula
For( i=0, i<=5, i++, :Strain )
Per impostazione predefinita, le formule vengono eseguite una volta per ogni riga.Pertanto, la maggior parte delle volte non verrebbe utilizzato un ciclo For().
Ho allegato una tabella dati con 4 diverse formule applicate.Spero che se guardi le diverse formule, questo ti aiuterà ad adattare la tua comprensione di come funzionano le formule.
Ri: Utilizzo dei loop nella formulaGrazie mille per il tuo aiuto/risposta.
Per quanto riguarda il semplice ciclo for che ho utilizzato per provare a popolare le prime cinque righe nella colonna "% allungamento", sono curioso di sapere perché la colonna rimane invariata/vuota. Sono completamente fuori strada nel modo in cui ho utilizzato la formula e/o definito gli argomenti?
Nelle primissime fasi di apprendimento di JMP e JSL, cercando di imparare dai miei errori.
Grazie ancora per l'aiuto!
Ri: Utilizzo dei loop nella formulaEcco una formula per la creazione di% allungamento.Non è una formula molto efficiente, ma troverà il valore indipendentemente dall'ordine dei dati.
curForm = :Formulation;
curStrip = :Strip;
theRow = (Current Data Table() << get rows where(
:Formulation == curForm & :Strip == curStrip & :Stress == :Tensile Strength
))[1];
:Strain[theRow];
Se i dati vengono ordinati per Formulazione e Striscia, è possibile utilizzare la formula più efficiente riportata di seguito.
If( Row() == 1 | :Formulation != Lag( :Formulation ) | :Strip != Lag( :Strip ),
curForm = :Formulation;
curStrip = :Strip;
theRow = (Current Data Table() << get rows where(
:Formulation == curForm & :Strip == curStrip & :Stress == :Tensile Strength
))[1];
);
:Strain[theRow];
Ri: Utilizzo dei loop nella formulaLa ringrazio molto per la risposta.
L'ultimo problema che sto cercando di risolvere è il seguente: dispongo di dati di sollecitazione-deformazione per più strisce reattive per più formulazioni ( si prega di consultare il file di dati JMP allegato ). La tabella allegata contiene 4 diversi "gruppi" di formulazione+striscia, ovvero) Forma A/striscia1, Forma A/striscia2, FormaB/striscia1, FormaB/striscia2... Per ciascun gruppo devo identificare 1) lo stress massimo (resistenza alla trazione) e 2) la deformazione associata allo stress massimo. Per identificare la sollecitazione massima, ho creato una colonna "Resistenza alla trazione" e ho utilizzato semplicemente "Col Max()" nell'editor delle formule (vedi immagine sotto)

Ora, sto cercando di popolare la colonna "% allungamento" con i valori di deformazione associati allo stress massimo (resistenza alla trazione) per ciascun gruppo, ed è qui che risiede il mio problema .Invece di scorrere la tabella per identificare manualmente questi valori di deformazione e popolare la colonna "% allungamento", mi chiedo se esiste un modo per ottenere questo risultato con una formula di colonna (o script JSL) .
Stavo pensando che questo potrebbe comportare una combinazione di loop e/o funzioni condizionali.
Inizialmente, ho sperimentato l'iterazione della colonna "Sollecitazione" con un ciclo for, per verificare se Sollecitazione = Resistenza alla trazione in una determinata riga (se sì, popolare la colonna "% allungamento" con il valore di deformazione associato). Consultare il file JPG allegato "stress-strain data_jmp community help_iteration try" per la formula/tentativo della colonna iniziale. La colonna è rimasta invariata/vuota.
Ho quindi provato a popolare semplicemente le prime 5 righe nella colonna "% allungamento" con i valori di deformazione nelle righe indicate (vedere il file JPG allegato "stress-strain data_jmp community help_for loop"). La colonna è rimasta vuota e questo è ciò che ha spinto il mio post iniziale. Presumo che ci siano errori chiave nel modo in cui utilizzo le funzioni.
**Inoltre, riconosco che la mia formula iniziale è troppo semplicistica per il mio obiettivo finale.
Mi scuso per il post lungo e se non sono stato chiaro su qualcosa. Sarò felice di fornire qualsiasi chiarimento. Sono abbastanza nuovo in JMP, quindi qualsiasi consiglio/aiuto in merito sarebbe molto apprezzato. Grazie in anticipo.
Ri: Utilizzo dei loop nella formulaQual è il tuo problema specifico?Puoi pubblicare quale formula stai attualmente utilizzando che non funziona per te?
Ri: Utilizzo dei loop nella formulaCiao, sto provando a utilizzare i loop nella formula della colonna per la prima volta e sembra che mi sia imbattuto nel tuo problema originale.
Potresti chiarire come hai risolto il problema e cosa intendi con l'assegnazione che dovrebbe essere fuori dal ciclo?
Grazie!
Ri: Utilizzo dei loop nella formulaNon c'è bisogno di rispondere... ho scoperto il problema, grazie! L'assegnazione dovrebbe essere fuori dal ciclo.