<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'ai trouvé un "bogue" potentiellement dangereux dans la fonction de mise à jour. Lors de la mise à jour d'une table de données à l'aide de "Par colonnes correspondantes", si le "s" final est omis, ce script sera mis à jour par ligne. C'est une erreur facile à commettre et difficile à attraper (car aucune erreur n'est générée). Cela peut-il être abordé dans la prochaine mise à jour JMP? Ce problème a été trouvé sur JMP12.
Merci!!
Noms par défaut jusqu'ici ( 1 ) ;
dt = Ouvrir ( "$ SAMPLE_DATA / Big Class.jmp" ) ;
dt << Nouvelle colonne ( "Identifiant unique" ,
Personnage ,
Nominal ,
Formule ( : prénom || "," || Carboniser ( : âge ) || "," || : sexe || "," || Carboniser ( : la taille ) || "," || Carboniser ( : poids ) )
) ;
dt << Nouvelle colonne ( "Nombre" , Numérique , Continu , Format ( "Meilleur" , 12 ) , Formule ( Séquence ( 1 , N lignes () , 1 , 1 ) ) ) ;
Colonne ( dt , "Identifiant unique" ) << Supprimer la formule ;
Colonne ( dt , "Nombre" ) << Supprimer la formule ;
dt2 = dt << Sous-ensemble ( Les colonnes ( "Identifiant unique" , "Nombre" ) ) ;
dt2 << Trier ( Remplacer la table , Par ( : Nombre ) , Ordre ( Descendant ) ) ;
dt2 << Nouvelle colonne ( "Une Colonne" , Personnage , Nominal , Définir chaque valeur ( "X" ) ) ;
dt << Mettre à jour ( Avec ( dt2 ) , En faisant correspondre la colonne ( : Identifiant unique == : Identifiant unique ) ) ;
// dt << Update (With (dt2), en comparant les colonnes (: UniqueID ==: UniqueID));
dt << Amener la fenêtre à l'avant ;
JMP exige des termes spécifiques et précis pour les plateformes, les éléments et les messages JMP. Vous devez être conscient de la spécification correcte de la syntaxe.
salut robot ,
Je peux confirmer que cela se produit également dans JMP11.
le problème persiste même si vous utilisez "match column" à la place. la vérité est que toute combinaison de lettres qui ne sont pas "en comparant les colonnes" ou "en correspondance de colonnes" provoque l’ignorance de JMP et la mise à jour par ligne (valeur par défaut sauf indication de colonne).
dt << Mettre à jour ( Avec ( dt2 ) , Match Column ( : Identifiant unique == : Identifiant unique ) ) ; // toujours correspondant par ligne
// dt << Mettre à jour ( Avec ( dt2 ) , Match Columns ( : Identifiant unique == : Identifiant unique ) ) ; // cela fonctionne bien - par colonnes
// dt << Mettre à jour ( Avec ( dt2 ) , Colonne Msfgsdfsfgatvvch ( : Identifiant unique == : Identifiant unique ) ) ; // pas de message d'erreur non plus - correspondance par ligne
quelle menace en effet.
le seul inconvénient est que la plupart des gens, y compris moi, n'écrivent presque jamais la commande de mise à jour, mais l'obtiennent simplement auprès de JMP après l'avoir effectuée manuellement. Sinon, des conséquences désagréables auraient maintenant eu lieu.