| sujet |
approche standard |
approches plus rapides/optimisées |
| Général |
|
|
|
| apprendre le scripting |
essais et erreurs |
regardez les enregistrements des réunions du JSL Scripters Club |
|
| |
|
|
|
| Importation de données |
|
|
|
| ouvrir plusieurs fichiers de données |
utiliser open() (à l'intérieur d'une boucle pour ) |
utiliser MFI (lecteur csv plus rapide !) |
Ouvrir plusieurs fichiers |
| obtenir une liste de fichiers |
générer la liste des fichiers - via Python, invite de commande, etc. et la coller dans une nouvelle table JMP |
IMF → clic droit sur la liste des fichiers → Transformer en tableau de données |
|
| rechercher un fichier dans une arborescence réseau profonde/compliquée |
utiliser la boîte de dialogue MFI ou Windows Déposer |
créer un wrapper pour Python/GLOB |
|
| |
|
|
|
| Tableaux de données |
|
|
|
| modifier les entrées de colonne |
étape par étape via la boucle de coulée |
abonnement aux tables de données |
Inscription aux tables de données |
| |
... |
dt << début/fin de la mise à jour des données ; avant/après la boucle |
Comportement de boucle très lent |
| ajouter des colonnes à une table de données |
fusionner les tables de données via Tables/ Mise à jour |
first aggregate via Tables/Résumé, then merge via Tables/Mise à jour |
Accélérer les tables/Mise à jour |
agrégation de colonnes avec des restrictions |
with a comparaison de caractères Col(if(... gets very (!!!) slow:
col Max( if(:sex=="M", ...) |
a) utilisez si(:sexe==1,...) |
Comment-utiliser-la-formule-Col-Maximum-avec-un-où (corrigé dans la V19) |
| |
... |
b) replace :sex=="M"<BR />with contains(:sex,"M") |
Comment-utiliser-la-formule-Col-Maximum-avec-un-où |
| compter les mots |
par exemple compter xxx dans :col: N lignes(loc(mots(:col),"xxx")) |
(Length(:col)- Length(Substitute(:col, "xxx", "")) )/3
|
Compter le nombre d'occurrences de mots spécifiques dans une chaîne |
| rang unique |
New Column( "rank_unique", Formula( Col Minimum( Col Rank( If( Row() == Col Min( Row(), :age, :sex ), 1 ), :age ), :age,:sex)) |
Col Score(:âge, :sexe) (v19) |
Ajoutez un classement dense aux fonctions de classement des liens et des rangs des colonels |
| Recode |
peut être très lent en combinaison avec d'autres options |
appliquer l'option dans une deuxième étape |
Recoder - Analyser comme un nombre |
| remplacer les valeurs par d'autres valeurs |
boucle for ou Recode |
utiliser l'abonnement DataTable |
Remplacer les valeurs manquantes par 0 Devez-vous parcourir une table de données ou utiliser Recode, ou utiliser Get Rows pour modifier les valeurs dans une table de données |
| sélectionner des lignes en fonction d'une formule |
Si dt << select where() est trop lent ... divisez-le en 2 étapes : |
myrows= dt << obtenir les lignes où(); dt << sélectionner les lignes(myrows) |
Formule permettant de vérifier si l'un des éléments d'une liste est contenu dans les lignes d'une colonne |
| calculs de spécifications |
un peu de code JSL manuel |
soutenez ce souhait avec un Kudo : |
:folded_hands: est dans les spécifications (valeur) |
| |
|
|
|
| Graphiques |
|
|
|
| |
|
|
|
| |
|
|
|
| Rapports |
|
|
|
| |
|
|
|
| |
|
|
|
| Exporter |
|
|
|
| |
|
|
|
| |
|
|
|
| |
|
|
|
| Accès à la base de données |
|
|
|
| |
|
|
|
| |
|
|
|
| |
|
|
|
| Réseaux neuronaux |
|
|
|
| |
|
|
|
| |
|
|
|
| |
|
|
|
| ... |
|
|
|
| |
|
|
|