Pour un tableau de données contenant plus d'un million de lignes, le filtrage des données est extrêmement lent.
Il faut plusieurs secondes pour
- activer une nouvelle colonne dans le filtre de données
- Saisissez du texte dans le filtre : quelques secondes par caractère !
- supprimer un caractère dans le filtre
Pourquoi?
new table("test", add rows(2000000), new column ("col",Character, Set each value(Char(random integer(2000000)))))
Bonjour @hogi , merci pour votre signalement et d'avoir pris le temps de décrire le problème de latence que vous rencontrez. Nous sommes conscients de ce problème et travaillons à améliorer les performances pour les tables contenant un grand nombre de lignes dans les prochaines versions de JMP. Ce travail s'étalera probablement sur plusieurs versions (l'amélioration des performances prendra du temps et des tests seront nécessaires pour éviter toute régression). Merci de votre compréhension.
Assistance technique JMP.
Ça a l'air super.
Intéressant : il s'agit du nombre d'entrées dans le filtre de données.
Si vous avez une colonne « index » contenant plus d'un million d'entrées, vous pouvez être certain de rencontrer des problèmes de vitesse lors de l'utilisation de cet index dans le filtre de données.
Il n'y a aucun problème pour une table de données comportant seulement 20 000 entrées dans le filtre de données (soit le même nombre de lignes dans la table) :
new table("test", add rows(2000000), new column ("col",Character, Set each value(Char(random integer(20000 // was: 2000000
)))))
Intéressant² et surprenant :
Il est utile d'utiliser une présélection via une colonne auxiliaire. Cela peut servir de solution de contournement en attendant la résolution du problème.
Utilisez une deuxième colonne contenant une version abrégée de la colonne originale.
new table("test", add rows(2000000), new column ("col_long",Character, Set each value(Char(random integer(2000000)))),
new column ("col_short",Character, set each value(left(:col_long,3)))
)
C'est certainement difficile de s'y habituer, mais c'est beaucoup plus rapide que d'utiliser une seule colonne :
[« 54321 » est tapé à la même vitesse avec l’option « conditionnelle » activée et désactivée]