Données manquantes dans la dernière ligne pendant que j'ajoute une nouvelle colonne par boucleSalut à tous,
J'utilise une formule pour ajouter une nouvelle colonne, mais il semble que la cellule de la dernière ligne est vide.
Pouvez-vous aider à vérifier ce qui ne va pas ici?
Je vous remercie.
dt = Open( "$SAMPLE_DATA/Cities.jmp" );
dt << New Column( "test_col_loop",
character,
formula(
For( i = 1, i <= N Rows( dt ), i++,
If( Column( "Region" )[i] == "MW",
Column( "test_col_loop" )[i] = "IsMW",
Column( "test_col_loop" )[i] = "NotMW"
)
)
)
); le résultat est comme ça:
Re: Manquant les données dans la dernière ligne pendant que j'ajoute nouvelle colonne par boucleSauf s'il n'y a pas d'autre choix, évitez d'utiliser une boucle For () dans une colonne de formule.
Dans un tableau de données, la formule est évaluée pour chaque ligne. Dans votre cas, cela signifie que pour chaque ligne de votre table, toute la boucle est exécutée.
Je vous suggèrerais de passer un certain temps à utiliser JMP de manière interactive en ajoutant des formules aux colonnes à l'aide de l'éditeur de formules pour vous assurer de comprendre son fonctionnement avant d'essayer d'ajouter des formules avec des scripts.
La solution fournie par @ Melaniedrake est le bon.
La formule que vous avez ajoutée à la table de données est si inhabituelle et inefficace qu'il n'est pas utile de comprendre pourquoi elle se comporte bizarrement dans la dernière ligne. Même si nous pouvions le comprendre, cela ne serait pas utile.
Re: Manquant les données dans la dernière ligne pendant que j'ajoute nouvelle colonne par boucleJe vous remercie.
Mais parfois, je dois encore ajouter une colonne avec une formule complexe, je prends cet exemple pour simplifier mon problème.
Pouvez-vous aider à dire pourquoi la cellule de la dernière ligne est manquante?
Re: Manquant les données dans la dernière ligne pendant que j'ajoute nouvelle colonne par boucleEssayez cette formule de colonne plus simple:
If( :Region == "MW",
"IsMW",
"NotMW"
)