Résumé du nombre inconnu de colonnes<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Salut,
J'aimerais créer un résumé de toutes les colonnes d'une table de données générique, où le nombre de colonnes est inconnu.
Vous trouverez ci-dessous un exemple de table de données connue. Des suggestions pour un nombre inconnu de colonnes?
Merci,
Rob
dt = Open ("$ SAMPLE_DATA / Big Class.JMP");
dtsum1 = dt << Résumé (N (: nom), N (: âge), N (: sexe), N (: taille), N (: poids));
Re: Résumé du nombre inconnu de colonnesTrès élégant. Merci!
Re: Résumé du nombre inconnu de colonnesSummary accepte une liste de colonnes en tant qu'argument. Donc, cet oneliner fonctionne aussi!
dt = Ouvrir ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt << Résumé ( N ( dt << obtenir des noms de colonnes )) ;
Re: Résumé du nombre inconnu de colonnesLes deux solutions fonctionnent très bien. Merci!
Re: Résumé du nombre inconnu de colonnesJe suggère de construire une expression et d'insérer des références à chaque colonne:
dt = Open ("$ SAMPLE_DATA / Big Class.JMP");
summaryexpr = Expr (Summary ());
pour (i = 1, i <= ncol (dt), i ++,
insertinto (summaryexpr, insert (expr (N ()), colonne (i)))
)
eval (substitute (expr (dt << commande), expr (commande), summaryexpr));
Sauf si vous passez d'une table de données à une autre, vous pouvez simplifier la dernière ligne en exécutant simplement 'summaryexpr' plutôt que de l'ajouter en tant que commande à 'dt'.
Re: Résumé du nombre inconnu de colonnesIl y a probablement une méthode plus simple, mais dans des situations comme celle-ci, je crée un code dynamique, puis je l'exécute:
dt = Ouvrir ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt_cols = dt << obtenir des noms de colonnes ( chaîne ) ;
pour ( je = 1 , je <= nitems ( dt_cols ) , je ++,
si ( je == 1 ,
n_expr = "dtsum1 = dt << Résumé (N (: nom (\!" " ||
dt_cols [ je ] || "\!")) " ;
,
n_expr = n_expr || ", N (: nom (\!" " || dt_cols [ je ] || "\!")) " ;
) ;
) ;
n_expr = n_expr || ")" ;
eval ( analyser ( n_expr )) ;