Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List Check<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />// Ce code montre le bug.La concaténation avec l'option Ajouter à la première table entraîne une corruption des données.
dtA = nouvelle table("A");
dtB = nouvelle table("B");
dtA << Ajouter des lignes (3);
dtB << Ajouter des lignes (1);
colA = Colonne (dtA, 1);
colB = Colonne(dtB, 1);
colA[1]="A";
colA[2]="A";
colA[3]="C";
colB[1]="B";
dtA << Compresser les colonnes sélectionnées (dtA << Obtenir les noms de colonnes () );
// Ces données n'ont pas de vérification de liste, mais ne sont pas corrompues
(dtA << Concaténer (dtB)) << Définir le nom ("Non corrompu");
// Ces données sont corrompues
dtA << Concaténer (dtB, ajouter au premier tableau (1)) << Définir le nom ("Corrompu");
Re : Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List CheckOk, merci Martin pour les conseils sur la façon de mettre cela sur le radar de l'équipe de développement...
-Bob
Re : Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List CheckSalut Bob,
désolé pour la réponse tardive, j'étais sur la route lors des visites chez les clients.
Je comprends votre point de vue. En même temps, je pense que peu de choses peuvent être faites pour empêcher cela. Je vais essayer d'expliquer pourquoi. Avec la compression, vous lancez une vérification de liste avec les valeurs qui se trouvent dans les colonnes au moment de la compression. Supposons qu'il n'y ait pas eu de compression et que vous créiez vous-même une vérification de liste. Le but d'une vérification de liste est que vous autorisez uniquement ces valeurs à figurer dans cette colonne. D’autres ont dit qu’ils ne voulaient pas avoir d’autres valeurs que celles-là.
Peu importe si vous concaténez d'autres tables à l'original avec la vérification de liste ou si vous tapez simplement de nouvelles observations dans cette table, cela n'autorisera que ces valeurs car il pense que vous avez défini ces règles dans un but précis, et je n'aimerais pas que le logiciel fonctionne contre mon Définis les règles.
Cela dit, il incombe au créateur de règles de modifier les règles si d'autres valeurs doivent être autorisées à être saisies.
Cela dit, et je suis sûr que vous avez déjà compris ce qui précède, il s'agit d'un comportement prévu, mais pas exactement de ce que vous aimez.
Je vous suggère d'écrire à notre support technique ( support@jmp.com ) pour ajouter une demande d'amélioration pour ajouter une boîte de dialogue de question au cas où l'on concaténerait une liste de données vérifiées (ou compressées) avec une nouvelle table en utilisant l'indicateur "ajouter à la table d'origine". La boîte de dialogue pourrait indiquer quelque chose. comme ceci : "Il y a une vérification de liste active dans la table d'origine. Votre table à concaténer contient des valeurs qui n'y sont pas répertoriées, ces valeurs seront converties en valeurs manquantes après la concaténation. Voulez-vous toujours concaténer ? (Sinon, vous devez d'abord modifier les propriétés de vérification de la liste)" - ou quelque chose de plus court
Pour contourner ce problème, vous avez deux choix : Tout d'abord, créer une nouvelle table que vous compresserez ensuite (vous souhaiterez peut-être que la table de données soit "invisible" jusqu'à ce que la compression soit effectuée). Ou deuxièmement pour modifier ou supprimer la propriété de vérification de liste à l'avance.
J'espère que cela pourra aider,
Martin
Re : Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List CheckDésolé, je ne voulais pas discuter du mot "corrompu", ni essayer d'écarter ce que vous pensez être un bug.
J'essayais d'expliquer ce que tu as. Si vous supprimez la propriété de vérification de liste de la colonne, l'ajout fonctionne comme prévu.
C'est la propriété de vérification de liste qui semble causer la confusion.
Par définition, la propriété de vérification de liste indique que seules les valeurs de la table de vérification de liste sont valides.
Si vous ajoutez ou modifiez une valeur dans la colonne par une valeur qui ne figure pas dans la table de vérification de liste, elle est alors définie comme manquante.
Re : Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List Checkje vraiment Je ne comprends pas l'intérêt de débattre sur la sémantique du mot « corrompu ».La table de données résultante est-elle une concaténation valide des deux tables de données d'origine ?Ce n’est clairement pas le cas.Les enregistrements ont été modifiés malgré une utilisation correcte des fonctionnalités de JMP.Le fait que Concaténer SANS Ajouter à la première table donne un résultat différent (correct) que Concaténer AVEC Ajouter à la première table devrait vous inquiéter.Le fait qu'un client vous signale un bug devrait également vous inquiéter...
Merci,
-Bob
Re : Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List CheckComme l'a dit Martin, le tableau de données n'a pas été "corrompu".
Je suppose que vous voulez dire que le tableau de données résultant n'est pas celui auquel vous vous attendiez. Vous vous attendiez à ce que « B » soit les données de la 4ème ligne.
Si vous regardez la propriété de vérification de liste générée, il y a 2 valeurs, "A" et "C".
Par définition, seuls « A » et « C » sont des données valides pour la colonne.
Puisque « B » n’est pas une valeur valide, elle a été mappée comme manquante.
Compress génère le tableau de vérification de liste en fonction des informations dont il dispose actuellement.
Peut-être que Concat devrait être plus intelligent et étendre le tableau de vérification de la liste.
Vous pouvez également supprimer entièrement la propriété de vérification de liste si toutes les colonnes à concaténer n’ont pas la même propriété de vérification de liste.
Re : Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List CheckMartin,
Merci d'avoir regarder ceci.Ce "B" manquant EST la corruption des données.JMP a introduit une valeur (chaîne vide) qui n'était pas présente avant la concaténation et a supprimé une valeur ("B") qui était présente avant la concaténation.La table n’est donc pas une concaténation valide des deux tables d’origine.S’il s’agissait d’une application métier critique, JMP injecterait une erreur, n’est-ce pas ?
Je comprends comment cela se produit, mais JMP devrait réévaluer les éléments nécessaires dans la vérification de la liste pour garantir que l'ensemble de données concaténé ne supprime/modifie aucune donnée.
Merci,
-Bob
Re : Bug utilisant Concatenate/Append sur des tables ayant des colonnes avec List CheckSalut Robert,
J'ai essayé votre script et je ne vois pas de corruption des données. Je vois juste qu'il y a une quatrième ligne dans dtA sans entrée à cause de la vérification de la liste. Si vous utilisez le menu "table de données" -> "concaténer", puis que les tables A et B et la case à cocher Ajouter à la première table sont cochées ET cochez l'option "Colonne de source de données", vous verrez qu'il y a les données de la table B. , mais non saisi en raison de la vérification de liste, qui est introduite en raison de la compression.

Si ce n'est pas ce que vous voulez dire, comme je n'ai aucun ensemble de données corrompu pour le moment (et je comprendrais que les données corrompues ne sont plus lisibles), aidez-moi à comprendre votre problème. Si vous obtenez vraiment une table de données corrompue que vous ne pouvez plus ouvrir, veuillez envoyer votre question à notre support technique afin qu'elle soit suivie pour notre développement et qu'ils puissent, espérons-le, vous aider à trouver la raison ( Support@jmp.com ).
D'ailleurs. J'ai utilisé JMP 12.1.
Salutations,
Martin