Script per sommare le colonne con lo stesso pungiglioneSto cercando di creare uno script per aggiungere una colonna matematica per sommare più colonne con lo stesso suffisso in una tabella di big data. E queste colonne hanno un carattere speciale, ad esempio %,[,],ecc., che ha rotto alcune soluzioni esistenti nel forum.
Per esempio,
Su 100 colonne, ci sono 4 colonne denominate: Class0 Percent%, Class1 Percent%, Class2 Percent%, Class3 Percent%
Ecco uno script che ho tentato di scrivere:
dt = Current Data Table();
col_list = dt << get column names( string );
For( i = N Items( col_list ), i > 0, i--,
If( !Contains( col_list[i], "Percent%" ),
Remove From( col_list, i )
)
);
new_formula = "SUM(";
For( i = N Items( col_list ), i > 0, i--,
new_formula = new_formula || "\[:Name( "]\" || col_list[i] || "\["), ]\";
);
new_formula = new_formula || ")";
dt << New Column( "Sum Class",
Numeric,
Continuous,
Formula( Name Expr( new_formula ) )
);
E la formula del risultato è:
"SOMMA(:Nome( \!"Classe3 Percent%\!"), :Nome( \!"Classe2 Percent%\!"), :Nome( \!"Classe1 Percent%\!"), :Nome( \!"Class0 Percent%\!"), )"
Come posso sbarazzarmi di \! ?? Grazie!
Re: Script per sommare le colonne con lo stesso stingGrazie Jim per il tuo continuo supporto!
Ho aggiunto/modificato quanto segue in grassetto e funziona:
nuova_formula_finale = Analizza(nuova_formula);
dt << Nuova colonna( "Classe somma",
Numerico,
Continuo,
Formato( "Fixed Dec", 8, 2 ),
Formula( Nome Espr( nuova_formula_finale ) )
)
);
Re: Script per sommare le colonne con lo stesso stingSe Parse() la stringa, rimuoverà le virgolette esterne
Re: Script per sommare le colonne con lo stesso stingForse la mia domanda non era chiara.
Il problema è che la formula della colonna è finita con l'intera stringa come a carattere colonna. Ma sto cercando di creare una formula matematica:
SOMMA(:Nome( "Percentuale Classe3"), :Nome("Percentuale Classe2"), :Nome( "Percentuale Classe1"), :Nome( "Percentuale Classe0"), )
Come posso correggere il mio script per ottenere una formula matematica corretta? Grazie!
Re: Script per sommare le colonne con lo stesso stingNon vuoi sbarazzarti di \!". \! è il carattere excape di JMP.Poiché il codice che hai fornito è una stringa, le virgolette doppie che si trovano all'interno della stringa devono avere il carattere excape davanti a ciascuna virgoletta doppia.Quando esegui la stringa, JMP tratterà correttamente il \!"