Rédaction d'une formule à l'aide de "IF" et du contrôle qualitéBonjour à tous,
Je suis très nouveau sur JMP. Je trouve que je suis capable d'écrire des formules assez bien, mais je veux maintenant en écrire une qui soit un peu plus "avancée" dans JMP. C'est la formule :
A – B (+1 si A >= 
Je dois ajouter que ce sont des dates (DDMYYY = 30Mar2000) et j'ai besoin des chiffres pour me donner une différence du nombre total de jours. J'ai beaucoup de mal à écrire correctement la formule. Les parenthèses ne sont pas faciles à insérer ou du moins pas pour moi. Et je ne comprends pas la comparaison logique "IF".
Le problème suivant est, comment puis-je QC (contrôle de la qualité) ou revérifier l'équation/mon travail ?
Votre aide est grandement appréciée.
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéEssayer:
:A - :B + (:A >=B); //this adds 1 if A is A>=B and zero otherwise
De plus, s'il s'agit de dates, la colonne avec la formule de soustraction doit avoir le format Durée Jours. Vous voudrez peut-être également étudier les fonctions plancher et plafond.
Si vous travaillez sur JMP 12 ou une version ultérieure, dans le menu principal, sélectionnez Aide > Index des scripts > sélectionnez Fonctions pour les catégories > Sélectionner la date et l'heure ou recherchez la fonction Différence de date(), il existe 3 exemples montrant les différentes options d'alignement.
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéCela a fonctionné (voir ci-joint)!
Je peux voir à l'œil nu que cela fonctionne, mais pour un ensemble de données plus important, sur lequel je travaille, ce serait plus difficile. Je vois que d'autres ont recommandé une distribution ou y-vs-time, mais comment configureriez-vous une distribution ou y-vs-time pour vérifier ce travail ?
Encore une fois, cela peut être très simple, mais je suis si nouveau dans JMP et je ne sais pas par où commencer. Merci!
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéMerci! Cela sera très utile.
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéVoir capture d'écran.
JSL : Si( Différence de dates( :A, :B, "jour" ), 1, 0)
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéPour en revenir à vos questions initiales, que se passerait-il si vous utilisiez simplement ceci pour la formule :
A - B + If(A >= B, In Days( 1 ), 0 )
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéVous avez raison, A et B sont des colonnes numériques. Le format est ddMonyyyy, largeur 10, type de modélisation continue.
Ce dont j'ai besoin, c'est d'avoir la différence des deux dates (AB). En utilisant le Fonction de différence de date comme décrit me donne une erreur (je ne sais pas pourquoi). J'ai trouvé que si je fais:
(AB)/86400 Je reçois la différence de jours !
À votre point du si que. Je dois ajouter un (1) si A est supérieur à B. J'ai essayé de continuer la formule en faisant ((AB)/86400)>0 mais cela ne me donne que 0 ou 1 comme résultat. Alors qu'en fait j'en ai besoin juste pour ajouter 1 au nombre. Par exemple:
A = 02mars2000
B = 30mars2000
Alors (AB)/86400 vaut -28. Maintenant, j'ai besoin que ma formule en ajoute simplement un puisque A est supérieur à B.
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéN'ayez pas peur, Formula Editor est votre ami ! Prenez-le de quelqu'un qui y a présenté un précédent Discovery Summit :
Discovery-Summit-2016 : Lâcher prise d'Excel-Hello-Formula-Editor
En ce qui concerne la vérification de votre travail : faites une distribution de votre nouvelle rubrique. Une meilleure pratique pour les tracés consiste également à tracer les variables d'entrée afin de vérifier que la logique est correcte. JMP 14 vous permet de prévisualiser vos résultats en bas de la fenêtre de l'éditeur de formule (un bel ajout, développeurs !). Dans ce cas, la formule est assez simple. J'analyse beaucoup de données de processus de séries chronologiques (des milliers de lignes de pression, de température, de débit, etc.) et je dois écrire des formules pour trouver des conditions (P > x ET T > y). Dans ces cas, je vais également tracer les entrées et le résultat de la formule par rapport à l'horodatage pour voir si la formule fait ce que je veux.
Voici un Webinaire Maîtriser JMP sur le sujet par Jerry Cooper (mon partenaire dans la vidéo ci-dessus)
Re : Écrire une formule en utilisant "IF" et le contrôle qualitéTout d'abord, je suppose que A et B sont des colonnes numériques avec la date stockée en nombre de secondes depuis minuit, le 1er janvier 1904, comme requis par JMP. Vous ne pouvez pas utiliser des représentations de dates sous forme de chaînes de caractères pour ce calcul.
Deuxièmement, voir le Différence de dates() fonction.
Alors tu veux 1 si A >= B ? Quel résultat voulez-vous si la comparaison est fausse ?
Vous pourriez utiliser juste Différence de date( A, B, "jour" ) > 0 si vous voulez 1 quand c'est vrai et 0 quand c'est faux.