Scrittura di una formula utilizzando "IF" e controllo di qualitàCiao a tutti,
Sono molto nuovo in JMP. Trovo di essere in grado di scrivere formule abbastanza bene, ma ora voglio scriverne una un po' più "avanzata" in JMP. Questa è la formula:
A – B (+1 se A >= 
Dovrei aggiungere queste sono le date (DDMYYY=30Mar2000) e ho bisogno dei numeri per darmi una differenza dei giorni totali. Ho un sacco di problemi a scrivere correttamente la formula. Le parentesi non sono facili da inserire o almeno non per me. E non capisco il confronto logico "IF".
Il problema successivo è: come posso eseguire il controllo di qualità (controllo di qualità) o ricontrollare l'equazione/il mio lavoro?
Il tuo aiuto è molto apprezzato.
Ri: Scrivere una formula usando "IF" e controllo di qualitàTentativo:
:A - :B + (:A >=B); //this adds 1 if A is A>=B and zero otherwise
Inoltre, se si tratta di date, la colonna con la formula di sottrazione dovrebbe avere il formato come Durata giorni. Potresti anche voler esaminare le funzioni floor e ceiling.
Se stai lavorando su JMP 12 o versioni successive, dal menu principale seleziona Guida > Indice di scripting > seleziona Funzioni per categorie > Seleziona data e ora o cerca la funzione Differenza data() ci sono 3 esempi che mostrano le diverse opzioni per l'allineamento.
Ri: Scrivere una formula usando "IF" e controllo di qualitàHa funzionato (vedi allegato)!
Vedo a occhio che funziona, ma per un set di dati più ampio, che è quello su cui sto lavorando, sarebbe più difficile. Vedo che altri hanno consigliato una distribuzione o y-vs-time, ma come imposteresti una distribuzione o y-vs-time per verificare che funzioni?
Ancora una volta, questo può essere molto semplice, ma sono così nuovo in JMP e non sono sicuro da dove cominciare. Grazie!
Ri: Scrivere una formula usando "IF" e controllo di qualitàGrazie! Questo sarà molto utile.
Ri: Scrivere una formula usando "IF" e controllo di qualitàVedi screenshot.
JSL: If( Date Difference( :A, :B, "day" ), 1, 0)
Ri: Scrivere una formula usando "IF" e controllo di qualitàTornando alle tue domande originali, cosa succede se usi solo questo per la formula:
A - B + If(A >= B, In Days( 1 ), 0 )
Ri: Scrivere una formula usando "IF" e controllo di qualitàHai ragione, A e B sono colonne numeriche. Il formato è ddMonyyyy, larghezza 10, tipo di modellazione continuo.
Quello che devo fare è avere la differenza delle due date (AB). Usando il Funzione di differenza di data come descritto mi dà un errore (non so perché). Ho scoperto che se lo faccio:
(AB)/86400 Capisco la differenza di giorni!
Al tuo punto di se che. Devo aggiungere uno (1) se A è maggiore di B. Ho provato a continuare la formula facendo ((AB)/86400)>0 ma questo mi dà solo 0 o 1 come risultato. Quando in realtà ne ho bisogno solo per aggiungere 1 al numero. Per esempio:
A = 02 marzo 2000
B = 30 marzo 2000
Quindi (AB)/86400 è -28. Ora ho bisogno della mia formula per aggiungerne semplicemente uno poiché A è maggiore di B.
Ri: Scrivere una formula usando "IF" e controllo di qualitàNon aver paura, Formula Editor è tuo amico! Prendilo da qualcuno che ha presentato su di esso un precedente Discovery Summit:
Discovery-Summit-2016: Letting-Go-of-Excel-Hello-Formula-Editor
Per quanto riguarda il controllo del tuo lavoro: crea una distribuzione della tua nuova colonna. La migliore pratica per i grafici consiste nel tracciare anche le variabili di input in modo da verificare che la logica sia corretta. JMP 14 ti consente di visualizzare in anteprima i risultati nella parte inferiore della finestra dell'editor di formule (bella aggiunta, sviluppatori!). In questo caso, la formula è piuttosto semplice. Analizzo molti dati di processo di serie temporali (migliaia di righe di pressione, temperatura, flusso, ecc.) E devo scrivere formule per trovare le condizioni (P > x AND T > y). In questi casi, traccerò anche gli input e il risultato della formula rispetto al timestamp per vedere se la formula fa quello che voglio.
Ecco un Webinar sulla padronanza di JMP sull'argomento di Jerry Cooper (il mio partner nel video qui sopra)
Ri: Scrivere una formula usando "IF" e controllo di qualitàInnanzitutto, presumo che A e B siano colonne numeriche con la data memorizzata come numero di secondi dalla mezzanotte del 1 gennaio 1904, come richiesto da JMP. Non è possibile utilizzare rappresentazioni di date in stringhe di caratteri per questo calcolo.
In secondo luogo, vedere il Differenza data() funzione.
Quindi vuoi 1 se A >= B? Quale risultato vuoi se il confronto è falso?
Potresti usare solo Differenza data( A, B, "giorno") > 0 se vuoi 1 quando è vero e 0 quando è falso.