JMP Tabula per elenco di nomi di colonne in JSLCiao,
Ho una tabella e voglio tabularla per colonna "studente", colonna "soggetto" e colonna "classe" ma la colonna "Soggetto" e la colonna "classe" non sono necessarie per essere disponibili nei dati.
Se ha la colonna "soggetto" ma non la colonna "classe", dovrebbe essere tabulato per colonna "studente" e colonna "soggetto".
Se ha la colonna "classe" ma non la colonna "soggetto", dovrebbe essere tabulato per colonna "studente" e colonna "classe".
Se ha tutte le colonne, dovrebbe essere tabulato per tutte e tre le colonne. Di seguito sono riportati alcuni esempi.
Esempio 1: (Ha sia la colonna "soggetto" che la colonna "classe")
Ingresso:
| Classe | Alunno | Segni | Soggetto |
| 1 | UN | 10 | Matematica |
| 2 | UN | 15 | Scienza |
| 3 | UN | 12 | Scienza |
| 1 | B | 15 | Matematica |
| 2 | B | 12 | Scienza |
Produzione:
| Classe | Alunno | Soggetto | max(Marchi) |
| 1 | UN | Matematica | 10 |
| 2 | UN | Scienza | 15 |
| 3 | UN | Scienza | 12 |
| 1 | B | Matematica | 15 |
| 2 | B | Scienza | 12 |
Esempio 2: (ha la colonna "Classe" ma non la colonna "soggetto")
Ingresso:
| Classe | Alunno | Segni |
| 1 | UN | 10 |
| 2 | UN | 15 |
| 3 | UN | 12 |
| 1 | B | 15 |
| 2 | B | 12 |
Produzione:
| Classe | Alunno | max(Marchi) |
| 1 | UN | 10 |
| 2 | UN | 15 |
| 3 | UN | 12 |
| 1 | B | 15 |
| 2 | B | 12 |
Esempio 3: (ha la colonna "oggetto" ma non la colonna "classe")
Ingresso:
| Alunno | Segni | Soggetto |
| UN | 10 | Matematica |
| UN | 15 | Scienza |
| UN | 12 | Scienza |
| B | 15 | Matematica |
| B | 12 | Scienza |
Produzione:
| Alunno | Soggetto | max(Marchi) |
| UN | Matematica | 10 |
| UN | Scienza | 15 |
| B | Matematica | 15 |
| B | Scienza | 12 |
Per favore aiutami a risolvere questo problema.
Grazie
Oggetto: JMP Tabula in base all'elenco dei nomi delle colonne in JSLGrazie @tsnelsonOggetto: JMP Tabula in base all'elenco dei nomi delle colonne in JSLE 'questo quello che stai cercando???
names default to here(1);
dt=current data table();
// The list of columns to look for
theList={"Class","Student","Subject", "xxxxxx","xxxxxx"};
allColList = dt << get column names(string);
// Remove any columns from theList that are not in the data table
For(i=n items(theList),i>=1, i--,
If(n rows(loc(allColList,theList[i]))==0,
remove from(theList,i,1)
)
);
// Run the tabulate
Tabulate(
Show Control Panel( 0 ),
Add Table(
Column Table( Analysis Columns( :Marks ), Statistics( Max ) ),
Row Table( Grouping Columns( eval(theList) ) )
)
);
Se le diverse colonne di destinazione svolgono ruoli diversi dalle colonne di raggruppamento, sarà necessario sviluppare il codice tenendo conto della diversa sintassi di input richiesta.
Oggetto: JMP Tabula in base all'elenco dei nomi delle colonne in JSL@txnelson Ho 5 colonne come Colonna "Classe" e Colonna "Soggetto" che possono essere presenti o meno nei dati. Ora per tabulare devo fornire tutte le permutazioni delle condizioni IF e ognuna avrebbe un codice di tabulazione separato. Renderà il codice troppo disordinato.
Invece se possiamo farlo con una singola funzione Tabula in cui diamo tutto l'elenco di colonne e ci vorranno solo quelle colonne che sono disponibili nei dati.
GrazieOggetto: JMP Tabula in base all'elenco dei nomi delle colonne in JSLCondensare il codice Tabulate in un set di codice renderebbe il codice molto più complesso.
Quando dici di avere molte più colonne, puoi spiegare ulteriormente?
Oggetto: JMP Tabula in base all'elenco dei nomi delle colonne in JSL@txnelson Grazie per la risposta.
Possiamo risolvere questo problema con un singolo blocco di tabulate script perché nel mio set di dati originale ho molte di queste colonne.Oggetto: JMP Tabula in base all'elenco dei nomi delle colonne in JSLEsegui ciascuno dei 3 scenari su una tabella di dati di esempio, salvando ciascuno degli script da ogni esecuzione, in una finestra di script.Quindi prendi ciascuno degli script appropriati e inseriscili nel seguente script nella posizione designata
names default to here(1);
dt= current data table();
colNames = dt << get column names(string);
// Here is the IF() structure to add in the tabulate code to
If( N Rows(loc(colNames, "Subject" ) ) > 0 & N Rows(loc(colNames, "Class" ) ) > 0,
// Add in the tabulate code that has Student, Subject and Class
,
N Rows(loc(colNames, "Subject" ) ) > 0,
// Add in the tablulate code that has just Student and Subject
,
N Rows(loc(colNames, "Class" ) ) > 0,
// Add in the tablulate code that has just Student and Class
);