Ciao,
Ho dati simili come allegato qui sotto. Devo creare una colonna per ciascuna variabile di servizio con formula: Col Sum (Servizio 1, ID, Data di ammissione). Ho quasi 100 diverse variabili di servizio, quindi farlo manualmente è fuori questione. Solo il primo argomento che passo a Col Sum cambierà e per variabili (ID e data di ammissione) rimarrà lo stesso per ogni formula. Esiste un modo per utilizzare lo script JSL per creare colonne e passare dinamicamente la variabile alla funzione e assegnare il nome della colonna con la variabile utilizzata per differenziare l'origine e l'output. Service1_1 sarà una delle colonne di uscita.
Grazie in anticipo.
| ID | Età | Data di ammissione | Data di scarico | Data dell'ordine | Servizio 1 | Servizio 2 | Servizio 3 | Servizio 1_1 |
| 12 | 25 | 13/2/2012 | 1/4/2012 | 1/3/2012 | 0 | 1 | 0 | 1 |
| 12 | 25 | 13/2/2012 | 1/4/2012 | 23/3/2012 | 1 | 1 | 1 | 1 |
| 13 | 17 | 27/8/2015 | 31/10/2015 | 2015/03/09 | 0 | 1 | 1 | 2 |
| 13 | 17 | 27/8/2015 | 31/10/2015 | 17/9/2015 | 1 | 1 | 0 | 2 |
| 13 | 17 | 27/8/2015 | 31/10/2015 | 28/10/2015 | 1 | 0 | 0 | 2 |
| 14 | 45 | 2016/01/01 | 13/2/2016 | 31/1/2016 | 0 | 0 | 1 | 1 |
| 14 | 45 | 2016/01/01 | 13/2/2016 | 2016/08/02 | 1 | 1 | 0 | 1 |
Ecco una sceneggiatura che ritengo possa aiutare
Names Default To Here( 1 );
dt = Current Data Table();
nc = N Cols( dt );
For( i = 6, i <= nc, i++,
Eval(
Substitute(
Expr(
dt << New Column( __newname__,
formula( Col Sum( __oldname__, :ID, :Admission date ) )
)
),
Expr( __newname__ ), Column( i ) << get name || "_1",
Expr( __oldname__ ), Parse( ":" || Char( Column( dt, i ) << get name ) )
)
)
);<BR /><BR />
Inoltre, puoi farlo in modo interattivo usando
Col ==> Nuove colonne
e specifica tutte le nuove colonne di cui hai bisogno. Quindi, inserisci la formula per la prima delle nuove colonne. Infine, seleziona quella colonna e tutte le altre nuove colonne e poi vai a
Col ==> Standardizza attributi
Selezionare
Proprietà colonna ==> Formula
Fare clic sulla casella di controllo "Riferimento colonna sostitutiva"
e quindi fare clic su "OK"
Copierà la formula dalla prima nuova colonna, a tutte le altre colonne, sostituendo la colonna Servizio N