Riepilogo del numero sconosciuto di colonne<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao,
Vorrei creare un riepilogo di tutte le colonne in una tabella di dati generica, in cui il numero di colonne è sconosciuto.
Di seguito è riportato un esempio per una tabella di dati noti. Qualche suggerimento per un numero sconosciuto di colonne?
Grazie,
rapinare
dt = Open ("$ SAMPLE_DATA / Big Class.JMP");
dtsum1 = dt << Sommario (N (: nome), N (: età), N (: sesso), N (: altezza), N (: peso));
Ri: Riepilogo del numero sconosciuto di colonneMolto elegante. Grazie!
Ri: Riepilogo del numero sconosciuto di colonneIl riepilogo accetta un elenco di colonne come argomento. Quindi anche questo oneliner funziona!
dt = Aperto ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt << Sommario ( N ( dt << ottieni i nomi delle colonne )) ;
Ri: Riepilogo del numero sconosciuto di colonneEntrambe le soluzioni funzionano alla grande. Grazie!
Ri: Riepilogo del numero sconosciuto di colonneSuggerisco di creare un'espressione e quindi di inserire riferimenti a ogni colonna:
dt = Open ("$ SAMPLE_DATA / Big Class.JMP");
summaryexpr = Expr (Summary ());
for (i = 1, i <= ncol (dt), i ++,
InsertInto (summaryexpr, inserire (espressione (N ()), colonna (i)))
);
eval (sostituto (espressione (dt << comando), expr (comando), summaryexpr));
A meno che non si passi da una tabella di dati all'altra, è possibile semplificare l'ultima riga semplicemente eseguendo 'summaryexpr' piuttosto che aggiungerla come comando a 'dt'.
Ri: Riepilogo del numero sconosciuto di colonneProbabilmente c'è un modo più semplice, ma in situazioni come questa io creo il codice dinamico e poi lo eseguo:
dt = Aperto ( "$ SAMPLE_DATA / Big Class.JMP" ) ;
dt_cols = dt << ottieni i nomi delle colonne ( stringa ) ;
per ( io = 1 , io <= nitems ( dt_cols ) , io ++,
Se ( io == 1 ,
n_expr = "dtsum1 = dt << Summary (N (: name (\!" " ||
dt_cols [ io ] || "\"))" ;
,
n_expr = n_expr || ", N (: name (\!" " || dt_cols [ io ] || "\"))" ;
) ;
) ;
n_expr = n_expr || ")" ;
eval ( analizzare ( n_expr )) ;