Fonction pour copier des données en fonction d'un critère de sélectionSalut,
Serait-il possible de créer une fonction, un script ou une formule de colonne pour copier les informations d'une colonne en fonction d'une sélection effectuée dans d'autres colonnes. Une sorte de fonction RECHERCHEV si je devais décrire cela. J'ai joint un tableau JMP à titre d'exemple.
Je voudrais remplir le Temps ajusté colonne avec les données du Temps colonne. Et cela devrait être fait de manière à ce que si Stage = PR il doit simplement copier les données exactes de chaque ligne comme dans la colonne Time. Mais si Stage = SL il devrait copier l'heure où Step = P0 (pour chaque ligne SL). Si Stage = ST il devrait copier l'heure où Step = R1 (pour chaque ligne ST). Cela devrait également être fait pour chaque Numéro de l'expérience séparément.
Serait-il en outre possible de générer un message d'avertissement s'il n'y a pas de Step = P0 ou Step = R1 disponible dans le tableau de données actuel (par exemple, expérience numéro 2)?
Très apprécié si quelqu'un pouvait m'aider ou me lancer dans l'écriture de ce script ou de cette formule.
Rob
Tableau de donnéesScriptingRe: Fonction pour copier les données en fonction d'un critère de sélectionVoici une formule qui fait ce que vous voulez, et s'il n'y a pas de valeur de recherche correcte trouvée, elle change la couleur de la cellule en rouge.Formule ci-dessous et tableau de données joint

curExp = :Experiment Number;
curStage = :Stage;
:Adjusted Time << color cells( "White", Row() );
at = .;
If(
:Stage == "PR", at = :Time,
:Stage == "SL",
row = Current Data Table() << get rows where( :Experiment Number == curExp & :Stage == "SL" & :Step == "P0" );
If( N Rows( row ) > 0,
at = :Time[row[1]],
:Adjusted Time << Color Cells( "Red", Row() )
);,
:Stage == "ST",
row = Current Data Table() << get rows where( :Experiment Number == curExp & :Stage == "ST" & :Step == "R1" );
If( N Rows( row ) > 0,
at = :Time[row[1]],
:Adjusted Time << Color Cells( "Red", Row() )
);
);
at;
Re: Fonction pour copier les données en fonction d'un critère de sélectionsalut @txnelson ,
Merci pour la réponse rapide. Cela fonctionne vraiment très bien.
Cependant, les cellules de couleur rouge semblent être verrouillées pour la saisie manuelle des données. Y aurait-il un moyen de contourner cela?
Je souhaite saisir moi-même une valeur de date / heure chaque fois que cela se produit.
Cordialement,
Rob
Re: Fonction pour copier des données en fonction d'un critère de sélection- Étant donné que les valeurs de la colonne sont créées par une formule, la seule façon de la conserver en tant que colonne basée sur une formule et de corriger les valeurs serait d'ajouter les lignes P0 et R1 manquantes, et une fois que vous avez fait cela, les couleurs de cellule disparaîtrait.
- Si vous devez utiliser la saisie manuelle pour corriger les valeurs de cellule individuelles, vous devrez changer les valeurs des colonnes en valeurs statiques.Cela se fait facilement par
- Double-cliquez sur l'en-tête de colonne pour ouvrir la fenêtre Informations sur la colonne.
- Accédez à la zone Propriétés de la colonne et spécifiez Supprimer la formule en cliquant sur le bouton Supprimer
- Cliquez sur OK pour fermer la fenêtre Informations sur la colonne
- Vous pouvez maintenant modifier les valeurs des cellules en les tapant dessus, et changer la couleur de la cellule en cliquant avec le bouton droit sur la cellule et en sélectionnant Couleur de la cellule
Je vous recommande vivement de prendre le temps de lire les documents Discovering JMP et Using JMP disponibles dans la bibliothèque de documentation JMP dans le menu déroulant Aide.Vous constaterez que cela rendra votre entrée dans le monde JMP plus facile et plus agréable.Cela vous montrera également que, bien que JMP et Excel soient différents l'un de l'autre, ce sont tous deux des outils très puissants.