définir la valeur des cellules sélectionnéesBonjour,
J'essaie de sélectionner certaines cellules dans le tableau de données et de leur attribuer la valeur 2, mais cela ne fonctionne pas. Quelqu'un peut-il vérifier mon script pour voir ce qui ne va pas?
sdt << selectwhere(
:Informat( "06/26/2018 16:49:00", "m/d/y h:m:s" ) <= :Time <= :Informat(
"06/26/2018 16:54:00",
"m/d/y h:m:s"
)
);
selRows = sdt << getselectedRows;
As Column( sdt, "Status" )[selRows] = "2";
Re : définir la valeur des cellules sélectionnéesÇa marche, merci !
Re : définir la valeur des cellules sélectionnéesLe si fonction garantit que vous n'essayez de régler Statut valeurs à 2 s'il y avait des correspondances.
Je ne suis pas sûr de la différence entre Colonne et Comme colonne .Généralement j'utilise juste Colonne .Si ça marche pas j'essaie Comme colonne . 
Re : définir la valeur des cellules sélectionnéesQuelle est la différence d'avoir if function ici:
if <SPAN class="token punctuation">(</SPAN>nrows<SPAN class="token punctuation">(</SPAN>selrows<SPAN class="token punctuation">)</SPAN> <SPAN class="token operator">></SPAN> <SPAN class="token number">0</SPAN><SPAN class="token punctuation">,</SPAN>
<SPAN class="token function">Column</SPAN><SPAN class="token punctuation">(</SPAN> sdt<SPAN class="token punctuation">,</SPAN> <SPAN class="token string">"Status"</SPAN> <SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">[</SPAN>selRows<SPAN class="token punctuation">]</SPAN> <SPAN class="token operator">=</SPAN> <SPAN class="token string">"2"</SPAN><SPAN class="token punctuation">;</SPAN>
<SPAN class="token punctuation">)</SPAN><SPAN class="token punctuation">;</SPAN>
Aussi, quelle est la différence entre une colonne et une colonne ?
Essayez juste de comprendre le script
Re : définir la valeur des cellules sélectionnéesTout d'abord, supprimez les deux-points avant Informat().Cela indique à JMP qu'Informat est un nom de colonne.Commencez par enlever ces deux-points.Vous pouvez également simplifier votre script comme ceci :
sel rows = sdt << Get Rows Where(Informat("06/26/2018 16:49:00", "m/d/y h:m:s") <= :Time <= Informat("06/26/2018 16:54:00", "m/d/y h:m:s"));
sdt:Status[selRows]="2";Vous devez également vérifier que Status est une colonne de caractères.S'il est numérique (même si le type de modélisation est nominal ou ordinal), vous devez supprimer les guillemets autour de "2".
Re : définir la valeur des cellules sélectionnéesSi tu utilises obtenir des lignes où vous pouvez vous assurer qu'il y a des lignes qui doivent être modifiées.Comme mentionné, supprimez les deux-points principaux d'Informat.Changement Comme colonne pour Colonne .
selrows = sdt << get rows where(
Informat( "06/26/2018 16:49:00", "m/d/y h:m:s" ) <= :Time <= :Informat(
"06/26/2018 16:54:00",
"m/d/y h:m:s"
)
);
if (nrows(selrows) > 0,
Column( sdt, "Status" )[selRows] = "2";
);
Re : définir la valeur des cellules sélectionnéesJe n'ai pas de données pour exécuter votre script mais je l'ai changé pour mes données et cela a bien fonctionné (mais je n'ai pas utilisé la fonction informat()).Ensuite, j'ai remarqué que vous avez un deux-points ":" avant informat(), et l'éditeur jsl n'affiche pas l'aide du texte de survol pour informat avec les deux-points, mais il le montre quand je supprime ces deux-points. Essayez de supprimer les deux points avant l'informat () et voyez si cela aide. Le côlon est utilisé pour définir une variable de colonne. avec la syntaxe ":name" oblige nom à évaluer en tant que colonne de table de données.(édité pour donner une description plus précise, à partir du site Web de JMP)
BTW merci pour le conseil sur la structure logique là-bas. Je n'avais aucune idée que je pouvais faire hache < y < z d'un seul coup. Habituellement, c'est x < y & y < z.