Salut,
J'ai des données similaires comme joint ci-dessous. Je dois créer une colonne pour chacune des variables de service avec la formule : Col Sum (Service 1, ID, Admission date). J'ai près de 100 variables de service différentes, il est donc hors de question de le faire manuellement. Seul le premier argument que je passe à Col Sum changera et par variables (ID et date d'admission) reste le même pour chaque formule. Existe-t-il un moyen d'utiliser le script JSL pour créer des colonnes et transmettre dynamiquement la variable à la fonction et attribuer un nom de colonne avec la variable utilisée pour différencier la source et la sortie. Service1_1 sera l'une des colonnes de sortie.
Merci d'avance.
| IDENTIFIANT | Âge | Date d'admission | Date de sortie | Date de commande | Prestation 1 | Prestation 2 | Prestation 3 | Entretien 1_1 |
| 12 | 25 | 13/2/2012 | 04/01/2012 | 03/01/2012 | 0 | 1 | 0 | 1 |
| 12 | 25 | 13/2/2012 | 04/01/2012 | 23/3/2012 | 1 | 1 | 1 | 1 |
| 13 | 17 | 27/8/2015 | 31/10/2015 | 09/03/2015 | 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 | 01/01/2016 | 13/2/2016 | 31/1/2016 | 0 | 0 | 1 | 1 |
| 14 | 45 | 01/01/2016 | 13/2/2016 | 02/08/2016 | 1 | 1 | 0 | 1 |
Voici un script qui, je pense, vous aidera
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 />
De plus, vous pouvez le faire de manière interactive en utilisant
Col==>Nouvelles colonnes
et spécifiez autant de nouvelles colonnes que nécessaire.Ensuite, saisissez la formule pour la 1ère des nouvelles colonnes.Enfin, sélectionnez cette colonne et toutes les autres nouvelles colonnes, puis accédez à
Col==>Standardiser les attributs
Sélectionner
Propriétés de la colonne==>Formule
Cliquez sur la case à cocher "Remplacer la référence de colonne"
puis cliquez sur "OK"
Il copiera la formule de la première nouvelle colonne dans toutes les autres colonnes, en remplaçant la colonne Service N